Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_process-generic-eipam-pools.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     <!--This DG relys on generate-FQPN to determine the key_names & key_values for all levels for the specified plan-name.-->\r
5     <method rpc="process-generic-eipam-pools" mode="sync">\r
6         <block atomic='true'>\r
7             <set>\r
8                 <parameter name="tmp.eipam-error" value="false" />\r
9                 <parameter name="tmp.create-v4-pool-flag" value="N" />\r
10                 <parameter name="tmp.create-v6-pool-flag" value="N" />\r
11                 <parameter name='eipam-ip-block.plans_length' value='0' />\r
12                 <parameter name="eipam-pool.v4.pre-existing" value="false"/>\r
13                 <parameter name="eipam-pool.v6.pre-existing" value="false"/>\r
14                 <!-- <parameter name="tmp.network-id" value="`$tmp.l3-network.network-id`" /> -->\r
15                 <parameter name="tmp.network-id" value="`$network-topology-operation-input.network-information.network-id`" />\r
16             </set>\r
17             <switch test='`$tmp.service-type`'>\r
18                 <outcome value=''>\r
19                     <block atomic='true'>\r
20                         <set>\r
21                             <parameter name="tmp.service-type" value="`$service-data.service-information.subscription-service-type`" />\r
22                         </set>\r
23                     </block>\r
24                 </outcome>\r
25             </switch>\r
26             <switch test='`$tmp.network-instance-group-id`'>\r
27                 <outcome value=''>\r
28                     <block atomic='true'>\r
29                         <set>\r
30                             <parameter name="tmp.network-instance-group-id" value="`$network-topology-operation-input.network-request-input.network-instance-group-id`" />\r
31                         </set>\r
32                     </block>\r
33                 </outcome>\r
34             </switch>\r
35             <switch test='`$generate-FQPN-input.network-name`'>\r
36                 <outcome value=''>\r
37                     <block atomic='true'>\r
38                         <set>\r
39                             <parameter name="generate-FQPN-input.network-name" value="`$network-topology-identifier-structure.network-name`" />\r
40                         </set>\r
41                     </block>\r
42                 </outcome>\r
43             </switch>\r
44             <switch test='`$generate-FQPN-input.zone`'>\r
45                 <outcome value=''>\r
46                     <block atomic='true'>\r
47                         <set>\r
48                             <parameter name="generate-FQPN-input.zone" value="`$aai.cloud-region.cloud-zone`" />\r
49                         </set>\r
50                     </block>\r
51                 </outcome>\r
52             </switch>\r
53             <switch test='`$generate-FQPN-input.network-collection`'>\r
54                 <outcome value=''>\r
55                     <block atomic='true'>\r
56                         <set>\r
57                             <parameter name="generate-FQPN-input.network-collection" value="`$aai-network-collection.collection-name`" />\r
58                         </set>\r
59                     </block>\r
60                 </outcome>\r
61             </switch>\r
62             <switch test='`$generate-FQPN-input.aic-cloud-region`'>\r
63                 <outcome value=''>\r
64                     <block atomic='true'>\r
65                         <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
66                             <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
67                             <parameter name='contextPrefix' value='prop' />\r
68                         </execute>\r
69                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
70         resource="cloud-region" \r
71                 key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \r
72                      cloud-region.cloud-region-id = $aai.cloud-region.cloud-region-id AND\r
73                      depth = '0'"\r
74         pfx='aai.cloud-region' >\r
75                             <outcome value='not-found'>\r
76                                 <return status='failure'>\r
77                                     <parameter name='ack-final' value='Y'/>\r
78                                     <parameter name="error-code" value="404" />\r
79                                     <parameter name="error-message" value="`'aic-cloud-region, '+ $generate-fqpn-input.aic-cloud-region + ' not found in AAI'`" />\r
80                                 </return>\r
81                             </outcome>\r
82                             <outcome value='failure'>\r
83                                 <return status='failure'>\r
84                                     <parameter name='ack-final' value='Y'/>\r
85                                     <parameter name="error-code" value="500" />\r
86                                     <parameter name="error-message" value="Error retrieving cloud region from AAI" />\r
87                                 </return>\r
88                             </outcome>\r
89                         </get-resource>\r
90                         <switch test='`$aai.cloud-region.relationship-list.relationship_length`'>\r
91                             <outcome value='0'>\r
92                                 <return status='failure'>\r
93                                     <parameter name='ack-final' value='Y'/>\r
94                                     <parameter name="error-code" value="500" />\r
95                                     <parameter name="error-message" value="cloud-region missing relationships in AAI" />\r
96                                 </return>\r
97                             </outcome>\r
98                             <outcome value=''>\r
99                                 <return status='failure'>\r
100                                     <parameter name='ack-final' value='Y'/>\r
101                                     <parameter name="error-code" value="500" />\r
102                                     <parameter name="error-message" value="cloud-region missing relationships in AAI" />\r
103                                 </return>\r
104                             </outcome>\r
105                         </switch>\r
106                         <for index='ridx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\r
107                             <for silentFailure='false' index='rdidx' start='0' end="`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data_length`" >\r
108                                 <switch test='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\r
109                                     <outcome value='complex.physical-location-id'>\r
110                                         <block atomic='true'>\r
111                                             <block>\r
112                                                 <set>\r
113                                                     <parameter name='tmp.aic-clli' value='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value`' />\r
114                                                 </set>\r
115                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>\r
116                                                     <parameter name='result' value='tmp.truncated.clli8' />\r
117                                                     <parameter name='string' value='`$tmp.aic-clli`' />\r
118                                                     <parameter name='begin-index' value='0' />\r
119                                                     <parameter name='end-index' value='8' />\r
120                                                 </execute>\r
121                                                 <set>\r
122                                                     <parameter name='generate-FQPN-input.location-clli8' value='`$tmp.truncated.clli8`' />\r
123                                                 </set>\r
124                                             </block>\r
125                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
126         resource="complex" \r
127                 key="complex.physical-location-id = $aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value"\r
128     pfx='aai.complex' >\r
129                                                 <outcome value='not-found'>\r
130                                                     <return status='failure'>\r
131                                                         <parameter name='ack-final' value='Y'/>\r
132                                                         <parameter name="error-code" value="500" />\r
133                                                         <parameter name="error-message" value="Complex not found in AAI" />\r
134                                                     </return>\r
135                                                 </outcome>\r
136                                                 <outcome value='failure'>\r
137                                                     <return status='failure'>\r
138                                                         <parameter name='ack-final' value='Y'/>\r
139                                                         <parameter name="error-code" value="500" />\r
140                                                         <parameter name="error-message" value="Error retrieving complex from AAI" />\r
141                                                     </return>\r
142                                                 </outcome>\r
143                                             </get-resource>\r
144                                             <set>\r
145                                                 <parameter name='generate-FQPN-input.complex-region' value='`$aai.complex.region`' />\r
146                                             </set>\r
147                                         </block>\r
148                                     </outcome>\r
149                                 </switch>\r
150                             </for>\r
151                         </for>\r
152                         <set>\r
153                             <parameter name='generate-FQPN-input.aic-cloud-region' \r
154         value='`$aai.cloud-region.cloud-region-id`' />\r
155                         </set>\r
156                     </block>\r
157                 </outcome>\r
158             </switch>\r
159             <switch test='`$generate-FQPN-input.location-clli8`'>\r
160                 <outcome value=''>\r
161                     <block atomic='true'>\r
162                         <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
163                             <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
164                             <parameter name='contextPrefix' value='prop' />\r
165                         </execute>\r
166                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
167         resource="cloud-region" \r
168                 key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \r
169                      cloud-region.cloud-region-id = $aai.cloud-region.cloud-region-id AND\r
170                      depth = '0'"\r
171         pfx='aai.cloud-region' >\r
172                             <outcome value='not-found'>\r
173                                 <return status='failure'>\r
174                                     <parameter name='ack-final' value='Y'/>\r
175                                     <parameter name="error-code" value="404" />\r
176                                     <parameter name="error-message" value="`'aic-cloud-region, '+ $generate-fqpn-input.aic-cloud-region + ' not found in AAI'`" />\r
177                                 </return>\r
178                             </outcome>\r
179                             <outcome value='failure'>\r
180                                 <return status='failure'>\r
181                                     <parameter name='ack-final' value='Y'/>\r
182                                     <parameter name="error-code" value="500" />\r
183                                     <parameter name="error-message" value="Error retrieving cloud region from AAI" />\r
184                                 </return>\r
185                             </outcome>\r
186                         </get-resource>\r
187                         <switch test='`$aai.cloud-region.relationship-list.relationship_length`'>\r
188                             <outcome value='0'>\r
189                                 <return status='failure'>\r
190                                     <parameter name='ack-final' value='Y'/>\r
191                                     <parameter name="error-code" value="500" />\r
192                                     <parameter name="error-message" value="cloud-region missing relationships in AAI" />\r
193                                 </return>\r
194                             </outcome>\r
195                             <outcome value=''>\r
196                                 <return status='failure'>\r
197                                     <parameter name='ack-final' value='Y'/>\r
198                                     <parameter name="error-code" value="500" />\r
199                                     <parameter name="error-message" value="cloud-region missing relationships in AAI" />\r
200                                 </return>\r
201                             </outcome>\r
202                         </switch>\r
203                         <for index='ridx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\r
204                             <for silentFailure='false' index='rdidx' start='0' end="`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data_length`" >\r
205                                 <switch test='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\r
206                                     <outcome value='complex.physical-location-id'>\r
207                                         <block atomic='true'>\r
208                                             <block>\r
209                                                 <set>\r
210                                                     <parameter name='tmp.aic-clli' value='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value`' />\r
211                                                 </set>\r
212                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>\r
213                                                     <parameter name='result' value='tmp.truncated.clli8' />\r
214                                                     <parameter name='string' value='`$tmp.aic-clli`' />\r
215                                                     <parameter name='begin-index' value='0' />\r
216                                                     <parameter name='end-index' value='8' />\r
217                                                 </execute>\r
218                                                 <set>\r
219                                                     <parameter name='generate-FQPN-input.location-clli8' value='`$tmp.truncated.clli8`' />\r
220                                                 </set>\r
221                                             </block>\r
222                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
223         resource="complex" \r
224                 key="complex.physical-location-id = $aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value"\r
225     pfx='aai.complex' >\r
226                                                 <outcome value='not-found'>\r
227                                                     <return status='failure'>\r
228                                                         <parameter name='ack-final' value='Y'/>\r
229                                                         <parameter name="error-code" value="500" />\r
230                                                         <parameter name="error-message" value="Complex not found in AAI" />\r
231                                                     </return>\r
232                                                 </outcome>\r
233                                                 <outcome value='failure'>\r
234                                                     <return status='failure'>\r
235                                                         <parameter name='ack-final' value='Y'/>\r
236                                                         <parameter name="error-code" value="500" />\r
237                                                         <parameter name="error-message" value="Error retrieving complex from AAI" />\r
238                                                     </return>\r
239                                                 </outcome>\r
240                                             </get-resource>\r
241                                             <set>\r
242                                                 <parameter name='generate-FQPN-input.complex-region' value='`$aai.complex.region`' />\r
243                                             </set>\r
244                                         </block>\r
245                                     </outcome>\r
246                                 </switch>\r
247                             </for>\r
248                         </for>\r
249                         <set>\r
250                             <parameter name='generate-FQPN-input.aic-cloud-region' \r
251         value='`$aai.cloud-region.cloud-region-id`' />\r
252                         </set>\r
253                     </block>\r
254                 </outcome>\r
255             </switch>\r
256             <switch test='`$generate-FQPN-input.complex-region`'>\r
257                 <outcome value=''>\r
258                     <block atomic='true'>\r
259                         <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
260                             <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
261                             <parameter name='contextPrefix' value='prop' />\r
262                         </execute>\r
263                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
264         resource="cloud-region" \r
265                 key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \r
266                      cloud-region.cloud-region-id = $aai.cloud-region.cloud-region-id AND\r
267                      depth = '0'"\r
268         pfx='aai.cloud-region' >\r
269                             <outcome value='not-found'>\r
270                                 <return status='failure'>\r
271                                     <parameter name='ack-final' value='Y'/>\r
272                                     <parameter name="error-code" value="404" />\r
273                                     <parameter name="error-message" value="`'aic-cloud-region, '+ $generate-fqpn-input.aic-cloud-region + ' not found in AAI'`" />\r
274                                 </return>\r
275                             </outcome>\r
276                             <outcome value='failure'>\r
277                                 <return status='failure'>\r
278                                     <parameter name='ack-final' value='Y'/>\r
279                                     <parameter name="error-code" value="500" />\r
280                                     <parameter name="error-message" value="Error retrieving cloud region from AAI" />\r
281                                 </return>\r
282                             </outcome>\r
283                         </get-resource>\r
284                         <switch test='`$aai.cloud-region.relationship-list.relationship_length`'>\r
285                             <outcome value='0'>\r
286                                 <return status='failure'>\r
287                                     <parameter name='ack-final' value='Y'/>\r
288                                     <parameter name="error-code" value="500" />\r
289                                     <parameter name="error-message" value="cloud-region missing relationships in AAI" />\r
290                                 </return>\r
291                             </outcome>\r
292                             <outcome value=''>\r
293                                 <return status='failure'>\r
294                                     <parameter name='ack-final' value='Y'/>\r
295                                     <parameter name="error-code" value="500" />\r
296                                     <parameter name="error-message" value="cloud-region missing relationships in AAI" />\r
297                                 </return>\r
298                             </outcome>\r
299                         </switch>\r
300                         <for index='ridx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\r
301                             <for silentFailure='false' index='rdidx' start='0' end="`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data_length`" >\r
302                                 <switch test='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\r
303                                     <outcome value='complex.physical-location-id'>\r
304                                         <block atomic='true'>\r
305                                             <block>\r
306                                                 <set>\r
307                                                     <parameter name='tmp.aic-clli' value='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value`' />\r
308                                                 </set>\r
309                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>\r
310                                                     <parameter name='result' value='tmp.truncated.clli8' />\r
311                                                     <parameter name='string' value='`$tmp.aic-clli`' />\r
312                                                     <parameter name='begin-index' value='0' />\r
313                                                     <parameter name='end-index' value='8' />\r
314                                                 </execute>\r
315                                                 <set>\r
316                                                     <parameter name='generate-FQPN-input.location-clli8' value='`$tmp.truncated.clli8`' />\r
317                                                 </set>\r
318                                             </block>\r
319                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
320         resource="complex" \r
321                 key="complex.physical-location-id = $aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value"\r
322     pfx='aai.complex' >\r
323                                                 <outcome value='not-found'>\r
324                                                     <return status='failure'>\r
325                                                         <parameter name='ack-final' value='Y'/>\r
326                                                         <parameter name="error-code" value="500" />\r
327                                                         <parameter name="error-message" value="Complex not found in AAI" />\r
328                                                     </return>\r
329                                                 </outcome>\r
330                                                 <outcome value='failure'>\r
331                                                     <return status='failure'>\r
332                                                         <parameter name='ack-final' value='Y'/>\r
333                                                         <parameter name="error-code" value="500" />\r
334                                                         <parameter name="error-message" value="Error retrieving complex from AAI" />\r
335                                                     </return>\r
336                                                 </outcome>\r
337                                             </get-resource>\r
338                                             <set>\r
339                                                 <parameter name='generate-FQPN-input.complex-region' value='`$aai.complex.region`' />\r
340                                             </set>\r
341                                         </block>\r
342                                     </outcome>\r
343                                 </switch>\r
344                             </for>\r
345                         </for>\r
346                         <set>\r
347                             <parameter name='generate-FQPN-input.aic-cloud-region' \r
348         value='`$aai.cloud-region.cloud-region-id`' />\r
349                         </set>\r
350                     </block>\r
351                 </outcome>\r
352             </switch>\r
353             <switch test="`$network-model.use-ipv4`">\r
354                 <outcome value='N'></outcome>\r
355                 <outcome value='Y'>\r
356                     <block atomic='true'>\r
357                         <set>\r
358                             <parameter name='generate-FQPN-input.plan-name' value='`$network-model.eipam-v4-address-plan`' />\r
359                         </set>\r
360                         <call module='GENERIC-RESOURCE-API' rpc='generate-FQPN' mode='sync' >\r
361                             <outcome value='failure'>\r
362                                 <return status="failure">\r
363                                     <parameter name="ack-final" value="Y" />\r
364                                     <parameter name="error-code" value="500"/>\r
365                                     <parameter name="error-message" value="`'An error occured while generating FQPN: '+ $error-message`" />\r
366                                 </return>\r
367                             </outcome>\r
368                         </call>\r
369                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
370                         <set>\r
371                             <parameter name="v4FQPN-output." value="generate-FQPN-output."/>\r
372                         </set>\r
373                     </block>\r
374                 </outcome>\r
375                 <outcome value=""></outcome>\r
376             </switch>\r
377             <switch test="`$network-model.use-ipv6`">\r
378                 <outcome value='N'></outcome>\r
379                 <outcome value='Y'>\r
380                     <block atomic='true'>\r
381                         <set>\r
382                             <parameter name='generate-FQPN-input.plan-name' value='`$network-model.eipam-v6-address-plan`' />\r
383                         </set>\r
384                         <call module='GENERIC-RESOURCE-API' rpc='generate-FQPN' mode='sync' >\r
385                             <outcome value='failure'>\r
386                                 <return status="failure">\r
387                                     <parameter name="ack-final" value="Y" />\r
388                                     <parameter name="error-code" value="500"/>\r
389                                     <parameter name="error-message" value="`'An error occured while generating FQPN: '+ $error-message`" />\r
390                                 </return>\r
391                             </outcome>\r
392                         </call>\r
393                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
394                         <set>\r
395                             <parameter name="v6FQPN-output." value="generate-FQPN-output."/>\r
396                         </set>\r
397                     </block>\r
398                 </outcome>\r
399                 <outcome value=""></outcome>\r
400             </switch>\r
401             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
402             <set>\r
403                 <parameter name="eipam-ip-block.subnet-size-override-v4" value="`$network-model.ipv4-cidr-mask`" />\r
404                 <parameter name="eipam-ip-block.subnet-size-override-v6" value="`$network-model.ipv6-cidr-mask`" />\r
405             </set>\r
406             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">\r
407                 <outcome value=''>\r
408                     <block></block>\r
409                 </outcome>\r
410                 <outcome value='Other'>\r
411                     <block>\r
412                         <for index='pidx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >\r
413                             <block atomic="true">\r
414                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains'  emitsOutcome='true' >\r
415                                     <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx].name`" />\r
416                                     <parameter name="target" value="network_assignments_ipv4_subnet_default_assignment_cidr_mask"/>\r
417                                     <outcome value='true'>\r
418                                         <set>\r
419                                             <parameter name='eipam-ip-block.subnet-size-override-v4' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx].value`' />\r
420                                         </set>\r
421                                     </outcome>\r
422                                 </execute>\r
423                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains'  emitsOutcome='true' >\r
424                                     <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx].name`" />\r
425                                     <parameter name="target" value="network_assignments_ipv6_subnet_default_assignment_cidr_mask"/>\r
426                                     <outcome value='true'>\r
427                                         <set>\r
428                                             <parameter name='eipam-ip-block.subnet-size-override-v6' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx].value`' />\r
429                                         </set>\r
430                                     </outcome>\r
431                                 </execute>\r
432                             </block>\r
433                         </for>\r
434                     </block>\r
435                 </outcome>\r
436             </switch>\r
437             <for index="l-idx" start="1" end="`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length + 1`">\r
438                 <block atomic='true'>\r
439                     <set>\r
440                         <parameter name='eipam-ip-block.entity-id' value='' />\r
441                         <parameter name='eipam-ip-block.ip-prefix' value='' />\r
442                         <parameter name='eipam-ip-block.mask' value='' />\r
443                         <parameter name="eipam-ip-block.level" value='`$l-idx`' />\r
444                         <parameter name='eipam-pool.v4.pre-existing' value='false' />\r
445                         <parameter name='eipam-pool.v6.pre-existing' value='false' />\r
446                     </set>\r
447                     <!--tmp.level should be set to 1-->\r
448                     <call module='GENERIC-RESOURCE-API' rpc='eipam-create-generic-pool' mode='sync' >\r
449                         <outcome value='failure'>\r
450                             <block atomic="true">\r
451                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
452                                     <parameter name="logger" value="message-log"/>\r
453                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
454                                     <parameter name="field2" value="GENERIC-RESOURCE-API.process-generic-eipam-pools:REQID"/>\r
455                                     <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
456                                     <parameter name="field4" value="Error creating pool for level"/>\r
457                                     <parameter name="field5" value="`$l-idx`"/>\r
458                                 </record>\r
459                                 <return status="failure">\r
460                                     <parameter name="tmp.eipam-error" value="true" />\r
461                                     <parameter name="error-code" value="500"/>\r
462                                     <parameter name="error-message" value="An error occured while creating pool" />\r
463                                 </return>\r
464                             </block>\r
465                         </outcome>\r
466                         <outcome value='success'>\r
467                             <block atomic="true">\r
468                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
469                                     <parameter name="logger" value="message-log"/>\r
470                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
471                                     <parameter name="field2" value="GENERIC-RESOURCE-API.process-generic-eipam-pools:REQID"/>\r
472                                     <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
473                                     <parameter name="field4" value="`$l-idx`"/>\r
474                                     <parameter name="field5" value="`$eipam-pool.v4.pre-existing`"/>\r
475                                     <parameter name="field6" value="eipam-pool.v4.pre-existing"/>\r
476                                     <parameter name="field7" value="`$eipam-pool.v6.pre-existing`"/>\r
477                                     <parameter name="field8" value="tmp.create-v4-pool-flag" />\r
478                                     <parameter name="field9" value="`$tmp.create-v4-pool-flag`" />\r
479                                     <parameter name="field10" value="tmp.create-v6-pool-flag" />\r
480                                     <parameter name="field11" value="`$tmp.create-v6-pool-flag`" />\r
481                                     <parameter name="field12" value="Successful" />\r
482                                 </record>\r
483                             </block>\r
484                         </outcome>\r
485                     </call>\r
486                     <switch test="`$tmp.allocate-subnet-flag`">\r
487                         <outcome value=""></outcome>\r
488                         <outcome value='N'>\r
489                             <block atomic='true'>\r
490                                 <switch test="`$network-model.use-ipv4`">\r
491                                     <outcome value='N'></outcome>\r
492                                     <outcome value='Y'>\r
493                                         <block atomic='true'>\r
494                                             <get-resource\r
495         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
496         resource='SQL'\r
497         key="SELECT * from EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k WHERE s.plan_name = $network-model.eipam-v4-address-plan and s.entity_id = k.entity_id and k.level = $l-idx and k.key_value = $key-value ; "\r
498         pfx='tmp.eipam-subnet-row'>\r
499                                                 <outcome value='success'>\r
500                                                     <block atomic="true">\r
501                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
502                                                             <parameter name="logger" value="message-log"/>\r
503                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
504                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
505                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
506                                                             <parameter name="field4" value="Existing eipam-ip-block.ip-prefix for level:" />\r
507                                                             <parameter name="field5" value="`$l-idx`" />\r
508                                                             <parameter name="field6" value="Existing eipam-ip-block.mask for level:" />\r
509                                                             <parameter name="field7" value="`$tmp.eipam-subnet-row.prefix-length`"/>\r
510                                                             <parameter name="field8" value="ipv4"/>\r
511                                                             <parameter name="field9" value="`$tmp.eipam-subnet-row.ip-address`"/>\r
512                                                         </record>\r
513                                                         <set>\r
514                                                             <parameter name='tmp.l3-network.level1.v4.subnet.pre-existing' value='true' />\r
515                                                             <parameter name='tmp.l3-network.level1.v4.entity-id' value='`$tmp.eipam-row.entity-id`' />\r
516                                                             <parameter name='tmp.l3-network.level1.v4.ip-prefix' value='`$tmp.eipam-row.ip-address`' />\r
517                                                             <parameter name='tmp.l3-network.level1.v4.mask' value='`$tmp.eipam-row.prefix-length`' />\r
518                                                         </set>\r
519                                                     </block>\r
520                                                 </outcome>\r
521                                                 <outcome value="not-found">\r
522                                                     <block atomic='true'>\r
523                                                         <set>\r
524                                                             <parameter name='eipam-ip-block.entity-id' value='' />\r
525                                                             <parameter name='eipam-ip-block.ip-prefix' value='' />\r
526                                                             <parameter name='eipam-ip-block.mask' value='' />\r
527                                                             <parameter name="eipam-ip-block.allocate-version" value='ipv4' />\r
528                                                             <parameter name='eipam-ip-block.plans_length' value='0' />\r
529                                                         </set>\r
530                                                         <call module='GENERIC-RESOURCE-API' rpc='eipam-allocate-generic-subnet' mode='sync' >\r
531                                                             <outcome value='success'>\r
532                                                                 <block atomic="true">\r
533                                                                     <set>\r
534                                                                         <parameter name='eipam-ip-block.v4.allocateSubnetResponse.' value='eipam-ip-block.allocateSubnetResponse.' />\r
535                                                                     </set>\r
536                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
537                                                                         <parameter name="logger" value="message-log"/>\r
538                                                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
539                                                                         <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
540                                                                         <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
541                                                                         <parameter name="field4" value="eipam-ip-block.ip-prefix"/>\r
542                                                                         <parameter name="field5" value="`$eipam-ip-block.ip-prefix`"/>\r
543                                                                         <parameter name="field6" value="eipam-ip-block.mask"/>\r
544                                                                         <parameter name="field7" value="`$eipam-ip-block.v4.allocateSubnetResponse.Mask`"/>\r
545                                                                         <parameter name="field8" value="ipv4"/>\r
546                                                                         <parameter name="field9" value="`$l-idx`" />\r
547                                                                     </record>\r
548                                                                 </block>\r
549                                                             </outcome>\r
550                                                             <outcome value='failure'>\r
551                                                                 <block atomic="true">\r
552                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
553                                                                         <parameter name="logger" value="message-log"/>\r
554                                                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
555                                                                         <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
556                                                                         <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
557                                                                         <parameter name="field4" value="Failed to allocate ipv4 subnet - failure from eipam-allocate-network-role-subnet"/>\r
558                                                                         <parameter name="field5" value="`$l-idx`" />\r
559                                                                     </record>\r
560                                                                 </block>\r
561                                                             </outcome>\r
562                                                         </call>\r
563                                                     </block>\r
564                                                 </outcome>\r
565                                             </get-resource>\r
566                                         </block>\r
567                                     </outcome>\r
568                                     <outcome value=""></outcome>\r
569                                 </switch>\r
570                                 <switch test="`$network-model.use-ipv6`">\r
571                                     <outcome value='N'></outcome>\r
572                                     <outcome value='Y'>\r
573                                         <block atomic='true'>\r
574                                             <get-resource\r
575         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
576         resource='SQL'\r
577         key="SELECT * from EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k WHERE s.plan_name = $network-model.eipam-v6-address-plan and s.entity_id = k.entity_id and k.level = $l-idx and k.key_value = $key-value ; "\r
578         pfx='tmp.eipam-subnet-row'>\r
579                                                 <outcome value='success'>\r
580                                                     <block atomic="true">\r
581                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
582                                                             <parameter name="logger" value="message-log"/>\r
583                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
584                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
585                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
586                                                             <parameter name="field4" value="Existing eipam-ip-block.ip-prefix for level:" />\r
587                                                             <parameter name="field5" value="`$l-idx`" />\r
588                                                             <parameter name="field6" value="Existing eipam-ip-block.mask for level:" />\r
589                                                             <parameter name="field7" value="`$tmp.eipam-subnet-row.prefix-length`"/>\r
590                                                             <parameter name="field8" value="ipv6"/>\r
591                                                             <parameter name="field9" value="`$tmp.eipam-subnet-row.ip-address`"/>\r
592                                                         </record>\r
593                                                         <set>\r
594                                                             <parameter name='tmp.l3-network.level1.v6.subnet.pre-existing' value='true' />\r
595                                                             <parameter name='tmp.l3-network.level1.v6.entity-id' value='`$tmp.eipam-row.entity-id`' />\r
596                                                             <parameter name='tmp.l3-network.level1.v6.ip-prefix' value='`$tmp.eipam-row.ip-address`' />\r
597                                                             <parameter name='tmp.l3-network.level1.v6.mask' value='`$tmp.eipam-row.prefix-length`' />\r
598                                                         </set>\r
599                                                     </block>\r
600                                                 </outcome>\r
601                                                 <outcome value="not-found">\r
602                                                     <block atomic='true'>\r
603                                                         <set>\r
604                                                             <parameter name='eipam-ip-block.entity-id' value='' />\r
605                                                             <parameter name='eipam-ip-block.ip-prefix' value='' />\r
606                                                             <parameter name='eipam-ip-block.mask' value='' />\r
607                                                             <parameter name="eipam-ip-block.allocate-version" value='ipv6' />\r
608                                                             <parameter name='eipam-ip-block.plans_length' value='0' />\r
609                                                         </set>\r
610                                                         <call module='GENERIC-RESOURCE-API' rpc='eipam-allocate-generic-subnet' mode='sync' >\r
611                                                             <outcome value='success'>\r
612                                                                 <block atomic="true">\r
613                                                                     <set>\r
614                                                                         <parameter name='eipam-ip-block.v6.allocateSubnetResponse.' value='eipam-ip-block.allocateSubnetResponse.' />\r
615                                                                     </set>\r
616                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
617                                                                         <parameter name="logger" value="message-log"/>\r
618                                                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
619                                                                         <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
620                                                                         <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
621                                                                         <parameter name="field4" value="eipam-ip-block.ip-prefix"/>\r
622                                                                         <parameter name="field5" value="`$eipam-ip-block.ip-prefix`"/>\r
623                                                                         <parameter name="field6" value="eipam-ip-block.mask"/>\r
624                                                                         <parameter name="field7" value="`$eipam-ip-block.v6.allocateSubnetResponse.Mask`"/>\r
625                                                                         <parameter name="field8" value="ipv6"/>\r
626                                                                         <parameter name="field9" value="`$l-idx`" />\r
627                                                                     </record>\r
628                                                                 </block>\r
629                                                             </outcome>\r
630                                                             <outcome value='failure'>\r
631                                                                 <block atomic="true">\r
632                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
633                                                                         <parameter name="logger" value="message-log"/>\r
634                                                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
635                                                                         <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
636                                                                         <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
637                                                                         <parameter name="field4" value="Failed to allocate ipv6 subnet - failure from eipam-allocate-network-role-subnet"/>\r
638                                                                         <parameter name="field9" value="`$l-idx`" />\r
639                                                                     </record>\r
640                                                                 </block>\r
641                                                             </outcome>\r
642                                                         </call>\r
643                                                     </block>\r
644                                                 </outcome>\r
645                                             </get-resource>\r
646                                         </block>\r
647                                     </outcome>\r
648                                     <outcome value=""></outcome>\r
649                                 </switch>\r
650                             </block>\r
651                         </outcome>\r
652                         <outcome value='Y'></outcome>\r
653                     </switch>\r
654                 </block>\r
655             </for>\r
656             <return status='success'>\r
657                 <parameter name="error-code" value="200" />\r
658             </return>\r
659         </block>\r
660     </method>\r
661 </service-logic>