Merge "Fix groupIds"
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-create-vpe-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='self-serve-create-vpe-pool' mode='sync'>\r
5         <block atomic='true'>\r
6             <switch test="`$ss.capability-name`">\r
7                 <outcome value='Other'></outcome>\r
8                 <outcome value=''>\r
9                     <block>\r
10                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
11                             <parameter name="logger" value="message-log"/>\r
12                             <parameter name="field1" value="__TIMESTAMP__"/>\r
13                             <parameter name="field2" value="self-serve-create-vpe-pool: ss.capability-name is not set"/>\r
14                         </record>\r
15                         <return status='failure'>\r
16                             <parameter name='error-code' value='401' />\r
17                             <parameter name='error-message' value='ss.capability-name is not set' />\r
18                         </return>\r
19                     </block>\r
20                 </outcome>\r
21                 <outcome value='null'></outcome>\r
22                 <outcome value='create-vpe-pool'>\r
23                     <record plugin="com.att.sdnctl.sli.recording.Slf4jRecorder">\r
24                         <parameter name="logger" value="message-log"/>\r
25                         <parameter name="field1" value="__TIMESTAMP__"/>\r
26                         <parameter name="field2" value="self-serve-create-vpe-pool: ss.capability-name is create-vpe-pool"/>\r
27                     </record>\r
28                 </outcome>\r
29             </switch>\r
30             <switch test="`$ss.capability-action`">\r
31                 <outcome value='Other'></outcome>\r
32                 <outcome value=''>\r
33                     <block>\r
34                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
35                             <parameter name="logger" value="message-log"/>\r
36                             <parameter name="field1" value="__TIMESTAMP__"/>\r
37                             <parameter name="field2" value="self-serve-create-vpe-pool: ss.capability-action is not set"/>\r
38                         </record>\r
39                         <return status='failure'>\r
40                             <parameter name='error-code' value='401' />\r
41                             <parameter name='error-message' value='ss.capability-action is not set' />\r
42                         </return>\r
43                     </block>\r
44                 </outcome>\r
45                 <outcome value='null'></outcome>\r
46                 <outcome value='ASSIGN'>\r
47                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
48                         <parameter name="logger" value="message-log"/>\r
49                         <parameter name="field1" value="__TIMESTAMP__"/>\r
50                         <parameter name="field2" value="self-serve-create-vpe-pool: ss.capability-action is ASSIGN"/>\r
51                     </record>\r
52                 </outcome>\r
53                 <outcome value='UNASSIGN'>\r
54                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
55                         <parameter name="logger" value="message-log"/>\r
56                         <parameter name="field1" value="__TIMESTAMP__"/>\r
57                         <parameter name="field2" value="self-serve-create-vpe-pool: ss.capability-action is UNASSIGN"/>\r
58                     </record>\r
59                 </outcome>\r
60             </switch>\r
61             <block atomic='true'>\r
62                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
63                     <parameter name="logger" value="message-log"/>\r
64                     <parameter name="field1" value="__TIMESTAMP__"/>\r
65                     <parameter name="field2" value="self-serve-create-vpe-pool: call self-service-capability-param-resolution DG"/>\r
66                 </record>\r
67                 <set>\r
68                     <!--<parameter name='generate-unique-name-input.index-table-name' value='VM_NAME_INDEX' />-->\r
69                 </set>\r
70                 <call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >\r
71                     <outcome value='failure'>\r
72                         <block>\r
73                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
74                                 <parameter name="logger" value="message-log"/>\r
75                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
76                                 <parameter name="field2" value="self-serve-create-vpe-pool: Failure calling self-service-capability-param-resolution"/>\r
77                             </record>\r
78                             <return status='failure'>\r
79                                 <parameter name='error-code' value='402' />\r
80                                 <parameter name='error-message' value='Failure calling self-service-capability-param-resolution' />\r
81                             </return>\r
82                         </block>\r
83                     </outcome>\r
84                     <outcome value='success'></outcome>\r
85                 </call>\r
86             </block>\r
87             <block atomic='true'>\r
88                 <set>\r
89                     <parameter name='tmp.vf-module-parameters-length' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`' />\r
90                 </set>\r
91                 <for index='vf-module-param-index' start='0' end='`$tmp.vf-module-parameters-length`' >\r
92                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
93                         <parameter name="logger" value="message-log"/>\r
94                         <parameter name="field1" value="__TIMESTAMP__"/>\r
95                         <parameter name="field2" value="self-serve-create-vpe-pool: vf-module-param-index"/>\r
96                         <parameter name="field3" value='`$vf-module-param-index`'/>\r
97                     </record>\r
98                     <block>\r
99                         <set>\r
100                             <parameter name='vfModuleParamsCapabilityName' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.capability-name`'  />\r
101                         </set>\r
102                         <switch test="`$ss.capability-name == $vfModuleParamsCapabilityName`">\r
103                             <outcome value='true'>\r
104                                 <block>\r
105                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
106                                         <parameter name="logger" value="message-log"/>\r
107                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
108                                         <parameter name="field2" value="self-serve-create-vpe-pool: Found ss.capability-name MATCH"/>\r
109                                     </record>\r
110                                     <set>\r
111                                         <parameter name='tmp.resource-resolution-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.`'  />\r
112                                     </set>\r
113                                     <break/>\r
114                                 </block>\r
115                             </outcome>\r
116                             <outcome value='false'></outcome>\r
117                         </switch>\r
118                     </block>\r
119                 </for>\r
120             </block>\r
121             <switch test="`$tmp.resource-resolution-data.status == 'PENDING'`">\r
122                 <outcome value='false'>\r
123                     <block>\r
124                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
125                             <parameter name="logger" value="message-log"/>\r
126                             <parameter name="field1" value="__TIMESTAMP__"/>\r
127                             <parameter name="field2" value="self-serve-create-vpe-pool: reseouce-resolution-data.status is not PENDING"/>\r
128                         </record>\r
129                         <set>\r
130                             <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
131                         </set>\r
132                         <return status='failure'>\r
133                             <parameter name='error-code' value='401' />\r
134                             <parameter name='error-message' value='reseouce-resolution-data.status is not PENDING' />\r
135                         </return>\r
136                     </block>\r
137                 </outcome>\r
138             </switch>\r
139             <block atomic='true'>\r
140                 <set>\r
141                     <parameter name='tmp.resource-key-length' value='`$tmp.resource-resolution-data.resource-key_length`' />\r
142                 </set>\r
143                 <for index='key-index' start='0' end='`$tmp.resource-resolution-data.resource-key_length`' >\r
144                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
145                         <parameter name="logger" value="message-log"/>\r
146                         <parameter name="field1" value="__TIMESTAMP__"/>\r
147                         <parameter name="field2" value="self-serve-create-vpe-pool: key-index"/>\r
148                         <parameter name="field3" value='`$key-index`'/>\r
149                     </record>\r
150                     <block>\r
151                         <switch test="`$tmp.resource-resolution-data.resource-key[$key-index].name == 'vpe_name'`">\r
152                             <outcome value='true'>\r
153                                 <block>\r
154                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
155                                         <parameter name="logger" value="message-log"/>\r
156                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
157                                         <parameter name="field2" value="self-serve-create-vpe-pool: Found resource-resolution-data.name = vpe_name"/>\r
158                                     </record>\r
159                                     <set>\r
160                                         <parameter name='tmp.vpe_name' value='`$tmp.resource-resolution-data.resource-key[$key-index].value`'  />\r
161                                     </set>\r
162                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
163                                         <parameter name="logger" value="message-log"/>\r
164                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
165                                         <parameter name="field2" value="self-serve-mac-address-assign: resolved vpe_name: "/>\r
166                                         <parameter name="field3" value='`$tmp.vpe_name`'/>\r
167                                     </record>\r
168                                     <break/>\r
169                                 </block>\r
170                             </outcome>\r
171                             <outcome value='false'></outcome>\r
172                         </switch>\r
173                     </block>\r
174                 </for>\r
175                 <switch test="`$tmp.vpe_name`">\r
176                     <outcome value='null'>\r
177                         <block>\r
178                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
179                                 <parameter name="logger" value="message-log"/>\r
180                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
181                                 <parameter name="field2" value="self-serve-mac-address-assign: hostname is not set"/>\r
182                             </record>\r
183                             <set>\r
184                                 <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
185                             </set>\r
186                             <return status='failure'>\r
187                                 <parameter name='error-code' value='403' />\r
188                                 <parameter name='error-message' value='vpe_name is not valid' />\r
189                             </return>\r
190                         </block>\r
191                     </outcome>\r
192                     <outcome value=''>\r
193                         <block>\r
194                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
195                                 <parameter name="logger" value="message-log"/>\r
196                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
197                                 <parameter name="field2" value="self-serve-mac-address-assign: hostname is not set"/>\r
198                             </record>\r
199                             <set>\r
200                                 <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
201                             </set>\r
202                             <return status='failure'>\r
203                                 <parameter name='error-code' value='403' />\r
204                                 <parameter name='error-message' value='vpe_name is not valid' />\r
205                             </return>\r
206                         </block>\r
207                     </outcome>\r
208                 </switch>\r
209             </block>\r
210             <block atomic='true'>\r
211                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
212 key="select * FROM VPE_POOL WHERE vpe_name= $tmp.vpe_name" pfx='tmp.vpe_pool_data'>\r
213                     <outcome value='failure'>\r
214                         <block>\r
215                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
216                                 <parameter name="logger" value="message-log"/>\r
217                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
218                                 <parameter name="field2" value="self-serve-mac-address-assign: Unable to access VPE_POOL"/>\r
219                             </record>\r
220                             <set>\r
221                                 <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
222                             </set>\r
223                             <return status='failure'>\r
224                                 <parameter name='error-code' value='405' />\r
225                                 <parameter name='error-message' value='Unable to access VPE_POOL' />\r
226                             </return>\r
227                         </block>\r
228                     </outcome>\r
229                 </get-resource>\r
230                 <switch test="`$tmp.vpe_pool_data.vpe-name`">\r
231                     <outcome value=''>\r
232                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
233                             <parameter name="logger" value="message-log"/>\r
234                             <parameter name="field1" value="__TIMESTAMP__"/>\r
235                             <parameter name="field2" value="self-serve-mac-address-assign: data not found in VPE_POOL for vpe_name: "/>\r
236                             <parameter name="field3" value='`$tmp.vpe_name`'/>\r
237                         </record>\r
238                     </outcome>\r
239                     <outcome value='null'>\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="self-serve-mac-address-assign: data not found in VPE_POOL for vpe_name: "/>\r
244                             <parameter name="field3" value='`$tmp.vpe_name`'/>\r
245                         </record>\r
246                     </outcome>\r
247                     <outcome value='Other'>\r
248                         <block>\r
249                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
250                                 <parameter name="logger" value="message-log"/>\r
251                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
252                                 <parameter name="field2" value="self-serve-mac-address-assign: data already found in VPE_POOL for vpe_name: "/>\r
253                                 <parameter name="field3" value='`$tmp.vpe_name`'/>\r
254                             </record>\r
255                             <switch test="`$ss.capability-action == 'ASSIGN'`">\r
256                                 <outcome value='true'>\r
257                                     <block>\r
258                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
259                                             <parameter name="logger" value="message-log"/>\r
260                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
261                                             <parameter name="field2" value="self-serve-mac-address-assign: Unable to create vpe-pool, data already exists in VPE_POOL for vpe_name"/>\r
262                                         </record>\r
263                                         <set>\r
264                                             <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
265                                         </set>\r
266                                         <return status='failure'>\r
267                                             <parameter name='error-code' value='405' />\r
268                                             <parameter name='error-message' value='Unable to create vpe-pool, data already exists in VPE_POOL for vpe_name' />\r
269                                         </return>\r
270                                     </block>\r
271                                 </outcome>\r
272                             </switch>\r
273                         </block>\r
274                     </outcome>\r
275                 </switch>\r
276             </block>\r
277             <switch test='`$ss.capability-action`'>\r
278                 <outcome value='ASSIGN'>\r
279                     <block atomic='true'>\r
280                         <set>\r
281                             <parameter name='tmp.resource-key-length' value='`$tmp.resource-resolution-data.resource-key_length`' />\r
282                             <!-- String to build VPE_POOL table SQL insert statement -->\r
283                             <parameter name='tmp.resource-insert-columns' value='' />\r
284                             <parameter name='tmp.resource-insert-values' value='' />\r
285                             <!-- These are the resources to insert into VPE_POOL -->\r
286                             <parameter name='tmp.resource-names-length' value='19' />\r
287                             <parameter name='tmp.resource-names[0]' value='vpe_name' />\r
288                             <parameter name='tmp.resource-names[1]' value='ipv4_oam_address' />\r
289                             <parameter name='tmp.resource-names[2]' value='loopback0' />\r
290                             <parameter name='tmp.resource-names[3]' value='provisioning_status' />\r
291                             <parameter name='tmp.resource-names[4]' value='aic_site_id' />\r
292                             <parameter name='tmp.resource-names[5]' value='avaiablity_zone' />\r
293                             <parameter name='tmp.resource-names[6]' value='vlan_id_outer' />\r
294                             <parameter name='tmp.resource-names[7]' value='vendor' />\r
295                             <parameter name='tmp.resource-names[8]' value='physical_intf_name' />\r
296                             <parameter name='tmp.resource-names[9]' value='phyiscal_intf_speed' />\r
297                             <parameter name='tmp.resource-names[10]' value='phyiscal_intf_units' />\r
298                             <parameter name='tmp.resource-names[11]' value='vpe_uuid' />\r
299                             <parameter name='tmp.resource-names[12]' value='vpe_id' />\r
300                             <parameter name='tmp.resource-names[13]' value='image_filename' />\r
301                             <parameter name='tmp.resource-names[14]' value='as_number' />\r
302                             <parameter name='tmp.resource-names[15]' value='loopback5000' />\r
303                             <parameter name='tmp.resource-names[16]' value='loopback10' />\r
304                             <parameter name='tmp.resource-names[17]' value='aic_version' />\r
305                             <parameter name='tmp.resource-names[18]' value='vpe_capacity' />\r
306                         </set>\r
307                         <for index='names-index' start='0' end='`$tmp.resource-names-length`' >\r
308                             <for index='key-index' start='0' end='`$tmp.resource-resolution-data.resource-key_length`' >\r
309                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
310                                     <parameter name="logger" value="message-log"/>\r
311                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
312                                     <parameter name="field2" value="self-serve-create-vpe-pool: key-index, resource-key.name, resource-names"/>\r
313                                     <parameter name="field3" value='`$key-index`'/>\r
314                                     <parameter name="field4" value='`$tmp.resource-resolution-data.resource-key[$key-index].name`'/>\r
315                                     <parameter name="field5" value='`$tmp.resource-names[$names-index]`'/>\r
316                                 </record>\r
317                                 <switch test="`$tmp.resource-resolution-data.resource-key[$key-index].name == $tmp.resource-names[$names-index]`">\r
318                                     <outcome value='true'>\r
319                                         <block>\r
320                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
321                                                 <parameter name="logger" value="message-log"/>\r
322                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
323                                                 <parameter name="field2" value="self-serve-create-vpe-pool: resource-name MATCH: "/>\r
324                                                 <parameter name="field3" value='`$tmp.resource-names[$names-index]`'/>\r
325                                                 <parameter name="field4" value='`$tmp.resource-resolution-data.resource-key[$key-index].value`'/>\r
326                                             </record>\r
327                                             <switch test="`$tmp.insert-columns`">\r
328                                                 <outcome value=''>\r
329                                                     <set>\r
330                                                         <parameter name='tmp.insert-columns' value="`$tmp.resource-resolution-data.resource-key[$key-index].name`"  />\r
331                                                         <parameter name='tmp.insert-values' value="$tmp.resource-resolution-data.resource-key[$key-index].value`"  />\r
332                                                     </set>\r
333                                                 </outcome>\r
334                                                 <outcome value='Other'>\r
335                                                     <set>\r
336                                                         <parameter name='tmp.insert-columns' value="`$tmp.insert-columns + ', ' + $tmp.resource-resolution-data.resource-key[$key-index].name`"  />\r
337                                                         <parameter name='tmp.insert-values' value="`$tmp.insert-values + ', ' + $tmp.resource-resolution-data.resource-key[$key-index].value`"  />\r
338                                                     </set>\r
339                                                 </outcome>\r
340                                             </switch>\r
341                                             <set>\r
342                                                 <parameter name="`'tmp.forInsert.' + $tmp.resource-resolution-data.resource-key[$key-index].name`" value="`$tmp.resource-resolution-data.resource-key[$key-index].value`"  />\r
343                                             </set>\r
344                                             <break/>\r
345                                         </block>\r
346                                     </outcome>\r
347                                 </switch>\r
348                             </for>\r
349                         </for>\r
350                         <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" \r
351 resource="SQL" \r
352 key="INSERT INTO VPE_POOL ( vpe_name, ipv4_oam_address, loopback0_ipv4_address, provisioning_status, aic_site_id, availability_zone, vlan_id_outer, vendor, physical_intf_name, physical_intf_speed, physical_intf_units, vpe_uuid, vpe_id, image_filename, as_number, loopback5000, loopback10, aic_version, vpe_capacity ) \r
353 VALUES ( $tmp.forInsert.vpe_name , $tmp.forInsert.ipv4_oam_address , $tmp.forInsert.loopback0_ipv4_address , $tmp.forInsert.provisioning_status , $tmp.forInsert.aic_site_id , $tmp.forInsert.availability_zone , $tmp.forInsert.vlan_id_outer , $tmp.forInsert.vendor , $tmp.forInsert.physical_intf_name , $tmp.forInsert.physical_intf_speed , $tmp.forInsert.physical_intf_units , $tmp.forInsert.vpe_uuid , $tmp.forInsert.vpe_id , $tmp.forInsert.image_filename , $tmp.forInsert.as_number , $tmp.forInsert.loopback5000 , $tmp.forInsert.loopback10 , $tmp.forInsert.aic_version , $tmp.forInsert.vpe_capacity )" \r
354 force='true' pfx='save_val'>\r
355                             <outcome value='failure'>\r
356                                 <block>\r
357                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
358                                         <parameter name="logger" value="message-log"/>\r
359                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
360                                         <parameter name="field2" value="self-serve-mac-address-assign: Unable to create VPE Pool in VPE_POOL"/>\r
361                                     </record>\r
362                                     <set>\r
363                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
364                                     </set>\r
365                                     <return status='failure'>\r
366                                         <parameter name='error-code' value='406' />\r
367                                         <parameter name='error-message' value='Unable to create VPE Pool in VPE_POOL' />\r
368                                     </return>\r
369                                 </block>\r
370                             </outcome>\r
371                         </save>\r
372                     </block>\r
373                 </outcome>\r
374                 <outcome value='UNASSIGN'>\r
375                     <block atomic="true">\r
376                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
377 key="select * FROM VPE_POOL WHERE vpe_name= $tmp.vpe_name" pfx='tmp.pool'>\r
378                             <outcome value='failure'>\r
379                                 <block>\r
380                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
381                                         <parameter name="logger" value="message-log"/>\r
382                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
383                                         <parameter name="field2" value="self-serve-mac-address-assign: vpe_name not found in VPE_POOL on UNASSIGN operation"/>\r
384                                     </record>\r
385                                     <set>\r
386                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
387                                     </set>\r
388                                     <return status='failure'>\r
389                                         <parameter name='error-code' value='405' />\r
390                                         <parameter name='error-message' value='vpe_name not found in VPE_POOL on UNASSIGN operation' />\r
391                                     </return>\r
392                                 </block>\r
393                             </outcome>\r
394                         </get-resource>\r
395                         <switch test="`$tmp.pool.vpe-name`">\r
396                             <outcome value='failure'>\r
397                                 <block>\r
398                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
399                                         <parameter name="logger" value="message-log"/>\r
400                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
401                                         <parameter name="field2" value="self-serve-mac-address-assign: vpe_name not found in VPE_POOL on UNASSIGN operation"/>\r
402                                     </record>\r
403                                     <set>\r
404                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
405                                     </set>\r
406                                     <return status='failure'>\r
407                                         <parameter name='error-code' value='405' />\r
408                                         <parameter name='error-message' value='vpe_name not found in VPE_POOL on UNASSIGN operation' />\r
409                                     </return>\r
410                                 </block>\r
411                             </outcome>\r
412                             <outcome value=''>\r
413                                 <block>\r
414                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
415                                         <parameter name="logger" value="message-log"/>\r
416                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
417                                         <parameter name="field2" value="self-serve-mac-address-assign: vpe_name not found in VPE_POOL on UNASSIGN operation"/>\r
418                                     </record>\r
419                                     <set>\r
420                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
421                                     </set>\r
422                                     <return status='failure'>\r
423                                         <parameter name='error-code' value='405' />\r
424                                         <parameter name='error-message' value='vpe_name not found in VPE_POOL on UNASSIGN operation' />\r
425                                     </return>\r
426                                 </block>\r
427                             </outcome>\r
428                             <outcome value='null'>\r
429                                 <block>\r
430                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
431                                         <parameter name="logger" value="message-log"/>\r
432                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
433                                         <parameter name="field2" value="self-serve-mac-address-assign: vpe_name not found in VPE_POOL on UNASSIGN operation"/>\r
434                                     </record>\r
435                                     <set>\r
436                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
437                                     </set>\r
438                                     <return status='failure'>\r
439                                         <parameter name='error-code' value='405' />\r
440                                         <parameter name='error-message' value='vpe_name not found in VPE_POOL on UNASSIGN operation' />\r
441                                     </return>\r
442                                 </block>\r
443                             </outcome>\r
444                             <outcome value='Other'>\r
445                                 <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
446 key='DELETE from VPE_POOL WHERE vpe_name = $tmp.vpe_name'>\r
447                                     <outcome value='failure'>\r
448                                         <block>\r
449                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
450                                                 <parameter name="logger" value="message-log"/>\r
451                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
452                                                 <parameter name="field2" value="self-serve-mac-address-assign: Failure deleting from VPE_POOL on UNASSIGN operation"/>\r
453                                             </record>\r
454                                             <set>\r
455                                                 <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
456                                             </set>\r
457                                             <return status='failure'>\r
458                                                 <parameter name='error-code' value='405' />\r
459                                                 <parameter name='error-message' value='Failure deleting from VPE_POOL on UNASSIGN operation' />\r
460                                             </return>\r
461                                         </block>\r
462                                     </outcome>\r
463                                     <outcome value='success'>\r
464                                         <block>\r
465                                             <for index='key-index' start='0' end='`$tmp.resource-resolution-data.resource-key_length`' >\r
466                                                 <set>\r
467                                                     <parameter name="`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-parameters-index].resource-resolution-data.status`" value="DELETED"  />\r
468                                                 </set>\r
469                                             </for>\r
470                                         </block>\r
471                                     </outcome>\r
472                                 </delete>\r
473                             </outcome>\r
474                         </switch>\r
475                     </block>\r
476                 </outcome>\r
477             </switch>\r
478             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
479                 <parameter name='filename' value='/var/tmp/self-serve-create-vpe-pool.log' />\r
480             </execute>\r
481             <return status='success'>\r
482                 <parameter name="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-parameters-index].resource-resolution-data.status`" value='SUCCESS'  />\r
483             </return>\r
484         </block>\r
485     </method>\r
486 </service-logic>