Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.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='vnf-topology-operation-assign-async' mode='sync'>\r
5         <block atomic="true">\r
6             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
7                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
8                 <parameter name='contextPrefix' value='prop' />\r
9             </execute>\r
10             <switch test="`$vnf-topology-operation-input.vnf-request-input.cloud-owner != ''`">\r
11                 <outcome value='true'>\r
12                     <set>\r
13                         <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\r
14                     </set>\r
15                 </outcome>\r
16             </switch>\r
17             <set>\r
18                 <parameter name="so.ack-final-indicator" value="Y" />\r
19                 <parameter name="so.response-code" value="500" />\r
20                 <parameter name="so.notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
21                 <parameter name="so.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
22                 <parameter name="so.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
23                 <parameter name="so.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
24             </set>\r
25             <switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>\r
26                 <outcome value=''>\r
27                     <block></block>\r
28                 </outcome>\r
29                 <outcome value='Other'>\r
30                     <set>\r
31                         <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\r
32                     </set>\r
33                 </outcome>\r
34             </switch>\r
35             <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
36                 <outcome value='CreateVnfInstance'>\r
37                     <block></block>\r
38                 </outcome>\r
39                 <outcome value='Other'>\r
40                     <block atomic="true">\r
41                         <set>\r
42                             <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVnfInstance'" />\r
43                         </set>\r
44                         <block atomic='true'>\r
45                             <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
46                             <return status='failure'>\r
47                                 <parameter name='ack-final' value='Y'/>\r
48                                 <parameter name="error-code" value="500" />\r
49                                 <parameter name="error-message" value="`$error-message`" />\r
50                             </return>\r
51                         </block>\r
52                     </block>\r
53                 </outcome>\r
54             </switch>\r
55             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
56   key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\r
57   pfx='db.vf-model'>\r
58                 <outcome value='failure'>\r
59                     <block atomic="true">\r
60                         <set>\r
61                             <parameter name="error-message" value="Error reading VF_MODEL table" />\r
62                         </set>\r
63                         <block atomic='true'>\r
64                             <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
65                             <return status='failure'>\r
66                                 <parameter name='ack-final' value='Y'/>\r
67                                 <parameter name="error-code" value="500" />\r
68                                 <parameter name="error-message" value="`$error-message`" />\r
69                             </return>\r
70                         </block>\r
71                     </block>\r
72                 </outcome>\r
73                 <outcome value='not-found'>\r
74                     <block atomic="true">\r
75                         <set>\r
76                             <parameter name="error-message" value="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />\r
77                         </set>\r
78                         <block atomic='true'>\r
79                             <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
80                             <return status='failure'>\r
81                                 <parameter name='ack-final' value='Y'/>\r
82                                 <parameter name="error-code" value="500" />\r
83                                 <parameter name="error-message" value="`$error-message`" />\r
84                             </return>\r
85                         </block>\r
86                     </block>\r
87                 </outcome>\r
88             </get-resource>\r
89             <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>\r
90             <switch test="`$ss.self-serve-flag`">\r
91                 <outcome value='true'>\r
92                     <block atomic="true">\r
93                         <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\r
94                             <outcome value='failure'>\r
95                                 <block atomic="true">\r
96                                     <set>\r
97                                         <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`" />\r
98                                     </set>\r
99                                     <block atomic='true'>\r
100                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
101                                         <return status='failure'>\r
102                                             <parameter name='ack-final' value='Y'/>\r
103                                             <parameter name="error-code" value="500" />\r
104                                             <parameter name="error-message" value="`$error-message`" />\r
105                                         </return>\r
106                                     </block>\r
107                                 </block>\r
108                             </outcome>\r
109                         </call>\r
110                         <set>\r
111                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\r
112                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
113                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
114                         </set>\r
115                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
116                             <parameter name='filename' value='/var/tmp/ss-vnfend.log' />\r
117                         </execute>\r
118                         <set>\r
119                             <parameter name="so.response-code" value="200" />\r
120                         </set>\r
121                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
122                         <return status='success'>\r
123                             <parameter name="ack-final-indicator" value="Y" />\r
124                             <parameter name="error-code" value="200" />\r
125                             <parameter name="error-message" value="`$error-message`" />\r
126                         </return>\r
127                     </block>\r
128                 </outcome>\r
129                 <outcome value='false'>\r
130                     <block atomic="true">\r
131                         <switch test='`$service-data.vnfs.vnf_length`'>\r
132                             <outcome value=''>\r
133                                 <set>\r
134                                     <parameter name='vnf-index' value='0' />\r
135                                 </set>\r
136                             </outcome>\r
137                             <outcome value='Other'>\r
138                                 <block atomic='true'>\r
139                                     <set>\r
140                                         <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\r
141                                     </set>\r
142                                     <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
143                                         <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\r
144                                             <outcome value='true'>\r
145                                                 <block atomic="true">\r
146                                                     <set>\r
147                                                         <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\r
148       + ' already exists'`" />\r
149                                                     </set>\r
150                                                     <block atomic='true'>\r
151                                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
152                                                         <return status='failure'>\r
153                                                             <parameter name='ack-final' value='Y'/>\r
154                                                             <parameter name="error-code" value="500" />\r
155                                                             <parameter name="error-message" value="`$error-message`" />\r
156                                                         </return>\r
157                                                     </block>\r
158                                                 </block>\r
159                                             </outcome>\r
160                                         </switch>\r
161                                     </for>\r
162                                 </block>\r
163                             </outcome>\r
164                         </switch>\r
165                         <set>\r
166                             <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\r
167                         </set>\r
168                         <set>\r
169                             <parameter name='tmp.vnf-network-collection_length' value='0' />\r
170                         </set>\r
171                         <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\r
172                             <block atomic="true">\r
173                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
174                 resource="instance-group" \r
175                 key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"\r
176         pfx='aai.instance-group' local-only='false' >\r
177                                     <outcome value='not-found'>\r
178                                         <block atomic="true">\r
179                                             <set>\r
180                                                 <parameter name="error-message" value="`'Cannot find instance group id ' +\r
181       $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\r
182       + ' in AAI'`" />\r
183                                             </set>\r
184                                             <block atomic='true'>\r
185                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
186                                                 <return status='failure'>\r
187                                                     <parameter name='ack-final' value='Y'/>\r
188                                                     <parameter name="error-code" value="500" />\r
189                                                     <parameter name="error-message" value="`$error-message`" />\r
190                                                 </return>\r
191                                             </block>\r
192                                         </block>\r
193                                     </outcome>\r
194                                     <outcome value='failure'>\r
195                                         <block atomic="true">\r
196                                             <set>\r
197                                                 <parameter name="error-message" value="Error retrieving instance-group from AAI" />\r
198                                             </set>\r
199                                             <block atomic='true'>\r
200                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
201                                                 <return status='failure'>\r
202                                                     <parameter name='ack-final' value='Y'/>\r
203                                                     <parameter name="error-code" value="500" />\r
204                                                     <parameter name="error-message" value="`$error-message`" />\r
205                                                 </return>\r
206                                             </block>\r
207                                         </block>\r
208                                     </outcome>\r
209                                 </get-resource>\r
210                                 <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\r
211                                     <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\r
212                                         <outcome value='collection'>\r
213                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
214                 resource="collection" \r
215                 key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"\r
216         pfx='aai.collection' local-only='false' >\r
217                                                 <outcome value='not-found'>\r
218                                                     <block atomic="true">\r
219                                                         <set>\r
220                                                             <parameter name="error-message" value="`'Unable to find AAI relationship from collection '\r
221       + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\r
222       + ' to service instance'`" />\r
223                                                         </set>\r
224                                                         <block atomic='true'>\r
225                                                             <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
226                                                             <return status='failure'>\r
227                                                                 <parameter name='ack-final' value='Y'/>\r
228                                                                 <parameter name="error-code" value="500" />\r
229                                                                 <parameter name="error-message" value="`$error-message`" />\r
230                                                             </return>\r
231                                                         </block>\r
232                                                     </block>\r
233                                                 </outcome>\r
234                                                 <outcome value='failure'>\r
235                                                     <block atomic="true">\r
236                                                         <set>\r
237                                                             <parameter name="error-message" value="`'Failed to get network service instance '\r
238       + $network-service-instance + ' from MD-SAL'`" />\r
239                                                         </set>\r
240                                                         <block atomic='true'>\r
241                                                             <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
242                                                             <return status='failure'>\r
243                                                                 <parameter name='ack-final' value='Y'/>\r
244                                                                 <parameter name="error-code" value="500" />\r
245                                                                 <parameter name="error-message" value="`$error-message`" />\r
246                                                             </return>\r
247                                                         </block>\r
248                                                     </block>\r
249                                                 </outcome>\r
250                                                 <outcome value='success'>\r
251                                                     <block atomic="true">\r
252                                                         <set>\r
253                                                             <parameter name='found-network-instance-group' value='false' />\r
254                                                         </set>\r
255                                                         <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\r
256                                                             <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\r
257   == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\r
258                                                                 <outcome value='true'>\r
259                                                                     <block>\r
260                                                                         <set>\r
261                                                                             <parameter name='found-network-instance-group' value='true' />\r
262                                                                         </set>\r
263                                                                         <break/>\r
264                                                                     </block>\r
265                                                                 </outcome>\r
266                                                             </switch>\r
267                                                         </for>\r
268                                                         <switch test='`$found-network-instance-group`'>\r
269                                                             <outcome value='false'>\r
270                                                                 <block atomic="true">\r
271                                                                     <set>\r
272                                                                         <parameter name="error-message" value="`'Could not find network instance group ' +\r
273       $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\r
274       + ' in MD-SAL service instance '\r
275       + $network-service-instance`" />\r
276                                                                     </set>\r
277                                                                     <block atomic='true'>\r
278                                                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
279                                                                         <return status='failure'>\r
280                                                                             <parameter name='ack-final' value='Y'/>\r
281                                                                             <parameter name="error-code" value="500" />\r
282                                                                             <parameter name="error-message" value="`$error-message`" />\r
283                                                                         </return>\r
284                                                                     </block>\r
285                                                                 </block>\r
286                                                             </outcome>\r
287                                                         </switch>\r
288                                                         <set>\r
289                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\r
290   value='`$aai.instance-group.instance-group-function`' />\r
291                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\r
292   value='`$aai.instance-group.id`' />\r
293                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\r
294   value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\r
295                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\r
296   value='`$aai.collection.collection-customization-id`' />\r
297                                                         </set>\r
298                                                         <set>\r
299                                                             <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\r
300                                                         </set>\r
301                                                     </block>\r
302                                                 </outcome>\r
303                                             </get-resource>\r
304                                         </outcome>\r
305                                     </switch>\r
306                                 </for>\r
307                             </block>\r
308                         </for>\r
309                         <set>\r
310                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\r
311   value='`$tmp.vnf-network-collection_length`' />\r
312                         </set>\r
313                         <set>\r
314                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\r
315  value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
316                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\r
317  value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\r
318                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\r
319  value='`$db.vf-model.nf-type`' />\r
320                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\r
321  value='`$db.vf-model.nf-role`' />\r
322                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\r
323  value='`$db.vf-model.nf-function`' />\r
324                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\r
325  value='`$db.vf-model.nf-code`' />\r
326                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\r
327  value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\r
328                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\r
329  value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\r
330                         </set>\r
331                         <switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>\r
332                             <outcome value=''>\r
333                                 <block atomic="true">\r
334                                     <switch test='`$db.vf-model.ecomp-generated-naming`'>\r
335                                         <outcome value='Y'>\r
336                                             <block></block>\r
337                                         </outcome>\r
338                                         <outcome value='N'>\r
339                                             <block atomic="true">\r
340                                                 <set>\r
341                                                     <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />\r
342                                                 </set>\r
343                                                 <block atomic='true'>\r
344                                                     <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
345                                                     <return status='failure'>\r
346                                                         <parameter name='ack-final' value='Y'/>\r
347                                                         <parameter name="error-code" value="500" />\r
348                                                         <parameter name="error-message" value="`$error-message`" />\r
349                                                     </return>\r
350                                                 </block>\r
351                                             </block>\r
352                                         </outcome>\r
353                                         <outcome value='Other'>\r
354                                             <block atomic="true">\r
355                                                 <set>\r
356                                                     <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />\r
357                                                 </set>\r
358                                                 <block atomic='true'>\r
359                                                     <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
360                                                     <return status='failure'>\r
361                                                         <parameter name='ack-final' value='Y'/>\r
362                                                         <parameter name="error-code" value="500" />\r
363                                                         <parameter name="error-message" value="`$error-message`" />\r
364                                                     </return>\r
365                                                 </block>\r
366                                             </block>\r
367                                         </outcome>\r
368                                     </switch>\r
369                                     <switch test='`$db.vf-model.naming-policy`'>\r
370                                         <outcome value=''>\r
371                                             <block atomic="true">\r
372                                                 <set>\r
373                                                     <parameter name='generate-unique-name-input.action' value='ASSIGN' />\r
374                                                     <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
375                                                     <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\r
376                                                     <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\r
377                                                     <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\r
378                                                     <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />\r
379                                                 </set>\r
380                                                 <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\r
381                                                     <outcome value='failure'>\r
382                                                         <block atomic="true">\r
383                                                             <set>\r
384                                                                 <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />\r
385                                                             </set>\r
386                                                             <block atomic='true'>\r
387                                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
388                                                                 <return status='failure'>\r
389                                                                     <parameter name='ack-final' value='Y'/>\r
390                                                                     <parameter name="error-code" value="500" />\r
391                                                                     <parameter name="error-message" value="`$error-message`" />\r
392                                                                 </return>\r
393                                                             </block>\r
394                                                         </block>\r
395                                                     </outcome>\r
396                                                     <outcome value='success'>\r
397                                                         <set>\r
398                                                             <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\r
399                                                         </set>\r
400                                                     </outcome>\r
401                                                 </call>\r
402                                             </block>\r
403                                         </outcome>\r
404                                         <outcome value='Other'>\r
405                                             <block atomic="true">\r
406                                                 <set>\r
407                                                     <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\r
408                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
409                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
410                                                     <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\r
411                                                     <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\r
412                                                 </set>\r
413                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\r
414                                                     <outcome value='failure'>\r
415                                                         <block atomic="true">\r
416                                                             <set>\r
417                                                                 <parameter name="error-message" value="Unable to generate VNF name" />\r
418                                                             </set>\r
419                                                             <block atomic='true'>\r
420                                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
421                                                                 <return status='failure'>\r
422                                                                     <parameter name='ack-final' value='Y'/>\r
423                                                                     <parameter name="error-code" value="500" />\r
424                                                                     <parameter name="error-message" value="`$error-message`" />\r
425                                                                 </return>\r
426                                                             </block>\r
427                                                         </block>\r
428                                                     </outcome>\r
429                                                     <outcome value='success'>\r
430                                                         <set>\r
431                                                             <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\r
432                                                         </set>\r
433                                                     </outcome>\r
434                                                 </call>\r
435                                             </block>\r
436                                         </outcome>\r
437                                     </switch>\r
438                                 </block>\r
439                             </outcome>\r
440                             <outcome value='Other'>\r
441                                 <set>\r
442                                     <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-information.vnf-name`" />\r
443                                 </set>\r
444                             </outcome>\r
445                         </switch>\r
446                         <set>\r
447                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\r
448    value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
449                         </set>\r
450                         <set>\r
451                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\r
452    value='`$tmp.vnf-name`' />\r
453                         </set>\r
454                         <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\r
455                             <outcome value=''>\r
456                                 <set>\r
457                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\r
458   value='`$db.vf-model.invariant-uuid`' />\r
459                                 </set>\r
460                             </outcome>\r
461                             <outcome value='Other'>\r
462                                 <set>\r
463                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\r
464   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\r
465                                 </set>\r
466                             </outcome>\r
467                         </switch>\r
468                         <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\r
469                             <outcome value=''>\r
470                                 <set>\r
471                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\r
472   value='`$db.vf-model.uuid`' />\r
473                                 </set>\r
474                             </outcome>\r
475                             <outcome value='Other'>\r
476                                 <set>\r
477                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\r
478   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\r
479                                 </set>\r
480                             </outcome>\r
481                         </switch>\r
482                         <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\r
483                             <outcome value=''>\r
484                                 <set>\r
485                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\r
486   value='`$db.vf-model.version`' />\r
487                                 </set>\r
488                             </outcome>\r
489                             <outcome value='Other'>\r
490                                 <set>\r
491                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\r
492   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\r
493                                 </set>\r
494                             </outcome>\r
495                         </switch>\r
496                         <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\r
497                             <outcome value=''>\r
498                                 <set>\r
499                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\r
500   value='`$db.vf-model.name`' />\r
501                                 </set>\r
502                             </outcome>\r
503                             <outcome value='Other'>\r
504                                 <set>\r
505                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\r
506   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\r
507                                 </set>\r
508                             </outcome>\r
509                         </switch>\r
510                         <set>\r
511                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\r
512   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\r
513                         </set>\r
514                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
515                 resource="cloud-region" \r
516                 key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \r
517                      cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\r
518                      depth='all'"\r
519         pfx='aai.cloud-region' local-only='false' >\r
520                             <outcome value='not-found'>\r
521                                 <block atomic="true">\r
522                                     <set>\r
523                                         <parameter name="error-message" value="Cloud region not found in AAI" />\r
524                                     </set>\r
525                                     <block atomic="true">\r
526                                         <set>\r
527                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
528                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
529                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
530                                         </set>\r
531                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
532                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
533                                         <return status='failure'>\r
534                                             <parameter name='ack-final' value='Y'/>\r
535                                             <parameter name="error-code" value="500" />\r
536                                             <parameter name="error-message" value="`$error-message`" />\r
537                                         </return>\r
538                                     </block>\r
539                                 </block>\r
540                             </outcome>\r
541                             <outcome value='failure'>\r
542                                 <block atomic="true">\r
543                                     <set>\r
544                                         <parameter name="error-message" value="Error retrieving cloud region from AAI" />\r
545                                     </set>\r
546                                     <block atomic="true">\r
547                                         <set>\r
548                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
549                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
550                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
551                                         </set>\r
552                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
553                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
554                                         <return status='failure'>\r
555                                             <parameter name='ack-final' value='Y'/>\r
556                                             <parameter name="error-code" value="500" />\r
557                                             <parameter name="error-message" value="`$error-message`" />\r
558                                         </return>\r
559                                     </block>\r
560                                 </block>\r
561                             </outcome>\r
562                         </get-resource>\r
563                         <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\r
564                             <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\r
565                                 <outcome value='complex'>\r
566                                     <block atomic="true">\r
567                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
568                                             <parameter name='ctx_memory_result_key' value='aai-uid-split' />\r
569                                             <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\r
570                                             <parameter name='regex' value='/' />\r
571                                         </execute>\r
572                                         <set>\r
573                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\r
574   value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\r
575                                         </set>\r
576                                         <break/>\r
577                                     </block>\r
578                                 </outcome>\r
579                             </switch>\r
580                         </for>\r
581                         <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\r
582                             <outcome value=''>\r
583                                 <block atomic="true">\r
584                                     <set>\r
585                                         <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
586                                     </set>\r
587                                     <block atomic="true">\r
588                                         <set>\r
589                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
590                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
591                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
592                                         </set>\r
593                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
594                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
595                                         <return status='failure'>\r
596                                             <parameter name='ack-final' value='Y'/>\r
597                                             <parameter name="error-code" value="500" />\r
598                                             <parameter name="error-message" value="`$error-message`" />\r
599                                         </return>\r
600                                     </block>\r
601                                 </block>\r
602                             </outcome>\r
603                         </switch>\r
604                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
605   key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\r
606   pfx='db.vf-network-role-mapping[]'>\r
607                             <outcome value='failure'>\r
608                                 <block atomic="true">\r
609                                     <set>\r
610                                         <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />\r
611                                     </set>\r
612                                     <block atomic="true">\r
613                                         <set>\r
614                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
615                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
616                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
617                                         </set>\r
618                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
619                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
620                                         <return status='failure'>\r
621                                             <parameter name='ack-final' value='Y'/>\r
622                                             <parameter name="error-code" value="500" />\r
623                                             <parameter name="error-message" value="`$error-message`" />\r
624                                         </return>\r
625                                     </block>\r
626                                 </block>\r
627                             </outcome>\r
628                             <outcome value='not-found'>\r
629                                 <set>\r
630                                     <parameter name='db.vf-network-role-mapping_length' value='0' />\r
631                                 </set>\r
632                             </outcome>\r
633                         </get-resource>\r
634                         <set>\r
635                             <parameter name='network-index' value='0' />\r
636                         </set>\r
637                         <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>\r
638                             <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\r
639                                 <outcome value=''>\r
640                                     <block></block>\r
641                                 </outcome>\r
642                                 <outcome value='null'>\r
643                                     <block></block>\r
644                                 </outcome>\r
645                                 <outcome value='NULL'>\r
646                                     <block></block>\r
647                                 </outcome>\r
648                                 <outcome value='Other'>\r
649                                     <block atomic="true">\r
650                                         <set>\r
651                                             <parameter name='aai.l3-network.' value='' />\r
652                                         </set>\r
653                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
654                 resource="l3-networks" \r
655                 key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"\r
656         pfx='aai.l3-network' local-only='false'\r
657 >\r
658                                             <outcome value='not-found'>\r
659                                                 <block atomic="true">\r
660                                                     <set>\r
661                                                         <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />\r
662                                                     </set>\r
663                                                     <block atomic="true">\r
664                                                         <set>\r
665                                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
666                                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
667                                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
668                                                         </set>\r
669                                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
670                                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
671                                                         <return status='failure'>\r
672                                                             <parameter name='ack-final' value='Y'/>\r
673                                                             <parameter name="error-code" value="500" />\r
674                                                             <parameter name="error-message" value="`$error-message`" />\r
675                                                         </return>\r
676                                                     </block>\r
677                                                 </block>\r
678                                             </outcome>\r
679                                             <outcome value='failure'>\r
680                                                 <block atomic="true">\r
681                                                     <set>\r
682                                                         <parameter name="error-message" value="Error retrieving l3-network from AAI" />\r
683                                                     </set>\r
684                                                     <block atomic="true">\r
685                                                         <set>\r
686                                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
687                                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
688                                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
689                                                         </set>\r
690                                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
691                                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
692                                                         <return status='failure'>\r
693                                                             <parameter name='ack-final' value='Y'/>\r
694                                                             <parameter name="error-code" value="500" />\r
695                                                             <parameter name="error-message" value="`$error-message`" />\r
696                                                         </return>\r
697                                                     </block>\r
698                                                 </block>\r
699                                             </outcome>\r
700                                         </get-resource>\r
701                                         <set>\r
702                                             <parameter name='l3-network-id' value='-1' />\r
703                                         </set>\r
704                                         <block>\r
705                                             <set>\r
706                                                 <parameter name='found-network' value='false' />\r
707                                             </set>\r
708                                             <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\r
709                                                 <block atomic="true">\r
710                                                     <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\r
711                                                         <outcome value='PendingCreate'>\r
712                                                             <block></block>\r
713                                                         </outcome>\r
714                                                         <outcome value='Pending Create'>\r
715                                                             <block></block>\r
716                                                         </outcome>\r
717                                                         <outcome value='PendingDelete'>\r
718                                                             <block></block>\r
719                                                         </outcome>\r
720                                                         <outcome value='Pending Delete'>\r
721                                                             <block></block>\r
722                                                         </outcome>\r
723                                                         <outcome value='Other'>\r
724                                                             <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\r
725                                                                 <block atomic="true">\r
726                                                                     <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\r
727                                                                         <outcome value='service-instance'>\r
728                                                                             <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\r
729                                                                                 <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\r
730                                                                                     <outcome value='service-instance.service-instance-id'>\r
731                                                                                         <set>\r
732                                                                                             <parameter name='network-service-instance-id'\r
733   value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\r
734                                                                                         </set>\r
735                                                                                     </outcome>\r
736                                                                                 </switch>\r
737                                                                             </for>\r
738                                                                         </outcome>\r
739                                                                         <outcome value='cloud-region'>\r
740                                                                             <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\r
741                                                                                 <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\r
742                                                                                     <outcome value='cloud-region.cloud-region-id'>\r
743                                                                                         <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\r
744                                                                                             <outcome value='true'>\r
745                                                                                                 <block atomic="true">\r
746                                                                                                     <set>\r
747                                                                                                         <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\r
748                                                                                                     </set>\r
749                                                                                                     <set>\r
750                                                                                                         <parameter name='found-network' value='true' />\r
751                                                                                                     </set>\r
752                                                                                                     <break/>\r
753                                                                                                 </block>\r
754                                                                                             </outcome>\r
755                                                                                         </switch>\r
756                                                                                     </outcome>\r
757                                                                                 </switch>\r
758                                                                             </for>\r
759                                                                         </outcome>\r
760                                                                     </switch>\r
761                                                                     <switch test='`$found-network`'>\r
762                                                                         <outcome value='true'>\r
763                                                                             <break/>\r
764                                                                         </outcome>\r
765                                                                     </switch>\r
766                                                                 </block>\r
767                                                             </for>\r
768                                                         </outcome>\r
769                                                     </switch>\r
770                                                     <switch test='`$found-network`'>\r
771                                                         <outcome value='true'>\r
772                                                             <break/>\r
773                                                         </outcome>\r
774                                                     </switch>\r
775                                                 </block>\r
776                                             </for>\r
777                                         </block>\r
778                                         <switch test='`$l3-network-id`'>\r
779                                             <outcome value='-1'>\r
780                                                 <block atomic="true">\r
781                                                     <set>\r
782                                                         <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />\r
783                                                     </set>\r
784                                                     <block atomic="true">\r
785                                                         <set>\r
786                                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
787                                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
788                                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
789                                                         </set>\r
790                                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
791                                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
792                                                         <return status='failure'>\r
793                                                             <parameter name='ack-final' value='Y'/>\r
794                                                             <parameter name="error-code" value="500" />\r
795                                                             <parameter name="error-message" value="`$error-message`" />\r
796                                                         </return>\r
797                                                     </block>\r
798                                                 </block>\r
799                                             </outcome>\r
800                                         </switch>\r
801                                         <set>\r
802                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\r
803     value='`$db.vf-network-role-mapping[$role-index].network-role`' />\r
804                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\r
805     value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\r
806                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\r
807     value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\r
808                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\r
809     value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\r
810                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\r
811     value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\r
812                                         </set>\r
813                                         <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>\r
814                                             <outcome value=''>\r
815                                                 <set>\r
816                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
817    value='0' />\r
818                                                 </set>\r
819                                             </outcome>\r
820                                             <outcome value='0'>\r
821                                                 <set>\r
822                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
823    value='0' />\r
824                                                 </set>\r
825                                             </outcome>\r
826                                             <outcome value='Other'>\r
827                                                 <block>\r
828                                                     <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >\r
829                                                         <block>\r
830                                                             <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\r
831                                                                 <outcome value=''>\r
832                                                                     <set>\r
833                                                                         <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\r
834                                                                     </set>\r
835                                                                 </outcome>\r
836                                                             </switch>\r
837                                                             <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\r
838                                                                 <outcome value='4'>\r
839                                                                     <set>\r
840                                                                         <parameter name='tmp.ip-version' value='ipv4' />\r
841                                                                     </set>\r
842                                                                 </outcome>\r
843                                                                 <outcome value='6'>\r
844                                                                     <set>\r
845                                                                         <parameter name='tmp.ip-version' value='ipv6' />\r
846                                                                     </set>\r
847                                                                 </outcome>\r
848                                                             </switch>\r
849                                                             <set>\r
850                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\r
851    value='`$tmp.ip-version`' />\r
852                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\r
853    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\r
854                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\r
855    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\r
856                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\r
857    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\r
858                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\r
859    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\r
860                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\r
861    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\r
862                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\r
863    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\r
864                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\r
865    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\r
866                                                             </set>\r
867                                                             <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\r
868                                                                 <outcome value='true'>\r
869                                                                     <set>\r
870                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\r
871    value='Y' />\r
872                                                                     </set>\r
873                                                                 </outcome>\r
874                                                                 <outcome value='false'>\r
875                                                                     <set>\r
876                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\r
877    value='N' />\r
878                                                                     </set>\r
879                                                                 </outcome>\r
880                                                             </switch>\r
881                                                         </block>\r
882                                                     </for>\r
883                                                     <set>\r
884                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
885    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />\r
886                                                     </set>\r
887                                                 </block>\r
888                                             </outcome>\r
889                                         </switch>\r
890                                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
891   key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\r
892     and network_role = $db.vf-network-role-mapping[$role-index].network-role'\r
893   pfx='db.vnf-related-network-role[]'>\r
894                                             <outcome value='failure'>\r
895                                                 <block atomic="true">\r
896                                                     <set>\r
897                                                         <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />\r
898                                                     </set>\r
899                                                     <block atomic="true">\r
900                                                         <set>\r
901                                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
902                                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
903                                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
904                                                         </set>\r
905                                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
906                                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
907                                                         <return status='failure'>\r
908                                                             <parameter name='ack-final' value='Y'/>\r
909                                                             <parameter name="error-code" value="500" />\r
910                                                             <parameter name="error-message" value="`$error-message`" />\r
911                                                         </return>\r
912                                                     </block>\r
913                                                 </block>\r
914                                             </outcome>\r
915                                             <outcome value='success'>\r
916                                                 <block atomic="true">\r
917                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
918                                                         <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>\r
919                                                         <parameter name="outputPath" value="tmp.part"/>\r
920                                                         <parameter name="target" value="{service-instance-id}"/>\r
921                                                         <parameter name="replacement" value="`$network-service-instance-id`"/>\r
922                                                     </execute>\r
923                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
924                                                         <parameter name="source" value="`$tmp.part`"/>\r
925                                                         <parameter name="outputPath" value="tmp.ntis-url"/>\r
926                                                         <parameter name="target" value="{network-id}"/>\r
927                                                         <parameter name="replacement" value="`$l3-network-id`"/>\r
928                                                     </execute>\r
929                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
930                                                         <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />\r
931                                                         <parameter name='restapiUser' value='`$prop.controller.user`' />\r
932                                                         <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
933                                                         <parameter name='format' value='json' />\r
934                                                         <parameter name='httpMethod' value='GET' />\r
935                                                         <parameter name="responsePrefix" value="mdsal-ntis" />\r
936                                                         <outcome value='failure'>\r
937                                                             <block atomic="true">\r
938                                                                 <set>\r
939                                                                     <parameter name="error-message" value="`\r
940     'Error retrieving network-topology-identifier-structure for service instance '\r
941     + $network-service-instance-id\r
942     + ' and network-id '\r
943     + $l3-network-id`" />\r
944                                                                 </set>\r
945                                                                 <block atomic="true">\r
946                                                                     <set>\r
947                                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
948                                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
949                                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
950                                                                     </set>\r
951                                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
952                                                                     <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
953                                                                     <return status='failure'>\r
954                                                                         <parameter name='ack-final' value='Y'/>\r
955                                                                         <parameter name="error-code" value="500" />\r
956                                                                         <parameter name="error-message" value="`$error-message`" />\r
957                                                                     </return>\r
958                                                                 </block>\r
959                                                             </block>\r
960                                                         </outcome>\r
961                                                     </execute>\r
962                                                     <set>\r
963                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\r
964     value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\r
965                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\r
966     value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\r
967                                                     </set>\r
968                                                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
969       resource="custom-query"\r
970       key="format = 'resource'"\r
971       force="true"\r
972       local-only="false"\r
973       pfx="tmp.AnAI-data.oe">\r
974                                                         <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />\r
975                                                         <parameter name="start_length" value="1" />\r
976                                                         <parameter name="query" value="/query/owning-entity-fromService-instance" />\r
977                                                         <outcome value='failure'>\r
978                                                             <block atomic="true">\r
979                                                                 <set>\r
980                                                                     <parameter name="error-message" value="Error getting owning entity from service instance" />\r
981                                                                 </set>\r
982                                                                 <block atomic="true">\r
983                                                                     <set>\r
984                                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
985                                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
986                                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
987                                                                     </set>\r
988                                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
989                                                                     <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
990                                                                     <return status='failure'>\r
991                                                                         <parameter name='ack-final' value='Y'/>\r
992                                                                         <parameter name="error-code" value="500" />\r
993                                                                         <parameter name="error-message" value="`$error-message`" />\r
994                                                                     </return>\r
995                                                                 </block>\r
996                                                             </block>\r
997                                                         </outcome>\r
998                                                         <outcome value='not-found'>\r
999                                                             <block atomic="true">\r
1000                                                                 <set>\r
1001                                                                     <parameter name="error-message" value="Unable to find owning entity from service instance" />\r
1002                                                                 </set>\r
1003                                                                 <block atomic="true">\r
1004                                                                     <set>\r
1005                                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1006                                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1007                                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1008                                                                     </set>\r
1009                                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1010                                                                     <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1011                                                                     <return status='failure'>\r
1012                                                                         <parameter name='ack-final' value='Y'/>\r
1013                                                                         <parameter name="error-code" value="500" />\r
1014                                                                         <parameter name="error-message" value="`$error-message`" />\r
1015                                                                     </return>\r
1016                                                                 </block>\r
1017                                                             </block>\r
1018                                                         </outcome>\r
1019                                                     </save>\r
1020                                                     <set>\r
1021                                                         <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\r
1022                                                     </set>\r
1023                                                     <switch test='`$rn-index`'>\r
1024                                                         <outcome value=''>\r
1025                                                             <set>\r
1026                                                                 <parameter name='rn-index' value='0' />\r
1027                                                             </set>\r
1028                                                         </outcome>\r
1029                                                     </switch>\r
1030                                                     <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\r
1031                                                         <block atomic="true">\r
1032                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1033       resource="custom-query"\r
1034       key="format = 'resource'"\r
1035       force="true"\r
1036       local-only="false"\r
1037       pfx="tmp.AnAI-data.get-networks">\r
1038                                                                 <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />\r
1039                                                                 <parameter name="start_length" value="1" />\r
1040                                                                 <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\r
1041   + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
1042                                                                 <outcome value='failure'>\r
1043                                                                     <block atomic="true">\r
1044                                                                         <set>\r
1045                                                                             <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />\r
1046                                                                         </set>\r
1047                                                                         <block atomic="true">\r
1048                                                                             <set>\r
1049                                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1050                                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1051                                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1052                                                                             </set>\r
1053                                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1054                                                                             <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1055                                                                             <return status='failure'>\r
1056                                                                                 <parameter name='ack-final' value='Y'/>\r
1057                                                                                 <parameter name="error-code" value="500" />\r
1058                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1059                                                                             </return>\r
1060                                                                         </block>\r
1061                                                                     </block>\r
1062                                                                 </outcome>\r
1063                                                                 <outcome value='not-found'>\r
1064                                                                     <block atomic="true">\r
1065                                                                         <set>\r
1066                                                                             <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '\r
1067       + $db.vnf-related-network-role[0].related-network-role`" />\r
1068                                                                         </set>\r
1069                                                                         <block atomic="true">\r
1070                                                                             <set>\r
1071                                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1072                                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1073                                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1074                                                                             </set>\r
1075                                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1076                                                                             <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1077                                                                             <return status='failure'>\r
1078                                                                                 <parameter name='ack-final' value='Y'/>\r
1079                                                                                 <parameter name="error-code" value="500" />\r
1080                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1081                                                                             </return>\r
1082                                                                         </block>\r
1083                                                                     </block>\r
1084                                                                 </outcome>\r
1085                                                             </save>\r
1086                                                             <set>\r
1087                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\r
1088   value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\r
1089                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\r
1090   value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\r
1091                                                             </set>\r
1092                                                             <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\r
1093                                                                 <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\r
1094                                                                     <outcome value='vlan-tag'>\r
1095                                                                         <block atomic="true">\r
1096                                                                             <set>\r
1097                                                                                 <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\r
1098                                                                             </set>\r
1099                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1100                 resource="vlan-tag" \r
1101                 key="vlan-tag.vlan-tag-id = $vlan-tag-id"\r
1102         pfx='aai.vlan-tag' local-only='false'\r
1103 >\r
1104                                                                                 <outcome value='failure'>\r
1105                                                                                     <block atomic="true">\r
1106                                                                                         <set>\r
1107                                                                                             <parameter name="error-message" value="Error getting vlan-tag object from AAI" />\r
1108                                                                                         </set>\r
1109                                                                                         <block atomic="true">\r
1110                                                                                             <set>\r
1111                                                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1112                                                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1113                                                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1114                                                                                             </set>\r
1115                                                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1116                                                                                             <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1117                                                                                             <return status='failure'>\r
1118                                                                                                 <parameter name='ack-final' value='Y'/>\r
1119                                                                                                 <parameter name="error-code" value="500" />\r
1120                                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1121                                                                                             </return>\r
1122                                                                                         </block>\r
1123                                                                                     </block>\r
1124                                                                                 </outcome>\r
1125                                                                                 <outcome value='success'>\r
1126                                                                                     <set>\r
1127                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\r
1128   value='`$aai.vlan-tag.vlan-tag-id`' />\r
1129                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\r
1130   value='`$aai.vlan-tag.vlan-id-outer`' />\r
1131                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\r
1132   value='`$aai.vlan-tag.vlan-id-inner`' />\r
1133                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\r
1134   value='`$aai.vlan-tag.is-private`' />\r
1135                                                                                     </set>\r
1136                                                                                 </outcome>\r
1137                                                                             </get-resource>\r
1138                                                                             <break/>\r
1139                                                                         </block>\r
1140                                                                     </outcome>\r
1141                                                                 </switch>\r
1142                                                             </for>\r
1143                                                         </block>\r
1144                                                     </for>\r
1145                                                     <set>\r
1146                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\r
1147   value='`$rn-index + 1`' />\r
1148                                                     </set>\r
1149                                                 </block>\r
1150                                             </outcome>\r
1151                                         </get-resource>\r
1152                                         <set>\r
1153                                             <parameter name='network-index' value='`$network-index + 1`' />\r
1154                                         </set>\r
1155                                     </block>\r
1156                                 </outcome>\r
1157                             </switch>\r
1158                         </for>\r
1159                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
1160                             <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\r
1161                         </execute>\r
1162                         <set>\r
1163                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\r
1164   value='`$network-index`' />\r
1165                         </set>\r
1166                         <set>\r
1167                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\r
1168   value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\r
1169                         </set>\r
1170                         <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\r
1171                             <outcome value=''>\r
1172                                 <switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>\r
1173                                     <outcome value='true'>\r
1174                                         <block atomic="true">\r
1175                                             <set>\r
1176                                                 <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '\r
1177        + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
1178                                             </set>\r
1179                                             <block atomic="true">\r
1180                                                 <set>\r
1181                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1182                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1183                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1184                                                 </set>\r
1185                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1186                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1187                                                 <return status='failure'>\r
1188                                                     <parameter name='ack-final' value='Y'/>\r
1189                                                     <parameter name="error-code" value="500" />\r
1190                                                     <parameter name="error-message" value="`$error-message`" />\r
1191                                                 </return>\r
1192                                             </block>\r
1193                                         </block>\r
1194                                     </outcome>\r
1195                                     <outcome value='false'>\r
1196                                         <set>\r
1197                                             <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\r
1198                                         </set>\r
1199                                     </outcome>\r
1200                                 </switch>\r
1201                             </outcome>\r
1202                         </switch>\r
1203                         <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\r
1204                             <block atomic="true">\r
1205                                 <set>\r
1206                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\r
1207   value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\r
1208                                 </set>\r
1209                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1210    resource="generic-vnf:relationship-list"\r
1211    key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
1212    force="true" pfx="tmp.AnAI-data">\r
1213                                     <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />\r
1214                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />\r
1215                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />\r
1216                                     <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />\r
1217                                     <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
1218                                     <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />\r
1219                                     <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />\r
1220                                     <outcome value='failure'>\r
1221                                         <block atomic="true">\r
1222                                             <set>\r
1223                                                 <parameter name="error-message" value="Error updating generic-vnf in AAI" />\r
1224                                             </set>\r
1225                                             <block atomic="true">\r
1226                                                 <set>\r
1227                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1228                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1229                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1230                                                 </set>\r
1231                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1232                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1233                                                 <return status='failure'>\r
1234                                                     <parameter name='ack-final' value='Y'/>\r
1235                                                     <parameter name="error-code" value="500" />\r
1236                                                     <parameter name="error-message" value="`$error-message`" />\r
1237                                                 </return>\r
1238                                             </block>\r
1239                                         </block>\r
1240                                     </outcome>\r
1241                                     <outcome value='not-found'>\r
1242                                         <block atomic="true">\r
1243                                             <set>\r
1244                                                 <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />\r
1245                                             </set>\r
1246                                             <block atomic="true">\r
1247                                                 <set>\r
1248                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1249                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1250                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1251                                                 </set>\r
1252                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1253                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1254                                                 <return status='failure'>\r
1255                                                     <parameter name='ack-final' value='Y'/>\r
1256                                                     <parameter name="error-code" value="500" />\r
1257                                                     <parameter name="error-message" value="`$error-message`" />\r
1258                                                 </return>\r
1259                                             </block>\r
1260                                         </block>\r
1261                                     </outcome>\r
1262                                 </save>\r
1263                             </block>\r
1264                         </for>\r
1265                         <set>\r
1266                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\r
1267    value='`$db.vf-model.avail-zone-max-count`' />\r
1268                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\r
1269    value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\r
1270                         </set>\r
1271                         <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\r
1272                             <block atomic="true">\r
1273                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1274    resource="generic-vnf:relationship-list"\r
1275    key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
1276    force="true" pfx="tmp.AnAI-data">\r
1277                                     <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
1278                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />\r
1279                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />\r
1280                                     <outcome value='failure'>\r
1281                                         <block atomic="true">\r
1282                                             <set>\r
1283                                                 <parameter name="error-message" value="Error updating generic-vnf in AAI" />\r
1284                                             </set>\r
1285                                             <block atomic="true">\r
1286                                                 <set>\r
1287                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1288                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1289                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1290                                                 </set>\r
1291                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1292                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1293                                                 <return status='failure'>\r
1294                                                     <parameter name='ack-final' value='Y'/>\r
1295                                                     <parameter name="error-code" value="500" />\r
1296                                                     <parameter name="error-message" value="`$error-message`" />\r
1297                                                 </return>\r
1298                                             </block>\r
1299                                         </block>\r
1300                                     </outcome>\r
1301                                     <outcome value='not-found'>\r
1302                                         <block atomic="true">\r
1303                                             <set>\r
1304                                                 <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />\r
1305                                             </set>\r
1306                                             <block atomic="true">\r
1307                                                 <set>\r
1308                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1309                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1310                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1311                                                 </set>\r
1312                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1313                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1314                                                 <return status='failure'>\r
1315                                                     <parameter name='ack-final' value='Y'/>\r
1316                                                     <parameter name="error-code" value="500" />\r
1317                                                     <parameter name="error-message" value="`$error-message`" />\r
1318                                                 </return>\r
1319                                             </block>\r
1320                                         </block>\r
1321                                     </outcome>\r
1322                                 </save>\r
1323                             </block>\r
1324                         </for>\r
1325                         <set>\r
1326                             <parameter name='vnf-object-path'\r
1327  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
1328  + $vnf-topology-operation-input.service-information.service-instance-id\r
1329  + '/service-data/vnfs/vnf/'\r
1330  + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
1331  + '/vnf-data/vnf-topology/'`"/>\r
1332                             <parameter name='service-object-path'\r
1333  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
1334  + $vnf-topology-operation-input.service-information.service-instance-id\r
1335  + '/service-data/service-topology/'`"/>\r
1336                         </set>\r
1337                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1338    resource="generic-vnf"\r
1339    key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"\r
1340    force="true" pfx="tmp.AnAI-data">\r
1341                             <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />\r
1342                             <parameter name="prov-status" value="PREPROV" />\r
1343                             <!-- <parameter name="operational-status" value="out-of-service-path" /> -->\r
1344                             <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />\r
1345                             <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />\r
1346                             <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />\r
1347                             <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />\r
1348                             <parameter name="in-maint" value="true" />\r
1349                             <parameter name="selflink" value="`$vnf-object-path`" />\r
1350                             <outcome value='failure'>\r
1351                                 <block atomic="true">\r
1352                                     <set>\r
1353                                         <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />\r
1354                                     </set>\r
1355                                     <block atomic="true">\r
1356                                         <set>\r
1357                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1358                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1359                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1360                                         </set>\r
1361                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1362                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1363                                         <return status='failure'>\r
1364                                             <parameter name='ack-final' value='Y'/>\r
1365                                             <parameter name="error-code" value="500" />\r
1366                                             <parameter name="error-message" value="`$error-message`" />\r
1367                                         </return>\r
1368                                     </block>\r
1369                                 </block>\r
1370                             </outcome>\r
1371                             <outcome value='not-found'>\r
1372                                 <block atomic="true">\r
1373                                     <set>\r
1374                                         <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />\r
1375                                     </set>\r
1376                                     <block atomic="true">\r
1377                                         <set>\r
1378                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1379                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1380                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1381                                         </set>\r
1382                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1383                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1384                                         <return status='failure'>\r
1385                                             <parameter name='ack-final' value='Y'/>\r
1386                                             <parameter name="error-code" value="500" />\r
1387                                             <parameter name="error-message" value="`$error-message`" />\r
1388                                         </return>\r
1389                                     </block>\r
1390                                 </block>\r
1391                             </outcome>\r
1392                         </update>\r
1393                         <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\r
1394                             <block atomic="true">\r
1395                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1396    resource="generic-vnf:relationship-list"\r
1397    key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id"\r
1398    force="true" pfx="tmp.AnAI-data">\r
1399                                     <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />\r
1400                                     <parameter name="relationship-list.relationship[0].related-link"\r
1401       value="`'/aai/v$/network/instance-groups/instance-group/'\r
1402         + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`" />\r
1403                                     <outcome value='failure'>\r
1404                                         <block atomic="true">\r
1405                                             <set>\r
1406                                                 <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />\r
1407                                             </set>\r
1408                                             <block atomic="true">\r
1409                                                 <set>\r
1410                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1411                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1412                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1413                                                 </set>\r
1414                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1415                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1416                                                 <return status='failure'>\r
1417                                                     <parameter name='ack-final' value='Y'/>\r
1418                                                     <parameter name="error-code" value="500" />\r
1419                                                     <parameter name="error-message" value="`$error-message`" />\r
1420                                                 </return>\r
1421                                             </block>\r
1422                                         </block>\r
1423                                     </outcome>\r
1424                                     <outcome value='not-found'>\r
1425                                         <block atomic="true">\r
1426                                             <set>\r
1427                                                 <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />\r
1428                                             </set>\r
1429                                             <block atomic="true">\r
1430                                                 <set>\r
1431                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1432                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1433                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1434                                                 </set>\r
1435                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1436                                                 <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1437                                                 <return status='failure'>\r
1438                                                     <parameter name='ack-final' value='Y'/>\r
1439                                                     <parameter name="error-code" value="500" />\r
1440                                                     <parameter name="error-message" value="`$error-message`" />\r
1441                                                 </return>\r
1442                                             </block>\r
1443                                         </block>\r
1444                                     </outcome>\r
1445                                 </save>\r
1446                             </block>\r
1447                         </for>\r
1448                         <set>\r
1449                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\r
1450                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\r
1451                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\r
1452                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\r
1453                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\r
1454                         </set>\r
1455                         <set>\r
1456                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\r
1457                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
1458                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
1459                         </set>\r
1460                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1461                             <parameter name="source" value="`$prop.restapi.vnf-assign`"/>\r
1462                             <parameter name="outputPath" value="tmp.part"/>\r
1463                             <parameter name="target" value="{service-instance-id}"/>\r
1464                             <parameter name="replacement" value="`$service-data.service-topology.service-topology-identifier.service-instance-id`"/>\r
1465                         </execute>\r
1466                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1467                             <parameter name="source" value="`$tmp.part`"/>\r
1468                             <parameter name="outputPath" value="tmp.vnf.url"/>\r
1469                             <parameter name="target" value="{vnf-id}"/>\r
1470                             <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-id`"/>\r
1471                         </execute>\r
1472                         <set>\r
1473                             <parameter name='vnf-data.' value='service-data.vnfs.vnf[$vnf-index].vnf-data.' />\r
1474                         </set>\r
1475                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1476                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`" />\r
1477                             <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vnf.url`" />\r
1478                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1479                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1480                             <parameter name='format' value='json' />\r
1481                             <parameter name='httpMethod' value='PUT' />\r
1482                             <parameter name="responsePrefix" value="vnf-assign" />\r
1483                             <outcome value='failure'>\r
1484                                 <block atomic="true">\r
1485                                     <set>\r
1486                                         <parameter name="error-message" value="Error doing PUT of vnf-data" />\r
1487                                     </set>\r
1488                                     <block atomic="true">\r
1489                                         <set>\r
1490                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1491                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1492                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1493                                         </set>\r
1494                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1495                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1496                                         <return status='failure'>\r
1497                                             <parameter name='ack-final' value='Y'/>\r
1498                                             <parameter name="error-code" value="500" />\r
1499                                             <parameter name="error-message" value="`$error-message`" />\r
1500                                         </return>\r
1501                                     </block>\r
1502                                 </block>\r
1503                             </outcome>\r
1504                             <outcome value='not-found'>\r
1505                                 <block atomic="true">\r
1506                                     <set>\r
1507                                         <parameter name="error-message" value="Error doing PUT of vnf-data" />\r
1508                                     </set>\r
1509                                     <block atomic="true">\r
1510                                         <set>\r
1511                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1512                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1513                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1514                                         </set>\r
1515                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1516                                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1517                                         <return status='failure'>\r
1518                                             <parameter name='ack-final' value='Y'/>\r
1519                                             <parameter name="error-code" value="500" />\r
1520                                             <parameter name="error-message" value="`$error-message`" />\r
1521                                         </return>\r
1522                                     </block>\r
1523                                 </block>\r
1524                             </outcome>\r
1525                         </execute>\r
1526                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
1527                             <parameter name='filename' value='/var/tmp/bgb-vnf.log' />\r
1528                         </execute>\r
1529                         <set>\r
1530                             <parameter name="so.response-code" value="200" />\r
1531                         </set>\r
1532                         <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
1533                         <return status='success'>\r
1534                             <parameter name="ack-final-indicator" value="Y" />\r
1535                             <parameter name="error-code" value="200" />\r
1536                             <parameter name="error-message" value="`$error-message`" />\r
1537                         </return>\r
1538                     </block>\r
1539                 </outcome>\r
1540             </switch>\r
1541         </block>\r
1542     </method>\r
1543 </service-logic>