Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_eipam-create-network-role-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-network-role-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="false"/>\r
12                 <parameter name="eipam-pool.v6.pre-existing" value="false"/>\r
13                 <parameter name="tmp.v4-level1-key-name" value="LOCATION_CLLI8:CLOUD_REGION_ID" />\r
14                 <parameter name="tmp.v4-level2-key-name" value="NETWORK_ROLE:NETWORK_ID" />\r
15                 <parameter name="tmp.v6-level1-key-name" value="LOCATION_CLLI8:CLOUD_REGION_ID" />\r
16                 <parameter name="tmp.v6-level2-key-name" value="NETWORK_ROLE:NETWORK_ID" />\r
17             </set>\r
18             <switch test="`$tmp.region`">\r
19                 <outcome value="USA">\r
20                     <set>\r
21                         <parameter name="tmp.region" value="US" />\r
22                     </set>\r
23                 </outcome>\r
24             </switch>\r
25             <switch test="`$network-model.use-ipv4`">\r
26                 <outcome value='Y'>\r
27                     <block atomic='true'>\r
28                         <switch test="`$eipam-ip-block.level`">\r
29                             <outcome value='1'>\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 = 1 and key_value = $tmp.level1-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-network-role-pool"/>\r
49                                                 <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
50                                                 <parameter name="field5" value="`$tmp.level1-key-value`"/>\r
51                                                 <parameter name="field6" value="Level 1 already exists, SKIP."/>\r
52                                                 <parameter name="field7" value="`$tmp.eipam-pool-row.pool-id`"/>\r
53                                             </record>\r
54                                             <set>\r
55                                                 <parameter name="eipam-pool.v4.pre-existing" value="true"/>\r
56                                             </set>\r
57                                         </block>\r
58                                     </outcome>\r
59                                     <outcome value="not-found">\r
60                                         <block atomic='true'>\r
61                                             <switch test="`$network-model.eipam-v4-address-plan`">\r
62                                                 <outcome value="AIC_ATM_UNPROTECTED_V4">\r
63                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
64                                                     <set>\r
65                                                         <parameter name="tmp.qip-pool" value="`'ATM-U ' + $tmp.region`"/>\r
66                                                     </set>\r
67                                                 </outcome>\r
68                                                 <outcome value="AIC_DATA_PLANE_UNPROTECTED_V4">\r
69                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
70                                                     <set>\r
71                                                         <parameter name="tmp.qip-pool" value="`'DP-U ' + $tmp.region`"/>\r
72                                                     </set>\r
73                                                 </outcome>\r
74                                                 <outcome value="AIC_DATA_PLANE_PRIVATE_V4">\r
75                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
76                                                     <set>\r
77                                                         <parameter name="tmp.qip-pool" value="`'DP-Private ' + $tmp.region`"/>\r
78                                                     </set>\r
79                                                 </outcome>\r
80                                                 <outcome value="AIC_ATM_PROTECTED_V4">\r
81                                                     <set>\r
82                                                         <parameter name="tmp.qip-pool" value="`'ATM-P ' + $tmp.region`"/>\r
83                                                     </set>\r
84                                                 </outcome>\r
85                                                 <outcome value="AIC_DATA_PLANE_PROTECTED_V4">\r
86                                                     <set>\r
87                                                         <parameter name="tmp.qip-pool" value="`'DP-P ' + $tmp.region`"/>\r
88                                                     </set>\r
89                                                 </outcome>\r
90                                                 <outcome value="AIC_AIM_LANDING_NETWORK_V4">\r
91                                                     <set>\r
92                                                         <parameter name="tmp.qip-pool" value="`'AIC-AIM-LANDING-V4 ' + $tmp.region`"/>\r
93                                                     </set>\r
94                                                 </outcome>\r
95                                                 <outcome value='Other'>\r
96                                                     <return status="failure">\r
97                                                         <parameter name="tmp.eipam-error" value="true" />\r
98                                                         <parameter name="error-code" value="500"/>\r
99                                                         <parameter name="error-message" value="EIPAM Address Plan is not valid." />\r
100                                                     </return>\r
101                                                 </outcome>\r
102                                             </switch>\r
103                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
104                                             <set>\r
105                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
106                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="N"/>\r
107                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value="`$tmp.qip-pool`"/>\r
108                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
109                                                 <!-- Number of Pool Levels -->\r
110                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="1"/>\r
111                                                 <!-- Level 1 -->\r
112                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-name" value="`$tmp.v4-level1-key-name`"/>\r
113                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-value" value="`$tmp.level1-key-value`"/>\r
114                                                 <parameter name="tmp.create-v4-pool-flag" value="Y" />\r
115                                                 <parameter name="tmp.v4-qip-pool" value="`$tmp.qip-pool`" />\r
116                                             </set>\r
117                                             <switch test="`$eipam-ip-block.level`">\r
118                                                 <outcome value=''>\r
119                                                     <return status="failure">\r
120                                                         <parameter name="tmp.eipam-error" value="true" />\r
121                                                         <parameter name="error-code" value="500"/>\r
122                                                         <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
123                                                     </return>\r
124                                                 </outcome>\r
125                                                 <outcome value='2'>\r
126                                                     <set>\r
127                                                         <!-- Number of Pool Levels -->\r
128                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
129                                                         <!-- Level 2 -->\r
130                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value=""/>\r
131                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-name" value="`$tmp.v4-level2-key-name`"/>\r
132                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-value" value="`$tmp.level2-key-value`"/>\r
133                                                     </set>\r
134                                                 </outcome>\r
135                                                 <outcome value='Other'></outcome>\r
136                                             </switch>\r
137                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
138                                                 <parameter name="logger" value="message-log"/>\r
139                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
140                                                 <parameter name="field2" value="network-topology-operation"/>\r
141                                                 <parameter name="field3" value="eipam-create-network-role-pool"/>\r
142                                                 <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
143                                                 <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-name`"/>\r
144                                                 <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-value`"/>\r
145                                                 <parameter name="field7" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-name`"/>\r
146                                                 <parameter name="field8" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-value`"/>\r
147                                             </record>\r
148                                             <set>\r
149                                                 <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
150                                             </set>\r
151                                         </block>\r
152                                     </outcome>\r
153                                 </get-resource>\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='2'>\r
163                                 <block atomic='true'>\r
164                                     <switch test="`$network-model.eipam-v4-address-plan`">\r
165                                         <outcome value="AIC_ATM_UNPROTECTED_V4">\r
166                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
167                                             <set>\r
168                                                 <parameter name="tmp.qip-pool" value="`'ATM-U ' + $tmp.region`"/>\r
169                                             </set>\r
170                                         </outcome>\r
171                                         <outcome value="AIC_DATA_PLANE_UNPROTECTED_V4">\r
172                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
173                                             <set>\r
174                                                 <parameter name="tmp.qip-pool" value="`'DP-U ' + $tmp.region`"/>\r
175                                             </set>\r
176                                         </outcome>\r
177                                         <outcome value="AIC_DATA_PLANE_PRIVATE_V4">\r
178                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
179                                             <set>\r
180                                                 <parameter name="tmp.qip-pool" value="`'DP-Private ' + $tmp.region`"/>\r
181                                             </set>\r
182                                         </outcome>\r
183                                         <outcome value="AIC_ATM_PROTECTED_V4">\r
184                                             <set>\r
185                                                 <parameter name="tmp.qip-pool" value="`'ATM-P ' + $tmp.region`"/>\r
186                                             </set>\r
187                                         </outcome>\r
188                                         <outcome value="AIC_DATA_PLANE_PROTECTED_V4">\r
189                                             <set>\r
190                                                 <parameter name="tmp.qip-pool" value="`'DP-P ' + $tmp.region`"/>\r
191                                             </set>\r
192                                         </outcome>\r
193                                         <outcome value="AIC_AIM_LANDING_NETWORK_V4">\r
194                                             <set>\r
195                                                 <parameter name="tmp.qip-pool" value="`'AIC-AIM-LANDING-V4 ' + $tmp.region`"/>\r
196                                             </set>\r
197                                         </outcome>\r
198                                         <outcome value='Other'>\r
199                                             <return status="failure">\r
200                                                 <parameter name="tmp.eipam-error" value="true" />\r
201                                                 <parameter name="error-code" value="500"/>\r
202                                                 <parameter name="error-message" value="EIPAM Address Plan is not valid." />\r
203                                             </return>\r
204                                         </outcome>\r
205                                     </switch>\r
206                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
207                                     <set>\r
208                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
209                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="N"/>\r
210                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value="`$tmp.qip-pool`"/>\r
211                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
212                                         <!-- Number of Pool Levels -->\r
213                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="1"/>\r
214                                         <!-- Level 1 -->\r
215                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-name" value="`$tmp.v4-level1-key-name`"/>\r
216                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-value" value="`$tmp.level1-key-value`"/>\r
217                                         <parameter name="tmp.create-v4-pool-flag" value="Y" />\r
218                                         <parameter name="tmp.v4-qip-pool" value="`$tmp.qip-pool`" />\r
219                                     </set>\r
220                                     <switch test="`$eipam-ip-block.level`">\r
221                                         <outcome value=''>\r
222                                             <return status="failure">\r
223                                                 <parameter name="tmp.eipam-error" value="true" />\r
224                                                 <parameter name="error-code" value="500"/>\r
225                                                 <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
226                                             </return>\r
227                                         </outcome>\r
228                                         <outcome value='2'>\r
229                                             <set>\r
230                                                 <!-- Number of Pool Levels -->\r
231                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
232                                                 <!-- Level 2 -->\r
233                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value=""/>\r
234                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-name" value="`$tmp.v4-level2-key-name`"/>\r
235                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-value" value="`$tmp.level2-key-value`"/>\r
236                                             </set>\r
237                                         </outcome>\r
238                                         <outcome value='Other'></outcome>\r
239                                     </switch>\r
240                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
241                                         <parameter name="logger" value="message-log"/>\r
242                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
243                                         <parameter name="field2" value="network-topology-operation"/>\r
244                                         <parameter name="field3" value="eipam-create-network-role-pool"/>\r
245                                         <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
246                                         <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-name`"/>\r
247                                         <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-value`"/>\r
248                                         <parameter name="field7" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-name`"/>\r
249                                         <parameter name="field8" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-value`"/>\r
250                                     </record>\r
251                                     <set>\r
252                                         <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
253                                     </set>\r
254                                 </block>\r
255                             </outcome>\r
256                         </switch>\r
257                     </block>\r
258                 </outcome>\r
259                 <outcome value=""></outcome>\r
260                 <outcome value='N'></outcome>\r
261             </switch>\r
262             <switch test="`$network-model.use-ipv6`">\r
263                 <outcome value='Y'>\r
264                     <block atomic='true'>\r
265                         <switch test="`$eipam-ip-block.level`">\r
266                             <outcome value='1'>\r
267                                 <get-resource\r
268         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
269         resource='SQL'\r
270         key="SELECT * FROM EIPAM_IP_POOLS where plan_name = $network-model.eipam-v6-address-plan and level = 1 and key_value = $tmp.level1-key-value ;"\r
271         pfx='tmp.eipam-pool-row'>\r
272                                     <outcome value='failure'>\r
273                                         <return status="failure">\r
274                                             <parameter name="tmp.eipam-error" value="true" />\r
275                                             <parameter name="error-code" value="500"/>\r
276                                             <parameter name="error-message" value="Query to DB table EIPAM_IP_POOLS failed." />\r
277                                         </return>\r
278                                     </outcome>\r
279                                     <outcome value='success'>\r
280                                         <block atomic='true'>\r
281                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
282                                                 <parameter name="logger" value="message-log"/>\r
283                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
284                                                 <parameter name="field2" value="network-topology-operation"/>\r
285                                                 <parameter name="field3" value="eipam-create-network-role-pool"/>\r
286                                                 <parameter name="field4" value="`$network-model.eipam-v6-address-plan`"/>\r
287                                                 <parameter name="field5" value="`$tmp.level1-key-value`"/>\r
288                                                 <parameter name="field6" value="Level 1 already exists, SKIP."/>\r
289                                                 <parameter name="field7" value="`$tmp.eipam-pool-row.pool-id`"/>\r
290                                             </record>\r
291                                             <set>\r
292                                                 <parameter name="eipam-pool.v6.pre-existing" value="true"/>\r
293                                             </set>\r
294                                         </block>\r
295                                     </outcome>\r
296                                     <outcome value="not-found">\r
297                                         <block atomic='true'>\r
298                                             <switch test="`$network-model.eipam-v6-address-plan`">\r
299                                                 <outcome value="AIC_ATM_UNPROTECTED_V6">\r
300                                                     <set>\r
301                                                         <parameter name="tmp.qip-pool" value="`'ATM-U-V6 ' + $tmp.region`"/>\r
302                                                     </set>\r
303                                                 </outcome>\r
304                                                 <outcome value="AIC_AIM_LANDING_NETWORK_V6">\r
305                                                     <set>\r
306                                                         <parameter name="tmp.qip-pool" value="`'AIC-AIM-LANDING-V6 ' + $tmp.region`"/>\r
307                                                     </set>\r
308                                                 </outcome>\r
309                                                 <outcome value="AIC_ATM_PROTECTED_V6">\r
310                                                     <set>\r
311                                                         <parameter name="tmp.qip-pool" value="`'ATM-P-V6 ' + $tmp.region`"/>\r
312                                                     </set>\r
313                                                 </outcome>\r
314                                                 <outcome value="AIC_DATA_PLANE_UNPROTECTED_V6">\r
315                                                     <set>\r
316                                                         <parameter name="tmp.qip-pool" value="`'AIC-DP-U-V6 ' + $tmp.region`"/>\r
317                                                     </set>\r
318                                                 </outcome>\r
319                                                 <outcome value="AIC_DATA_PLANE_PRIVATE_V6">\r
320                                                     <set>\r
321                                                         <parameter name="tmp.qip-pool" value="`'AIC-DP-Private-V6 ' + $tmp.region`"/>\r
322                                                     </set>\r
323                                                 </outcome>\r
324                                                 <outcome value="AIC_DATA_PLANE_PROTECTED_V6">\r
325                                                     <set>\r
326                                                         <parameter name="tmp.qip-pool" value="`'AIC-DP-P-V6 ' + $tmp.region`"/>\r
327                                                     </set>\r
328                                                 </outcome>\r
329                                                 <outcome value='Other'>\r
330                                                     <return status="failure">\r
331                                                         <parameter name="tmp.eipam-error" value="true" />\r
332                                                         <parameter name="error-code" value="500"/>\r
333                                                         <parameter name="error-message" value="EIPAM Address Plan is not valid." />\r
334                                                     </return>\r
335                                                 </outcome>\r
336                                             </switch>\r
337                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
338                                             <set>\r
339                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
340                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="N"/>\r
341                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value="`$tmp.qip-pool`"/>\r
342                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
343                                                 <!-- Number of Pool Levels -->\r
344                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="1"/>\r
345                                                 <!-- Level 1 -->\r
346                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-name" value="`$tmp.v6-level1-key-name`"/>\r
347                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-value" value="`$tmp.level1-key-value`"/>\r
348                                                 <parameter name="tmp.create-v6-pool-flag" value="Y" />\r
349                                                 <parameter name="tmp.v6-qip-pool" value="`$tmp.qip-pool`" />\r
350                                             </set>\r
351                                             <switch test="`$eipam-ip-block.level`">\r
352                                                 <outcome value=''>\r
353                                                     <return status="failure">\r
354                                                         <parameter name="tmp.eipam-error" value="true" />\r
355                                                         <parameter name="error-code" value="500"/>\r
356                                                         <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
357                                                     </return>\r
358                                                 </outcome>\r
359                                                 <outcome value='2'>\r
360                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
361                                                     <set>\r
362                                                         <!-- Number of Pool Levels -->\r
363                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
364                                                         <!-- Level 2 -->\r
365                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value=""/>\r
366                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-name" value="`$tmp.v6-level2-key-name`"/>\r
367                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-value" value="`$tmp.level2-key-value`"/>\r
368                                                     </set>\r
369                                                 </outcome>\r
370                                                 <outcome value='Other'></outcome>\r
371                                             </switch>\r
372                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
373                                                 <parameter name="logger" value="message-log"/>\r
374                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
375                                                 <parameter name="field2" value="network-topology-operation"/>\r
376                                                 <parameter name="field3" value="eipam-create-network-role-pool"/>\r
377                                                 <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
378                                                 <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-name`"/>\r
379                                                 <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-value`"/>\r
380                                                 <parameter name="field7" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-name`"/>\r
381                                                 <parameter name="field8" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-value`"/>\r
382                                             </record>\r
383                                             <set>\r
384                                                 <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
385                                             </set>\r
386                                         </block>\r
387                                     </outcome>\r
388                                 </get-resource>\r
389                             </outcome>\r
390                             <outcome value=''>\r
391                                 <return status="failure">\r
392                                     <parameter name="tmp.eipam-error" value="true" />\r
393                                     <parameter name="error-code" value="500"/>\r
394                                     <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
395                                 </return>\r
396                             </outcome>\r
397                             <outcome value='2'>\r
398                                 <block atomic='true'>\r
399                                     <switch test="`$network-model.eipam-v6-address-plan`">\r
400                                         <outcome value="AIC_ATM_UNPROTECTED_V6">\r
401                                             <set>\r
402                                                 <parameter name="tmp.qip-pool" value="`'ATM-U-V6 ' + $tmp.region`"/>\r
403                                             </set>\r
404                                         </outcome>\r
405                                         <outcome value="AIC_AIM_LANDING_NETWORK_V6">\r
406                                             <set>\r
407                                                 <parameter name="tmp.qip-pool" value="`'AIC-AIM-LANDING-V6 ' + $tmp.region`"/>\r
408                                             </set>\r
409                                         </outcome>\r
410                                         <outcome value="AIC_ATM_PROTECTED_V6">\r
411                                             <set>\r
412                                                 <parameter name="tmp.qip-pool" value="`'ATM-P-V6 ' + $tmp.region`"/>\r
413                                             </set>\r
414                                         </outcome>\r
415                                         <outcome value="AIC_DATA_PLANE_UNPROTECTED_V6">\r
416                                             <set>\r
417                                                 <parameter name="tmp.qip-pool" value="`'AIC-DP-U-V6 ' + $tmp.region`"/>\r
418                                             </set>\r
419                                         </outcome>\r
420                                         <outcome value="AIC_DATA_PLANE_PRIVATE_V6">\r
421                                             <set>\r
422                                                 <parameter name="tmp.qip-pool" value="`'AIC-DP-Private-V6 ' + $tmp.region`"/>\r
423                                             </set>\r
424                                         </outcome>\r
425                                         <outcome value="AIC_DATA_PLANE_PROTECTED_V6">\r
426                                             <set>\r
427                                                 <parameter name="tmp.qip-pool" value="`'AIC-DP-P-V6 ' + $tmp.region`"/>\r
428                                             </set>\r
429                                         </outcome>\r
430                                         <outcome value='Other'>\r
431                                             <return status="failure">\r
432                                                 <parameter name="tmp.eipam-error" value="true" />\r
433                                                 <parameter name="error-code" value="500"/>\r
434                                                 <parameter name="error-message" value="EIPAM Address Plan is not valid." />\r
435                                             </return>\r
436                                         </outcome>\r
437                                     </switch>\r
438                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
439                                     <set>\r
440                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
441                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="N"/>\r
442                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value="`$tmp.qip-pool`"/>\r
443                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
444                                         <!-- Number of Pool Levels -->\r
445                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="1"/>\r
446                                         <!-- Level 1 -->\r
447                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-name" value="`$tmp.v6-level1-key-name`"/>\r
448                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-value" value="`$tmp.level1-key-value`"/>\r
449                                         <parameter name="tmp.create-v6-pool-flag" value="Y" />\r
450                                         <parameter name="tmp.v6-qip-pool" value="`$tmp.qip-pool`" />\r
451                                     </set>\r
452                                     <switch test="`$eipam-ip-block.level`">\r
453                                         <outcome value=''>\r
454                                             <return status="failure">\r
455                                                 <parameter name="tmp.eipam-error" value="true" />\r
456                                                 <parameter name="error-code" value="500"/>\r
457                                                 <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
458                                             </return>\r
459                                         </outcome>\r
460                                         <outcome value='2'>\r
461                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
462                                             <set>\r
463                                                 <!-- Number of Pool Levels -->\r
464                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
465                                                 <!-- Level 2 -->\r
466                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value=""/>\r
467                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-name" value="`$tmp.v6-level2-key-name`"/>\r
468                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-value" value="`$tmp.level2-key-value`"/>\r
469                                             </set>\r
470                                         </outcome>\r
471                                         <outcome value='Other'></outcome>\r
472                                     </switch>\r
473                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
474                                         <parameter name="logger" value="message-log"/>\r
475                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
476                                         <parameter name="field2" value="network-topology-operation"/>\r
477                                         <parameter name="field3" value="eipam-create-network-role-pool"/>\r
478                                         <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
479                                         <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-name`"/>\r
480                                         <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[0].key-value`"/>\r
481                                         <parameter name="field7" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-name`"/>\r
482                                         <parameter name="field8" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[1].key-value`"/>\r
483                                     </record>\r
484                                     <set>\r
485                                         <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
486                                     </set>\r
487                                 </block>\r
488                             </outcome>\r
489                         </switch>\r
490                     </block>\r
491                 </outcome>\r
492                 <outcome value=""></outcome>\r
493                 <outcome value='N'></outcome>\r
494             </switch>\r
495             <switch test="`$tmp.create-v4-pool-flag`">\r
496                 <outcome value='Y'>\r
497                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
498                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="createPool">\r
499                         <outcome value='success'></outcome>\r
500                         <outcome value='failure'>\r
501                             <return status="failure">\r
502                                 <parameter name="tmp.eipam-error" value="true" />\r
503                                 <parameter name="error-code" value="500"/>\r
504                                 <parameter name="error-message" value="An error occured while creating pool in EIPAM." />\r
505                             </return>\r
506                         </outcome>\r
507                     </execute>\r
508                 </outcome>\r
509                 <outcome value='N'>\r
510                     <switch test="`$tmp.create-v6-pool-flag`">\r
511                         <outcome value='Y'>\r
512                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
513                             <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="createPool">\r
514                                 <outcome value='success'></outcome>\r
515                                 <outcome value='failure'>\r
516                                     <return status="failure">\r
517                                         <parameter name="tmp.eipam-error" value="true" />\r
518                                         <parameter name="error-code" value="500"/>\r
519                                         <parameter name="error-message" value="An error occured while creating pool in EIPAM." />\r
520                                     </return>\r
521                                 </outcome>\r
522                             </execute>\r
523                         </outcome>\r
524                         <outcome value='N'></outcome>\r
525                     </switch>\r
526                 </outcome>\r
527             </switch>\r
528             <switch test="`$network-model.use-ipv4`">\r
529                 <outcome value='Y'>\r
530                     <block atomic='true'>\r
531                         <switch test="`$tmp.create-v4-pool-flag`">\r
532                             <outcome value='Y'>\r
533                                 <block atomic='true'>\r
534                                     <switch test="`$eipam-ip-block.level`">\r
535                                         <outcome value='1'>\r
536                                             <save\r
537         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
538         resource='SQL'\r
539         key="INSERT EIPAM_IP_POOLS\r
540              SET\r
541              key_name = $tmp.v4-level1-key-name ,\r
542              key_value = $tmp.level1-key-value ,\r
543              level = 1 ,\r
544              plan_name = $network-model.eipam-v4-address-plan ,\r
545              address_family = $network-model.ipv4-ip-version ,\r
546              parent_pool = $tmp.v4-qip-pool ,\r
547              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
548              network_id = $tmp.network-id ; "\r
549     force='true'\r
550         pfx='pfx.eipam-v4pool-row'>\r
551                                                 <outcome value='failure'>\r
552                                                     <return status='failure'>\r
553                                                         <parameter name='error-code' value='500' />\r
554                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
555                                                     </return>\r
556                                                 </outcome>\r
557                                                 <outcome value='Other'></outcome>\r
558                                                 <outcome value='Other'></outcome>\r
559                                             </save>\r
560                                         </outcome>\r
561                                         <outcome value='2'>\r
562                                             <save\r
563         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
564         resource='SQL'\r
565         key="INSERT EIPAM_IP_POOLS\r
566              SET\r
567              key_name = $tmp.v4-level2-key-name ,\r
568              key_value = $tmp.level2-key-value ,\r
569              level = 2 ,\r
570              plan_name = $network-model.eipam-v4-address-plan ,\r
571              address_family = $network-model.ipv4-ip-version ,\r
572              parent_pool = $tmp.level1-key-value ,\r
573              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
574              network_id = $tmp.network-id ; "\r
575     force='true'\r
576         pfx='pfx.eipam-v4pool-row'>\r
577                                                 <outcome value='failure'>\r
578                                                     <return status='failure'>\r
579                                                         <parameter name='error-code' value='500' />\r
580                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
581                                                     </return>\r
582                                                 </outcome>\r
583                                                 <outcome value='Other'></outcome>\r
584                                                 <outcome value='Other'></outcome>\r
585                                             </save>\r
586                                         </outcome>\r
587                                     </switch>\r
588                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
589                                         <parameter name="logger" value="message-log"/>\r
590                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
591                                         <parameter name="field2" value="network-topology-operation"/>\r
592                                         <parameter name="field3" value="eipam-create-network-role-pool"/>\r
593                                         <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
594                                         <parameter name="field5" value="`$tmp.v4-level1-key-name`"/>\r
595                                         <parameter name="field6" value="`$tmp.level1-key-value`"/>\r
596                                         <parameter name="field7" value="`$tmp.v4-level2-key-name`"/>\r
597                                         <parameter name="field8" value="`$tmp.level2-key-value`"/>\r
598                                         <parameter name="field9" value="`$network-model.network-role`"/>\r
599                                         <parameter name="field10" value="`$tmp.network-id`"/>\r
600                                         <parameter name="field11" value="Saving to EIPAM_IP_POOLS table."/>\r
601                                     </record>\r
602                                 </block>\r
603                             </outcome>\r
604                             <outcome value='N'></outcome>\r
605                         </switch>\r
606                     </block>\r
607                 </outcome>\r
608                 <outcome value=""></outcome>\r
609                 <outcome value='N'></outcome>\r
610             </switch>\r
611             <switch test="`$network-model.use-ipv6`">\r
612                 <outcome value='Y'>\r
613                     <block atomic='true'>\r
614                         <switch test="`$tmp.create-v6-pool-flag`">\r
615                             <outcome value='Y'>\r
616                                 <block atomic='true'>\r
617                                     <switch test="`$eipam-ip-block.level`">\r
618                                         <outcome value='1'>\r
619                                             <save\r
620         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
621         resource='SQL'\r
622         key="INSERT EIPAM_IP_POOLS\r
623              SET\r
624              key_name = $tmp.v6-level1-key-name ,\r
625              key_value = $tmp.level1-key-value ,\r
626              level = 1 ,\r
627              plan_name = $network-model.eipam-v6-address-plan ,\r
628              address_family = $network-model.ipv6-ip-version ,\r
629              parent_pool = $tmp.v6-qip-pool ,\r
630              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
631              network_id = $tmp.network-id ; "\r
632     force='true'\r
633         pfx='pfx.eipam-v6pool-row'>\r
634                                                 <outcome value='Other'></outcome>\r
635                                                 <outcome value='Other'></outcome>\r
636                                                 <outcome value='failure'>\r
637                                                     <return status='failure'>\r
638                                                         <parameter name='error-code' value='500' />\r
639                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
640                                                     </return>\r
641                                                 </outcome>\r
642                                             </save>\r
643                                         </outcome>\r
644                                         <outcome value='2'>\r
645                                             <save\r
646         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
647         resource='SQL'\r
648         key="INSERT EIPAM_IP_POOLS\r
649              SET\r
650              key_name = $tmp.v6-level2-key-name ,\r
651              key_value = $tmp.level2-key-value ,\r
652              level = 2 ,\r
653              plan_name = $network-model.eipam-v6-address-plan ,\r
654              address_family = $network-model.ipv6-ip-version ,\r
655              parent_pool = $tmp.level1-key-value ,\r
656              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
657              network_id = $tmp.network-id ; "\r
658     force='true'\r
659         pfx='pfx.eipam-v6pool-row'>\r
660                                                 <outcome value='Other'></outcome>\r
661                                                 <outcome value='Other'></outcome>\r
662                                                 <outcome value='failure'>\r
663                                                     <return status='failure'>\r
664                                                         <parameter name='error-code' value='500' />\r
665                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
666                                                     </return>\r
667                                                 </outcome>\r
668                                             </save>\r
669                                         </outcome>\r
670                                     </switch>\r
671                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
672                                         <parameter name="logger" value="message-log"/>\r
673                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
674                                         <parameter name="field2" value="network-topology-operation"/>\r
675                                         <parameter name="field3" value="eipam-create-network-role-pool"/>\r
676                                         <parameter name="field4" value="`$network-model.eipam-v6-address-plan`"/>\r
677                                         <parameter name="field5" value="`$tmp.v6-level1-key-name`"/>\r
678                                         <parameter name="field6" value="`$tmp.level1-key-value`"/>\r
679                                         <parameter name="field7" value="`$tmp.v6-level2-key-name`"/>\r
680                                         <parameter name="field8" value="`$tmp.level2-key-value`"/>\r
681                                         <parameter name="field9" value="`$network-model.network-role`"/>\r
682                                         <parameter name="field10" value="`$tmp.network-id`"/>\r
683                                         <parameter name="field11" value="Saving to EIPAM_IP_POOLS table."/>\r
684                                     </record>\r
685                                 </block>\r
686                             </outcome>\r
687                             <outcome value='N'></outcome>\r
688                         </switch>\r
689                     </block>\r
690                 </outcome>\r
691                 <outcome value=""></outcome>\r
692                 <outcome value='N'></outcome>\r
693             </switch>\r
694             <return status='success'>\r
695                 <parameter name="error-code" value="200" />\r
696             </return>\r
697         </block>\r
698     </method>\r
699 </service-logic>