Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation-assign-automated.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='network-topology-operation-assign-automated' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test="`$tmp.nidx`">\r
7                 <outcome value=''>\r
8                     <switch test='`$service-data.networks.network_length`'>\r
9                         <outcome value=''>\r
10                             <set>\r
11                                 <parameter name='nidx' value='0' />\r
12                                 <parameter name='nidx_len' value='1'/>\r
13                             </set>\r
14                         </outcome>\r
15                         <outcome value='Other'>\r
16                             <set>\r
17                                 <parameter name='nidx' value='`$service-data.networks.network_length`' />\r
18                                 <parameter name='nidx_len' value='`$service-data.networks.network_length + 1`' />\r
19                             </set>\r
20                         </outcome>\r
21                     </switch>\r
22                 </outcome>\r
23                 <outcome value='Other'>\r
24                     <set>\r
25                         <parameter name='nidx' value='`$tmp.nidx`' />\r
26                         <parameter name='nidx_len' value='`$service-data.networks.network_length`' />\r
27                     </set>\r
28                 </outcome>\r
29             </switch>\r
30             <set>\r
31                 <parameter name="tmp.error-message" value=""/>\r
32             </set>\r
33             <set>\r
34                 <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\r
35                 <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\r
36                 <parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\r
37                 <parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\r
38                 <parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />\r
39             </set>\r
40             <set>\r
41                 <parameter name='tmp.l3-network.model-invariant-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`" />\r
42                 <parameter name='tmp.l3-network.model-version-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-version`" />\r
43                 <parameter name='tmp.l3-network.model-customization-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`" />\r
44                 <parameter name='s-onap-model-information.model-invariant-uuid' value='`$service-model.invariant-uuid`' />\r
45                 <parameter name='s-onap-model-information.model-version' value='`$service-model.version`' />\r
46                 <parameter name='s-onap-model-information.model-uuid' value='`$service-model.service-uuid`' />\r
47                 <parameter name='s-onap-model-information.model-name' value='`$service-model.name`' />\r
48                 <parameter name='n-onap-model-information.model-invariant-uuid' value='`$network-model.invariant-uuid`' />\r
49                 <parameter name='n-onap-model-information.model-version' value='`$network-model.version`' />\r
50                 <parameter name='n-onap-model-information.model-uuid' value='`$network-model.uuid`' />\r
51                 <parameter name='n-onap-model-information.model-name' value='`$network-model.name`' />\r
52             </set>\r
53             <set>\r
54                 <parameter name='network-data.service-information.ecomp-model-information.' value="`$s-onap-model-information.`" />\r
55                 <parameter name='network-data.network-information.ecomp-model-information.' value="`$n-onap-model-information.`" />\r
56             </set>\r
57             <switch test='`$network-model.is-bound-to-vpn`'>\r
58                 <outcome value='Y'>\r
59                     <block atomic="true">\r
60                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
61   key='SELECT * from VPN_BINDINGS WHERE network_customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid'\r
62   pfx='vpn-bindings[]'>\r
63                             <outcome value='success'>\r
64                                 <block atomic="true">\r
65                                     <set>\r
66                                         <parameter name='hasVpnBindings' value='true' />\r
67                                     </set>\r
68                                     <for index='vidx' start='0' end='`$vpn-bindings_length`' >\r
69                                         <block atomic="true">\r
70                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
71                 resource="vpn-binding" \r
72                 key="vpn-binding.vpn-id = $vpn-bindings[$vidx].binding-uuid"\r
73         pfx='aai.vpnBinding' local-only='false' >\r
74                                                 <outcome value='success'>\r
75                                                     <block></block>\r
76                                                 </outcome>\r
77                                                 <outcome value='not-found'>\r
78                                                     <block atomic='true'>\r
79                                                         <set>\r
80                                                             <parameter name="error-code" value="500"/>\r
81                                                             <parameter name="tmp.error-message" value="`'No vpn binding found for network-model.vpn-binding=' \r
82     + $vpn-bindings[$vidx].binding-uuid`"/>\r
83                                                         </set>\r
84                                                         <block atomic='true'>\r
85                                                             <set>\r
86                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
87                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
88                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
89                                                             </set>\r
90                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
91                                                             <return status='failure'>\r
92                                                                 <parameter name='error-code' value='500'/>\r
93                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
94                                                             </return>\r
95                                                         </block>\r
96                                                     </block>\r
97                                                 </outcome>\r
98                                                 <outcome value='Other'>\r
99                                                     <block atomic='true'>\r
100                                                         <set>\r
101                                                             <parameter name="error-code" value="500"/>\r
102                                                             <parameter name="tmp.error-message" value="`'No vpn binding found for network-model.vpn-binding=' \r
103     + $vpn-bindings[$vidx].binding-uuid`"/>\r
104                                                         </set>\r
105                                                         <block atomic='true'>\r
106                                                             <set>\r
107                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
108                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
109                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
110                                                             </set>\r
111                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
112                                                             <return status='failure'>\r
113                                                                 <parameter name='error-code' value='500'/>\r
114                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
115                                                             </return>\r
116                                                         </block>\r
117                                                     </block>\r
118                                                 </outcome>\r
119                                             </get-resource>\r
120                                         </block>\r
121                                     </for>\r
122                                 </block>\r
123                             </outcome>\r
124                             <outcome value='not-found'>\r
125                                 <block atomic='true'>\r
126                                     <set>\r
127                                         <parameter name="error-code" value="500"/>\r
128                                         <parameter name="tmp.error-message" value="Network model is_bound_to_vpn=true but no vpn_binding is present"/>\r
129                                     </set>\r
130                                     <block atomic='true'>\r
131                                         <set>\r
132                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
133                                             <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
134                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
135                                         </set>\r
136                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
137                                         <return status='failure'>\r
138                                             <parameter name='error-code' value='500'/>\r
139                                             <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
140                                         </return>\r
141                                     </block>\r
142                                 </block>\r
143                             </outcome>\r
144                             <outcome value='Other'>\r
145                                 <block atomic='true'>\r
146                                     <set>\r
147                                         <parameter name="error-code" value="500"/>\r
148                                         <parameter name="tmp.error-message" value="Unexpected error retrieving vpn binding"/>\r
149                                     </set>\r
150                                     <block atomic='true'>\r
151                                         <set>\r
152                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
153                                             <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
154                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
155                                         </set>\r
156                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
157                                         <return status='failure'>\r
158                                             <parameter name='error-code' value='500'/>\r
159                                             <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
160                                         </return>\r
161                                     </block>\r
162                                 </block>\r
163                             </outcome>\r
164                         </get-resource>\r
165                     </block>\r
166                 </outcome>\r
167             </switch>\r
168             <set>\r
169                 <parameter name='tmp.l3-network.network-id' value="`$tmp.return.generate-l3network-network-id.uuid`" />\r
170                 <parameter name='tmp.l3-network.network-name' value="`$tmp.network-instance-name`" />\r
171                 <parameter name='tmp.l3-network.network-type' value="`$network-model.network-type`" />\r
172                 <parameter name='tmp.l3-network.network-role' value="`$network-model.network-role`" />\r
173                 <parameter name='tmp.l3-network.network-technology' value="`$network-model.network-technology`" />\r
174                 <parameter name='tmp.l3-network.is-bound-to-vpn' value="`$network-model.is-bound-to-vpn`" />\r
175                 <parameter name='tmp.l3-network.orchestration-status' value="PendingCreate" />\r
176                 <parameter name='tmp.l3-network.model-invariant-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`" />\r
177                 <parameter name='tmp.l3-network.model-version-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-version`" />\r
178                 <parameter name='tmp.l3-network.model-customization-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`" />\r
179                 <parameter name='tmp.l3-network.is-provider-network' value="`$network-model.is-provider-network`" />\r
180                 <parameter name='tmp.l3-network.is-shared-network' value="`$network-model.is-shared-network`" />\r
181                 <parameter name='tmp.l3-network.is-external-network' value="`$network-model.is-external-network`" />\r
182                 <parameter name='tmp.l3-network.eipam-v6-address-plan' value="`$network-model.eipam-v6-address-plan`" />\r
183                 <parameter name='tmp.l3-network.eipam-v4-address-plan' value="`$network-model.eipam-v4-address-plan`" />\r
184                 <parameter name='tmp.l3-network.service-id' value="`$service-data.service-information.service-id`" />\r
185                 <parameter name='tmp.l3-network.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
186  + $network-topology-operation-input.service-information.service-instance-id\r
187  + '/service-data/networks/network/'\r
188  + $tmp.l3-network.network-id\r
189  + '/network-data/network-topology/'` " />\r
190             </set>\r
191             <switch test='`$network-model.is-provider-network`'>\r
192                 <outcome value='Y'>\r
193                     <set>\r
194                         <parameter name='tmp.l3-network.physical-network-name' value="`$network-model.physical-network-name`" />\r
195                         <parameter name='tmp.l3-network.is-provider-network-boolean' value='true' />\r
196                     </set>\r
197                 </outcome>\r
198                 <outcome value='Other'>\r
199                     <set>\r
200                         <parameter name='tmp.l3-network.physical-network-name' value="" />\r
201                         <parameter name='tmp.l3-network.is-provider-network-boolean' value='false' />\r
202                     </set>\r
203                 </outcome>\r
204             </switch>\r
205             <switch test='`$network-model.is-shared-network`'>\r
206                 <outcome value='Y'>\r
207                     <set>\r
208                         <parameter name='tmp.l3-network.is-shared-network-boolean' value='true' />\r
209                     </set>\r
210                 </outcome>\r
211                 <outcome value='Other'>\r
212                     <set>\r
213                         <parameter name='tmp.l3-network.is-shared-network-boolean' value='false' />\r
214                     </set>\r
215                 </outcome>\r
216             </switch>\r
217             <switch test='`$network-model.is-external-network`'>\r
218                 <outcome value='Y'>\r
219                     <set>\r
220                         <parameter name='tmp.l3-network.is-external-network-boolean' value='true' />\r
221                     </set>\r
222                 </outcome>\r
223                 <outcome value='Other'>\r
224                     <set>\r
225                         <parameter name='tmp.l3-network.is-external-network-boolean' value='false' />\r
226                     </set>\r
227                 </outcome>\r
228             </switch>\r
229             <switch test='`$network-model.is-bound-to-vpn`'>\r
230                 <outcome value='Y'>\r
231                     <set>\r
232                         <parameter name='tmp.l3-network.is-bound-to-vpn-boolean' value='true' />\r
233                     </set>\r
234                 </outcome>\r
235                 <outcome value='Other'>\r
236                     <set>\r
237                         <parameter name='tmp.l3-network.is-bound-to-vpn-boolean' value='false' />\r
238                     </set>\r
239                 </outcome>\r
240             </switch>\r
241             <set>\r
242                 <parameter name='tmp.complex-found' value='false' />\r
243             </set>\r
244             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
245                 resource="cloud-region" \r
246                 key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \r
247                      cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND \r
248                      depth = '0'"\r
249         pfx='aai.cloud-region' local-only='false' >\r
250                 <outcome value='not-found'>\r
251                     <block atomic='true'>\r
252                         <set>\r
253                             <parameter name="error-code" value="500"/>\r
254                             <parameter name="tmp.error-message" value="Cloud region not found in AAI"/>\r
255                         </set>\r
256                         <block atomic='true'>\r
257                             <set>\r
258                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
259                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
260                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
261                             </set>\r
262                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
263                             <return status='failure'>\r
264                                 <parameter name='error-code' value='500'/>\r
265                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
266                             </return>\r
267                         </block>\r
268                     </block>\r
269                 </outcome>\r
270                 <outcome value='failure'>\r
271                     <block atomic='true'>\r
272                         <set>\r
273                             <parameter name="error-code" value="500"/>\r
274                             <parameter name="tmp.error-message" value="Error retrieving cloud region from AAI"/>\r
275                         </set>\r
276                         <block atomic='true'>\r
277                             <set>\r
278                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
279                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
280                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
281                             </set>\r
282                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
283                             <return status='failure'>\r
284                                 <parameter name='error-code' value='500'/>\r
285                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
286                             </return>\r
287                         </block>\r
288                     </block>\r
289                 </outcome>\r
290             </get-resource>\r
291             <switch test='`$aai.cloud-region.relationship-list.relationship_length`'>\r
292                 <outcome value='0'>\r
293                     <block atomic='true'>\r
294                         <set>\r
295                             <parameter name="error-code" value="500"/>\r
296                             <parameter name="tmp.error-message" value="Cloud region missing relationships in AAI"/>\r
297                         </set>\r
298                         <block atomic='true'>\r
299                             <set>\r
300                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
301                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
302                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
303                             </set>\r
304                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
305                             <return status='failure'>\r
306                                 <parameter name='error-code' value='500'/>\r
307                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
308                             </return>\r
309                         </block>\r
310                     </block>\r
311                 </outcome>\r
312                 <outcome value=''>\r
313                     <block atomic='true'>\r
314                         <set>\r
315                             <parameter name="error-code" value="500"/>\r
316                             <parameter name="tmp.error-message" value="Cloud region missing relationships in AAI"/>\r
317                         </set>\r
318                         <block atomic='true'>\r
319                             <set>\r
320                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
321                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
322                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
323                             </set>\r
324                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
325                             <return status='failure'>\r
326                                 <parameter name='error-code' value='500'/>\r
327                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
328                             </return>\r
329                         </block>\r
330                     </block>\r
331                 </outcome>\r
332             </switch>\r
333             <for silentFailure='false' index='ridx' start='0' end="`$aai.cloud-region.relationship-list.relationship_length`" >\r
334                 <for silentFailure='false' index='rdidx' start='0' end="`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data_length`" >\r
335                     <switch test='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\r
336                         <outcome value='complex.physical-location-id'>\r
337                             <block atomic="true">\r
338                                 <set>\r
339                                     <parameter name='tmp.complex-found' value='true' />\r
340                                 </set>\r
341                                 <set>\r
342                                     <parameter name='service-data.network-request-input.aic-clli' value='`$aai.complex.physical-location-id`' />\r
343                                 </set>\r
344                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
345                 resource="complex" \r
346                 key="complex.physical-location-id = $aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value"\r
347         pfx='aai.complex' local-only='false' >\r
348                                     <outcome value='success'>\r
349                                         <block atomic="true">\r
350                                             <switch test='`$aai.complex.region`'>\r
351                                                 <outcome value='USA'>\r
352                                                     <block>\r
353                                                         <set>\r
354                                                             <parameter name='aai.complex.region' value='US' />\r
355                                                         </set>\r
356                                                     </block>\r
357                                                 </outcome>\r
358                                                 <outcome value='CALA'>\r
359                                                     <block>\r
360                                                         <set>\r
361                                                             <parameter name='aai.complex.region' value='LA' />\r
362                                                         </set>\r
363                                                     </block>\r
364                                                 </outcome>\r
365                                                 <outcome value='CA'>\r
366                                                     <block></block>\r
367                                                 </outcome>\r
368                                                 <outcome value='US'>\r
369                                                     <block></block>\r
370                                                 </outcome>\r
371                                                 <outcome value='LA'>\r
372                                                     <block></block>\r
373                                                 </outcome>\r
374                                                 <outcome value='EMEA'>\r
375                                                     <block></block>\r
376                                                 </outcome>\r
377                                                 <outcome value='AP'>\r
378                                                     <block></block>\r
379                                                 </outcome>\r
380                                                 <outcome value='Other'>\r
381                                                     <block atomic='true'>\r
382                                                         <set>\r
383                                                             <parameter name="error-code" value="500"/>\r
384                                                             <parameter name="tmp.error-message" value="Complex.region unknown"/>\r
385                                                         </set>\r
386                                                         <block atomic='true'>\r
387                                                             <set>\r
388                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
389                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
390                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
391                                                             </set>\r
392                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
393                                                             <return status='failure'>\r
394                                                                 <parameter name='error-code' value='500'/>\r
395                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
396                                                             </return>\r
397                                                         </block>\r
398                                                     </block>\r
399                                                 </outcome>\r
400                                             </switch>\r
401                                         </block>\r
402                                     </outcome>\r
403                                     <outcome value='not-found'>\r
404                                         <block atomic='true'>\r
405                                             <set>\r
406                                                 <parameter name="error-code" value="500"/>\r
407                                                 <parameter name="tmp.error-message" value="Complex not found in AAI"/>\r
408                                             </set>\r
409                                             <block atomic='true'>\r
410                                                 <set>\r
411                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
412                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
413                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
414                                                 </set>\r
415                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
416                                                 <return status='failure'>\r
417                                                     <parameter name='error-code' value='500'/>\r
418                                                     <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
419                                                 </return>\r
420                                             </block>\r
421                                         </block>\r
422                                     </outcome>\r
423                                     <outcome value='failure'>\r
424                                         <block atomic='true'>\r
425                                             <set>\r
426                                                 <parameter name="error-code" value="500"/>\r
427                                                 <parameter name="tmp.error-message" value="Error retrieving complex from AA"/>\r
428                                             </set>\r
429                                             <block atomic='true'>\r
430                                                 <set>\r
431                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
432                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
433                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
434                                                 </set>\r
435                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
436                                                 <return status='failure'>\r
437                                                     <parameter name='error-code' value='500'/>\r
438                                                     <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
439                                                 </return>\r
440                                             </block>\r
441                                         </block>\r
442                                     </outcome>\r
443                                 </get-resource>\r
444                             </block>\r
445                         </outcome>\r
446                     </switch>\r
447                 </for>\r
448             </for>\r
449             <switch test='`$tmp.complex-found`'>\r
450                 <outcome value='false'>\r
451                     <block atomic='true'>\r
452                         <set>\r
453                             <parameter name="error-code" value="500"/>\r
454                             <parameter name="tmp.error-message" value="Complex not found in AAI"/>\r
455                         </set>\r
456                         <block atomic='true'>\r
457                             <set>\r
458                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
459                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
460                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
461                             </set>\r
462                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
463                             <return status='failure'>\r
464                                 <parameter name='error-code' value='500'/>\r
465                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
466                             </return>\r
467                         </block>\r
468                     </block>\r
469                 </outcome>\r
470             </switch>\r
471             <switch test='`$network-model.network-technology`'>\r
472                 <outcome value='Contrail'>\r
473                     <block atomic="true">\r
474                         <switch test="`$network-model.use-ipv4`">\r
475                             <outcome value='Y'>\r
476                                 <block atomic='true'>\r
477                                     <switch test='`$network-model.eipam-v4-address-plan`'>\r
478                                         <outcome value='AIC_ATM_UNPROTECTED_V4'>\r
479                                             <block></block>\r
480                                         </outcome>\r
481                                         <outcome value='AIC_ATM_PROTECTED_V4'>\r
482                                             <block></block>\r
483                                         </outcome>\r
484                                         <outcome value='AIC_AIM_LANDING_NETWORK_V4'>\r
485                                             <block></block>\r
486                                         </outcome>\r
487                                         <outcome value='Other'>\r
488                                             <block atomic='true'>\r
489                                                 <set>\r
490                                                     <parameter name="error-code" value="500"/>\r
491                                                     <parameter name="tmp.error-message" value="Invalid address plan for VIPR"/>\r
492                                                 </set>\r
493                                                 <block atomic='true'>\r
494                                                     <set>\r
495                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
496                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
497                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
498                                                     </set>\r
499                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
500                                                     <return status='failure'>\r
501                                                         <parameter name='error-code' value='500'/>\r
502                                                         <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
503                                                     </return>\r
504                                                 </block>\r
505                                             </block>\r
506                                         </outcome>\r
507                                     </switch>\r
508                                 </block>\r
509                             </outcome>\r
510                         </switch>\r
511                         <switch test="`$network-model.use-ipv6`">\r
512                             <outcome value='Y'>\r
513                                 <block atomic='true'>\r
514                                     <switch test='`$network-model.eipam-v6-address-plan`'>\r
515                                         <outcome value='AIC_ATM_UNPROTECTED_V6'>\r
516                                             <block></block>\r
517                                         </outcome>\r
518                                         <outcome value='AIC_ATM_PROTECTED_V6'>\r
519                                             <block></block>\r
520                                         </outcome>\r
521                                         <outcome value='AIC_AIM_LANDING_NETWORK_V6'>\r
522                                             <block></block>\r
523                                         </outcome>\r
524                                         <outcome value='Other'>\r
525                                             <block atomic='true'>\r
526                                                 <set>\r
527                                                     <parameter name="error-code" value="500"/>\r
528                                                     <parameter name="tmp.error-message" value="EIPAM V6 Address plan should be null"/>\r
529                                                 </set>\r
530                                                 <block atomic='true'>\r
531                                                     <set>\r
532                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
533                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
534                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
535                                                     </set>\r
536                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
537                                                     <return status='failure'>\r
538                                                         <parameter name='error-code' value='500'/>\r
539                                                         <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
540                                                     </return>\r
541                                                 </block>\r
542                                             </block>\r
543                                         </outcome>\r
544                                     </switch>\r
545                                 </block>\r
546                             </outcome>\r
547                         </switch>\r
548                     </block>\r
549                 </outcome>\r
550                 <outcome value='AIC_SR_IOV'>\r
551                     <block atomic="true">\r
552                         <switch test="`$network-model.use-ipv4`">\r
553                             <outcome value='Y'>\r
554                                 <block atomic='true'>\r
555                                     <switch test='`$network-model.eipam-v4-address-plan`'>\r
556                                         <outcome value='AIC_DATA_PLANE_UNPROTECTED_V4'>\r
557                                             <block></block>\r
558                                         </outcome>\r
559                                         <outcome value='AIC_DATA_PLANE_PROTECTED_V4'>\r
560                                             <block></block>\r
561                                         </outcome>\r
562                                         <outcome value='AIC_DATA_PLANE_PRIVATE_V4'>\r
563                                             <block></block>\r
564                                         </outcome>\r
565                                         <outcome value='Other'>\r
566                                             <block atomic='true'>\r
567                                                 <set>\r
568                                                     <parameter name="error-code" value="500"/>\r
569                                                     <parameter name="tmp.error-message" value="Invalid address plan for SRIOV"/>\r
570                                                 </set>\r
571                                                 <block atomic='true'>\r
572                                                     <set>\r
573                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
574                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
575                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
576                                                     </set>\r
577                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
578                                                     <return status='failure'>\r
579                                                         <parameter name='error-code' value='500'/>\r
580                                                         <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
581                                                     </return>\r
582                                                 </block>\r
583                                             </block>\r
584                                         </outcome>\r
585                                     </switch>\r
586                                 </block>\r
587                             </outcome>\r
588                         </switch>\r
589                         <switch test="`$network-model.use-ipv6`">\r
590                             <outcome value='Y'>\r
591                                 <block atomic='true'>\r
592                                     <switch test='`$network-model.eipam-v6-address-plan`'>\r
593                                         <outcome value="AIC_ATM_UNPROTECTED_V6">\r
594                                             <block></block>\r
595                                         </outcome>\r
596                                         <outcome value="AIC_ATM_PROTECTED_V6">\r
597                                             <block></block>\r
598                                         </outcome>\r
599                                         <outcome value="AIC_DATA_PLANE_UNPROTECTED_V6">\r
600                                             <block></block>\r
601                                         </outcome>\r
602                                         <outcome value="AIC_DATA_PLANE_PRIVATE_V6">\r
603                                             <block></block>\r
604                                         </outcome>\r
605                                         <outcome value="AIC_DATA_PLANE_PROTECTED_V6">\r
606                                             <block></block>\r
607                                         </outcome>\r
608                                         <outcome value='Other'>\r
609                                             <block atomic='true'>\r
610                                                 <set>\r
611                                                     <parameter name="error-code" value="500"/>\r
612                                                     <parameter name="tmp.error-message" value="Invalid ipv6 address plan for SRIOV"/>\r
613                                                 </set>\r
614                                                 <block atomic='true'>\r
615                                                     <set>\r
616                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
617                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
618                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
619                                                     </set>\r
620                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
621                                                     <return status='failure'>\r
622                                                         <parameter name='error-code' value='500'/>\r
623                                                         <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
624                                                     </return>\r
625                                                 </block>\r
626                                             </block>\r
627                                         </outcome>\r
628                                     </switch>\r
629                                 </block>\r
630                             </outcome>\r
631                         </switch>\r
632                     </block>\r
633                 </outcome>\r
634                 <outcome value='Other'>\r
635                     <block atomic='true'>\r
636                         <set>\r
637                             <parameter name="error-code" value="500"/>\r
638                             <parameter name="tmp.error-message" value="Invalid network-technology.  Only AIC_SR_IOV and Contrail are supported for network automated flow"/>\r
639                         </set>\r
640                         <block atomic='true'>\r
641                             <set>\r
642                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
643                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
644                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
645                             </set>\r
646                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
647                             <return status='failure'>\r
648                                 <parameter name='error-code' value='500'/>\r
649                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
650                             </return>\r
651                         </block>\r
652                     </block>\r
653                 </outcome>\r
654             </switch>\r
655             <set>\r
656                 <parameter name='tmp.process-eipam-action' value='assign' />\r
657             </set>\r
658             <!--tmp.level should be set to 1-->\r
659             <call module='GENERIC-RESOURCE-API' rpc='process-eipam-pools' mode='sync' ></call>\r
660             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
661                 <parameter name="logger" value="message-log"/>\r
662                 <parameter name="field1" value="__TIMESTAMP__"/>\r
663                 <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
664                 <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
665                 <parameter name="field4" value="Values after process-eipam"/>\r
666                 <parameter name="field5" value="`level1-v4-mask`"/>\r
667                 <parameter name="field6" value="`$tmp.l3-network.level1.v4.mask`"/>\r
668                 <parameter name="field7" value="`level1-v4-ipprefix`"/>\r
669                 <parameter name="field8" value="`$tmp.l3-network.level1.v4.ip-prefix`"/>\r
670                 <parameter name="field9" value="`level1-v4-entity-id`"/>\r
671                 <parameter name="field10" value="`$tmp.l3-network.level1.v4.entity-id`"/>\r
672                 <parameter name="field11" value="`level2-v4-mask`"/>\r
673                 <parameter name="field12" value="`$tmp.l3-network.level2.v4.mask`"/>\r
674                 <parameter name="field13" value="`level2-v4-ipprefix`"/>\r
675                 <parameter name="field14" value="`$tmp.l3-network.level2.v4.ip-prefix`"/>\r
676                 <parameter name="field15" value="`level2-v4-entity-id`"/>\r
677                 <parameter name="field16" value="`$tmp.l3-network.level2.v4.entity-id`"/>\r
678             </record>\r
679             <set>\r
680                 <parameter name='v4.entity-id' value='`$tmp.l3-network.level2.v4.entity-id`' />\r
681                 <parameter name='v4.ip-prefix' value='`$tmp.l3-network.level2.v4.ip-prefix`' />\r
682                 <parameter name='v4.mask' value='`$tmp.l3-network.level2.v4.mask`' />\r
683                 <parameter name='v6.entity-id' value='`$tmp.l3-network.level2.v6.entity-id`' />\r
684                 <parameter name='v6.ip-prefix' value='`$tmp.l3-network.level2.v6.ip-prefix`' />\r
685                 <parameter name='v6.mask' value='`$tmp.l3-network.level2.v6.mask`' />\r
686             </set>\r
687             <!--tmp.level should be set to 1-->\r
688             <call module='GENERIC-RESOURCE-API' rpc='create-l3-subnet' mode='sync' ></call>\r
689             <set>\r
690                 <parameter name='tmp.network-topology.network-topology-identifier-structure.network-id' value="`$tmp.l3-network.network-name`" />\r
691                 <parameter name='tmp.network-topology.network-topology-identifier-structure.network-name' value="`$tmp.l3-network.network-name`" />\r
692                 <parameter name='tmp.network-topology.network-topology-identifier-structure.network-type' value="`$tmp.l3-network.network-type`" />\r
693                 <parameter name='tmp.network-topology.network-topology-identifier-structure.network-role' value="`$tmp.l3-network.network-role`" />\r
694                 <parameter name='tmp.network-topology.network-topology-identifier-structure.network-technology' value="`$tmp.l3-network.network-technology`" />\r
695                 <parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v4-address-plan' value="`$network-model.eipam-v4-address-plan`" />\r
696                 <parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v6-address-plan' value="`$network-model.eipam-v6-address-plan`" />\r
697                 <parameter name='tmp.network-topology.region-identifier.tenant' value="`$network-topology-operation-input.network-request-input.tenant`" />\r
698                 <parameter name='tmp.network-topology.region-identifier.aic-cloud-region' value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />\r
699                 <parameter name='tmp.network-topology.region-identifier.aic-clli' value="`$network-topology-operation-input.network-request-input.aic-clli`" />\r
700                 <parameter name='tmp.network-topology.onap-model-information.' value="`$network-topology-operation-input.network-information.onap-model-information.`" />\r
701                 <parameter name='tmp.network-topology.network-parameters.' value="`$network-topology-operation-input.network-request-input.network-input-parameters.`" />\r
702             </set>\r
703             <switch test='`$tmp.l3-network.service-id`'>\r
704                 <outcome value=''>\r
705                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
706         resource="l3-network" \r
707                 key="l3-network.network-id = $tmp.l3-network.network-id" >\r
708                         <!-- Create l3-network object -->\r
709                         <parameter name="network-id" value="`$tmp.l3-network.network-id`" />\r
710                         <parameter name="network-name" value="`$tmp.l3-network.network-name`" />\r
711                         <parameter name="network-type" value="`$tmp.l3-network.network-type`" />\r
712                         <parameter name="network-role" value="`$tmp.l3-network.network-role`" />\r
713                         <parameter name="network-technology" value="`$tmp.l3-network.network-technology`" />\r
714                         <parameter name="is-bound-to-vpn" value="`$tmp.l3-network.is-bound-to-vpn-boolean`" />\r
715                         <parameter name="tenant-id" value="`$network-topology-operation-input.network-request-information.tenant`" />\r
716                         <parameter name="orchestration-status" value="PendingCreate" />\r
717                         <parameter name="persona-model-id" value="`$tmp.l3-network.persona-model-id`" />\r
718                         <parameter name="persona-model-version" value="`$tmp.l3-network.persona-model-version`" />\r
719                         <parameter name="persona-model-customization-id" value="`$tmp.l3-network.persona-model-customization-id`" />\r
720                         <parameter name="physical-network-name" value="`$tmp.l3-network.physical-network-name`" />\r
721                         <parameter name="is-provider-network" value="`$tmp.l3-network.is-provider-network-boolean`" />\r
722                         <parameter name="is-shared-network" value="`$tmp.l3-network.is-shared-network-boolean`" />\r
723                         <parameter name="is-external-network" value="`$tmp.l3-network.is-external-network-boolean`" />\r
724                         <parameter name="selflink" value="`$tmp.l3-network.self-link`" />\r
725                         <outcome value='failure'>\r
726                             <block>\r
727                                 <set>\r
728                                     <parameter name="error-code" value="500"/>\r
729                                     <parameter name="tmp.error-message" value="`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`"/>\r
730                                 </set>\r
731                                 <block atomic='true'>\r
732                                     <set>\r
733                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
734                                         <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
735                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
736                                     </set>\r
737                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
738                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
739         resource="l3-network" \r
740         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
741                                     <return status='failure'>\r
742                                         <parameter name='error-code' value='500'/>\r
743                                         <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
744                                     </return>\r
745                                 </block>\r
746                             </block>\r
747                         </outcome>\r
748                         <outcome value='not-found'>\r
749                             <block>\r
750                                 <set>\r
751                                     <parameter name="error-code" value="500"/>\r
752                                     <parameter name="tmp.error-message" value="`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`"/>\r
753                                 </set>\r
754                                 <block atomic='true'>\r
755                                     <set>\r
756                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
757                                         <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
758                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
759                                     </set>\r
760                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
761                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
762         resource="l3-network" \r
763         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
764                                     <return status='failure'>\r
765                                         <parameter name='error-code' value='500'/>\r
766                                         <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
767                                     </return>\r
768                                 </block>\r
769                             </block>\r
770                         </outcome>\r
771                     </save>\r
772                 </outcome>\r
773                 <outcome value='Other'>\r
774                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
775         resource="l3-network" \r
776                 key="l3-network.network-id = $tmp.l3-network.network-id" >\r
777                         <!-- Create l3-network object -->\r
778                         <parameter name="network-id" value="`$tmp.l3-network.network-id`" />\r
779                         <parameter name="network-name" value="`$tmp.l3-network.network-name`" />\r
780                         <parameter name="network-type" value="`$tmp.l3-network.network-type`" />\r
781                         <parameter name="network-role" value="`$tmp.l3-network.network-role`" />\r
782                         <parameter name="network-technology" value="`$tmp.l3-network.network-technology`" />\r
783                         <parameter name="is-bound-to-vpn" value="`$tmp.l3-network.is-bound-to-vpn-boolean`" />\r
784                         <parameter name="service-id" value="`$tmp.l3-network.service-id`" />\r
785                         <parameter name="tenant-id" value="`$network-topology-operation-input.network-request-information.tenant`" />\r
786                         <parameter name="orchestration-status" value="PendingCreate" />\r
787                         <parameter name="persona-model-id" value="`$tmp.l3-network.persona-model-id`" />\r
788                         <parameter name="persona-model-version" value="`$tmp.l3-network.persona-model-version`" />\r
789                         <parameter name="persona-model-customization-id" value="`$tmp.l3-network.persona-model-customization-id`" />\r
790                         <parameter name="physical-network-name" value="`$tmp.l3-network.physical-network-name`" />\r
791                         <parameter name="is-provider-network" value="`$tmp.l3-network.is-provider-network-boolean`" />\r
792                         <parameter name="is-shared-network" value="`$tmp.l3-network.is-shared-network-boolean`" />\r
793                         <parameter name="is-external-network" value="`$tmp.l3-network.is-external-network-boolean`" />\r
794                         <parameter name="selflink" value="`$tmp.l3-network.self-link`" />\r
795                         <outcome value='failure'>\r
796                             <block>\r
797                                 <set>\r
798                                     <parameter name="error-code" value="500"/>\r
799                                     <parameter name="tmp.error-message" value="`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`"/>\r
800                                 </set>\r
801                                 <block atomic='true'>\r
802                                     <set>\r
803                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
804                                         <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
805                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
806                                     </set>\r
807                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
808                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
809         resource="l3-network" \r
810         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
811                                     <return status='failure'>\r
812                                         <parameter name='error-code' value='500'/>\r
813                                         <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
814                                     </return>\r
815                                 </block>\r
816                             </block>\r
817                         </outcome>\r
818                         <outcome value='not-found'>\r
819                             <block>\r
820                                 <set>\r
821                                     <parameter name="error-code" value="500"/>\r
822                                     <parameter name="tmp.error-message" value="`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`"/>\r
823                                 </set>\r
824                                 <block atomic='true'>\r
825                                     <set>\r
826                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
827                                         <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
828                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
829                                     </set>\r
830                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
831                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
832         resource="l3-network" \r
833         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
834                                     <return status='failure'>\r
835                                         <parameter name='error-code' value='500'/>\r
836                                         <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
837                                     </return>\r
838                                 </block>\r
839                             </block>\r
840                         </outcome>\r
841                     </save>\r
842                 </outcome>\r
843             </switch>\r
844             <for index='sidx' start='0' end='`$tmp.l3-network.subnet_length`' >\r
845                 <block atomic="true">\r
846                     <set>\r
847                         <parameter name="tmp.subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`"/>\r
848                     </set>\r
849                     <switch test='`$tmp.l3-network.subnet[$sidx].dhcp-enabled`'>\r
850                         <outcome value='true'>\r
851                             <block atomic="true">\r
852                                 <switch test='`$tmp.l3-network.subnet[$sidx].gateway-address`'>\r
853                                     <outcome value=''>\r
854                                         <block atomic='true'>\r
855                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
856         resource="subnet" \r
857                 key="l3-network.network-id = $tmp.l3-network.network-id \r
858                         AND subnet.subnet-id = $tmp.subnet-id" >\r
859                                                 <!-- Create l3-network object -->\r
860                                                 <parameter name="network-id" value="`$tmp.l3-network.network-id`" />\r
861                                                 <parameter name="subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`" />\r
862                                                 <parameter name="subnet-name" value="`$tmp.l3-network.subnet[$sidx].subnet-name`" />\r
863                                                 <parameter name="network-start-address" value="`$tmp.l3-network.subnet[$sidx].network-start-address`" />\r
864                                                 <parameter name="cidr-mask" value="`$tmp.l3-network.subnet[$sidx].cidr-mask`" />\r
865                                                 <parameter name="ip-version" value="`$tmp.l3-network.subnet[$sidx].ip-version`" />\r
866                                                 <parameter name="dhcp-start" value="`$tmp.l3-network.subnet[$sidx].dhcp-start`" />\r
867                                                 <parameter name="dhcp-end" value="`$tmp.l3-network.subnet[$sidx].dhcp-end`" />\r
868                                                 <parameter name="dhcp-enabled" value="`$tmp.l3-network.subnet[$sidx].dhcp-enabled`" />\r
869                                                 <parameter name="orchestration-status" value="PendingCreate" />\r
870                                                 <outcome value='failure'>\r
871                                                     <block atomic='true'>\r
872                                                         <set>\r
873                                                             <parameter name="error-code" value="500"/>\r
874                                                             <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
875                                                         </set>\r
876                                                         <block atomic='true'>\r
877                                                             <set>\r
878                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
879                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
880                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
881                                                             </set>\r
882                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
883                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
884         resource="l3-network" \r
885         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
886                                                             <return status='failure'>\r
887                                                                 <parameter name='error-code' value='500'/>\r
888                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
889                                                             </return>\r
890                                                         </block>\r
891                                                     </block>\r
892                                                 </outcome>\r
893                                                 <outcome value='not-found'>\r
894                                                     <block atomic='true'>\r
895                                                         <set>\r
896                                                             <parameter name="error-code" value="500"/>\r
897                                                             <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
898                                                         </set>\r
899                                                         <block atomic='true'>\r
900                                                             <set>\r
901                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
902                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\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                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
907         resource="l3-network" \r
908         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
909                                                             <return status='failure'>\r
910                                                                 <parameter name='error-code' value='500'/>\r
911                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
912                                                             </return>\r
913                                                         </block>\r
914                                                     </block>\r
915                                                 </outcome>\r
916                                             </save>\r
917                                         </block>\r
918                                     </outcome>\r
919                                     <outcome value='Other'>\r
920                                         <block atomic='true'>\r
921                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
922         resource="subnet" \r
923                 key="l3-network.network-id = $tmp.l3-network.network-id \r
924                         AND subnet.subnet-id = $tmp.subnet-id" >\r
925                                                 <!-- Create l3-network object -->\r
926                                                 <parameter name="network-id" value="`$tmp.l3-network.network-id`" />\r
927                                                 <parameter name="subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`" />\r
928                                                 <parameter name="subnet-name" value="`$tmp.l3-network.subnet[$sidx].subnet-name`" />\r
929                                                 <parameter name="gateway-address" value="`$tmp.l3-network.subnet[$sidx].gateway-address`" />\r
930                                                 <parameter name="network-start-address" value="`$tmp.l3-network.subnet[$sidx].network-start-address`" />\r
931                                                 <parameter name="cidr-mask" value="`$tmp.l3-network.subnet[$sidx].cidr-mask`" />\r
932                                                 <parameter name="ip-version" value="`$tmp.l3-network.subnet[$sidx].ip-version`" />\r
933                                                 <parameter name="dhcp-start" value="`$tmp.l3-network.subnet[$sidx].dhcp-start`" />\r
934                                                 <parameter name="dhcp-end" value="`$tmp.l3-network.subnet[$sidx].dhcp-end`" />\r
935                                                 <parameter name="dhcp-enabled" value="`$tmp.l3-network.subnet[$sidx].dhcp-enabled`" />\r
936                                                 <parameter name="orchestration-status" value="PendingCreate" />\r
937                                                 <outcome value='failure'>\r
938                                                     <block atomic='true'>\r
939                                                         <set>\r
940                                                             <parameter name="error-code" value="500"/>\r
941                                                             <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
942                                                         </set>\r
943                                                         <block atomic='true'>\r
944                                                             <set>\r
945                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
946                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
947                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
948                                                             </set>\r
949                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
950                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
951         resource="l3-network" \r
952         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
953                                                             <return status='failure'>\r
954                                                                 <parameter name='error-code' value='500'/>\r
955                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
956                                                             </return>\r
957                                                         </block>\r
958                                                     </block>\r
959                                                 </outcome>\r
960                                                 <outcome value='not-found'>\r
961                                                     <block atomic='true'>\r
962                                                         <set>\r
963                                                             <parameter name="error-code" value="500"/>\r
964                                                             <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
965                                                         </set>\r
966                                                         <block atomic='true'>\r
967                                                             <set>\r
968                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
969                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
970                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
971                                                             </set>\r
972                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
973                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
974         resource="l3-network" \r
975         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
976                                                             <return status='failure'>\r
977                                                                 <parameter name='error-code' value='500'/>\r
978                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
979                                                             </return>\r
980                                                         </block>\r
981                                                     </block>\r
982                                                 </outcome>\r
983                                             </save>\r
984                                         </block>\r
985                                     </outcome>\r
986                                 </switch>\r
987                             </block>\r
988                         </outcome>\r
989                         <outcome value='false'>\r
990                             <block atomic="true">\r
991                                 <switch test='`$tmp.l3-network.subnet[$sidx].gateway-address`'>\r
992                                     <outcome value=''>\r
993                                         <block atomic='true'>\r
994                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
995         resource="subnet" \r
996                 key="l3-network.network-id = $tmp.l3-network.network-id \r
997                         AND subnet.subnet-id = $tmp.subnet-id" >\r
998                                                 <!-- Create l3-network object -->\r
999                                                 <parameter name="network-id" value="`$tmp.l3-network.network-id`" />\r
1000                                                 <parameter name="subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`" />\r
1001                                                 <parameter name="subnet-name" value="`$tmp.l3-network.subnet[$sidx].subnet-name`" />\r
1002                                                 <parameter name="network-start-address" value="`$tmp.l3-network.subnet[$sidx].network-start-address`" />\r
1003                                                 <parameter name="cidr-mask" value="`$tmp.l3-network.subnet[$sidx].cidr-mask`" />\r
1004                                                 <parameter name="ip-version" value="`$tmp.l3-network.subnet[$sidx].ip-version`" />\r
1005                                                 <parameter name="dhcp-enabled" value="`$tmp.l3-network.subnet[$sidx].dhcp-enabled`" />\r
1006                                                 <parameter name="orchestration-status" value="PendingCreate" />\r
1007                                                 <outcome value='failure'>\r
1008                                                     <block atomic='true'>\r
1009                                                         <set>\r
1010                                                             <parameter name="error-code" value="500"/>\r
1011                                                             <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1012                                                         </set>\r
1013                                                         <block atomic='true'>\r
1014                                                             <set>\r
1015                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1016                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1017                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1018                                                             </set>\r
1019                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1020                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1021         resource="l3-network" \r
1022         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1023                                                             <return status='failure'>\r
1024                                                                 <parameter name='error-code' value='500'/>\r
1025                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1026                                                             </return>\r
1027                                                         </block>\r
1028                                                     </block>\r
1029                                                 </outcome>\r
1030                                                 <outcome value='not-found'>\r
1031                                                     <block atomic='true'>\r
1032                                                         <set>\r
1033                                                             <parameter name="error-code" value="500"/>\r
1034                                                             <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1035                                                         </set>\r
1036                                                         <block atomic='true'>\r
1037                                                             <set>\r
1038                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1039                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1040                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1041                                                             </set>\r
1042                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1043                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1044         resource="l3-network" \r
1045         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1046                                                             <return status='failure'>\r
1047                                                                 <parameter name='error-code' value='500'/>\r
1048                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1049                                                             </return>\r
1050                                                         </block>\r
1051                                                     </block>\r
1052                                                 </outcome>\r
1053                                             </save>\r
1054                                         </block>\r
1055                                     </outcome>\r
1056                                     <outcome value='Other'>\r
1057                                         <block atomic='true'>\r
1058                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1059         resource="subnet" \r
1060                 key="l3-network.network-id = $tmp.l3-network.network-id \r
1061                         AND subnet.subnet-id = $tmp.subnet-id" >\r
1062                                                 <!-- Create l3-network object -->\r
1063                                                 <parameter name="network-id" value="`$tmp.l3-network.network-id`" />\r
1064                                                 <parameter name="subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`" />\r
1065                                                 <parameter name="subnet-name" value="`$tmp.l3-network.subnet[$sidx].subnet-name`" />\r
1066                                                 <parameter name="gateway-address" value="`$tmp.l3-network.subnet[$sidx].gateway-address`" />\r
1067                                                 <parameter name="network-start-address" value="`$tmp.l3-network.subnet[$sidx].network-start-address`" />\r
1068                                                 <parameter name="cidr-mask" value="`$tmp.l3-network.subnet[$sidx].cidr-mask`" />\r
1069                                                 <parameter name="ip-version" value="`$tmp.l3-network.subnet[$sidx].ip-version`" />\r
1070                                                 <parameter name="dhcp-enabled" value="`$tmp.l3-network.subnet[$sidx].dhcp-enabled`" />\r
1071                                                 <parameter name="orchestration-status" value="PendingCreate" />\r
1072                                                 <outcome value='failure'>\r
1073                                                     <block atomic='true'>\r
1074                                                         <set>\r
1075                                                             <parameter name="error-code" value="500"/>\r
1076                                                             <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1077                                                         </set>\r
1078                                                         <block atomic='true'>\r
1079                                                             <set>\r
1080                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1081                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1082                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1083                                                             </set>\r
1084                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1085                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1086         resource="l3-network" \r
1087         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1088                                                             <return status='failure'>\r
1089                                                                 <parameter name='error-code' value='500'/>\r
1090                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1091                                                             </return>\r
1092                                                         </block>\r
1093                                                     </block>\r
1094                                                 </outcome>\r
1095                                                 <outcome value='not-found'>\r
1096                                                     <block atomic='true'>\r
1097                                                         <set>\r
1098                                                             <parameter name="error-code" value="500"/>\r
1099                                                             <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1100                                                         </set>\r
1101                                                         <block atomic='true'>\r
1102                                                             <set>\r
1103                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1104                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1105                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1106                                                             </set>\r
1107                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1108                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1109         resource="l3-network" \r
1110         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1111                                                             <return status='failure'>\r
1112                                                                 <parameter name='error-code' value='500'/>\r
1113                                                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1114                                                             </return>\r
1115                                                         </block>\r
1116                                                     </block>\r
1117                                                 </outcome>\r
1118                                             </save>\r
1119                                         </block>\r
1120                                     </outcome>\r
1121                                 </switch>\r
1122                             </block>\r
1123                         </outcome>\r
1124                     </switch>\r
1125                 </block>\r
1126             </for>\r
1127             <switch test='`$hasVpnBindings`'>\r
1128                 <outcome value='true'>\r
1129                     <block atomic="true">\r
1130                         <for index='vidx' start='0' end='`$vpn-bindings_length`' >\r
1131                             <block atomic='true'>\r
1132                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1133         resource="l3-network:relationship-list" \r
1134         key="l3-network.network-id = $tmp.l3-network.network-id" >\r
1135                                     <parameter name="relationship-list.relationship[0].related-to" value="vpn-binding" />\r
1136                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="vpn-binding.vpn-id" />\r
1137                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$vpn-bindings[$vidx].binding-uuid`" />\r
1138                                     <outcome value='failure'>\r
1139                                         <block>\r
1140                                             <set>\r
1141                                                 <parameter name="error-code" value="500"/>\r
1142                                                 <parameter name="tmp.error-message" value="`'An error occurred while saving vpn binding relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1143                                             </set>\r
1144                                             <block atomic='true'>\r
1145                                                 <set>\r
1146                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1147                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1148                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1149                                                 </set>\r
1150                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1151                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1152         resource="l3-network" \r
1153         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1154                                                 <return status='failure'>\r
1155                                                     <parameter name='error-code' value='500'/>\r
1156                                                     <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1157                                                 </return>\r
1158                                             </block>\r
1159                                         </block>\r
1160                                     </outcome>\r
1161                                     <outcome value='not-found'>\r
1162                                         <block>\r
1163                                             <set>\r
1164                                                 <parameter name="error-code" value="500"/>\r
1165                                                 <parameter name="tmp.error-message" value="`'An error occurred while saving vpn binding relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1166                                             </set>\r
1167                                             <block atomic='true'>\r
1168                                                 <set>\r
1169                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1170                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1171                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1172                                                 </set>\r
1173                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1174                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1175         resource="l3-network" \r
1176         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1177                                                 <return status='failure'>\r
1178                                                     <parameter name='error-code' value='500'/>\r
1179                                                     <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1180                                                 </return>\r
1181                                             </block>\r
1182                                         </block>\r
1183                                     </outcome>\r
1184                                 </save>\r
1185                             </block>\r
1186                         </for>\r
1187                     </block>\r
1188                 </outcome>\r
1189             </switch>\r
1190             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1191         resource="l3-network:relationship-list" \r
1192         key="l3-network.network-id = $tmp.l3-network.network-id" >\r
1193                 <parameter name="relationship-list.relationship[0].related-to" value="service-instance" />\r
1194                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="customer.global-customer-id" />\r
1195                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.service-information.global-customer-id`" />\r
1196                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="service-subscription.service-type" />\r
1197                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$service-data.service-information.subscription-service-type`" />\r
1198                 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="service-instance.service-instance-id" />\r
1199                 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$service-data.service-information.service-instance-id`" />\r
1200                 <outcome value='failure'>\r
1201                     <block>\r
1202                         <set>\r
1203                             <parameter name="error-code" value="500"/>\r
1204                             <parameter name="tmp.error-message" value="`'An error occurred while saving service instance relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1205                         </set>\r
1206                         <block atomic='true'>\r
1207                             <set>\r
1208                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1209                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1210                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1211                             </set>\r
1212                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1213                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1214         resource="l3-network" \r
1215         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1216                             <return status='failure'>\r
1217                                 <parameter name='error-code' value='500'/>\r
1218                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1219                             </return>\r
1220                         </block>\r
1221                     </block>\r
1222                 </outcome>\r
1223                 <outcome value='not-found'>\r
1224                     <block>\r
1225                         <set>\r
1226                             <parameter name="error-code" value="500"/>\r
1227                             <parameter name="tmp.error-message" value="`'An error occurred while saving service instance relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1228                         </set>\r
1229                         <block atomic='true'>\r
1230                             <set>\r
1231                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1232                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1233                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1234                             </set>\r
1235                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1236                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1237         resource="l3-network" \r
1238         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1239                             <return status='failure'>\r
1240                                 <parameter name='error-code' value='500'/>\r
1241                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1242                             </return>\r
1243                         </block>\r
1244                     </block>\r
1245                 </outcome>\r
1246             </save>\r
1247             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1248         resource="l3-network:relationship-list" \r
1249         key="l3-network.network-id = $tmp.l3-network.network-id" \r
1250         force="true" \r
1251         local-only="false">\r
1252                 <!-- create relationship-list -->\r
1253                 <parameter name="relationship-list.relationship[0].related-to" value="tenant" />\r
1254                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />\r
1255                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />\r
1256                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />\r
1257                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />\r
1258                 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="tenant.tenant-id" />\r
1259                 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$network-topology-operation-input.network-request-input.tenant`" />\r
1260                 <parameter name="relationship-list.relationship[1].related-to" value="cloud-region" />\r
1261                 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />\r
1262                 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />\r
1263                 <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />\r
1264                 <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />\r
1265                 <outcome value='failure'>\r
1266                     <block atomic='true'>\r
1267                         <set>\r
1268                             <parameter name="error-code" value="500"/>\r
1269                             <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1270                         </set>\r
1271                         <block atomic='true'>\r
1272                             <set>\r
1273                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1274                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1275                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1276                             </set>\r
1277                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1278                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1279         resource="l3-network" \r
1280         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1281                             <return status='failure'>\r
1282                                 <parameter name='error-code' value='500'/>\r
1283                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1284                             </return>\r
1285                         </block>\r
1286                     </block>\r
1287                 </outcome>\r
1288                 <outcome value='not-found'>\r
1289                     <block atomic='true'>\r
1290                         <set>\r
1291                             <parameter name="error-code" value="500"/>\r
1292                             <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1293                         </set>\r
1294                         <block atomic='true'>\r
1295                             <set>\r
1296                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1297                                 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1298                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1299                             </set>\r
1300                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1301                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1302         resource="l3-network" \r
1303         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1304                             <return status='failure'>\r
1305                                 <parameter name='error-code' value='500'/>\r
1306                                 <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1307                             </return>\r
1308                         </block>\r
1309                     </block>\r
1310                 </outcome>\r
1311             </save>\r
1312             <switch test='`$network-model.network-technology`'>\r
1313                 <outcome value='AIC_SR_IOV'>\r
1314                     <block atomic="true">\r
1315                         <set>\r
1316                             <parameter name="tmp.l3-network.segmentation-id" value="1"/>\r
1317                         </set>\r
1318                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1319         resource="segmentation-assignment" \r
1320                 key="l3-network.network-id = $tmp.l3-network.network-id \r
1321                         AND segmentation-assignment.segmentation-id = $tmp.l3-network.segmentation-id" >\r
1322                             <!-- Create segmentation-assignment object -->\r
1323                             <parameter name="network-id" value="`$tmp.l3-network.network-id`" />\r
1324                             <parameter name="segmentation-id" value="`$tmp.l3-network.segmentation-id`" />\r
1325                             <outcome value='failure'>\r
1326                                 <block atomic='true'>\r
1327                                     <set>\r
1328                                         <parameter name="error-code" value="500"/>\r
1329                                         <parameter name="tmp.error-message" value="`'An error occurred while saving segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1330                                     </set>\r
1331                                     <block atomic='true'>\r
1332                                         <set>\r
1333                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1334                                             <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1335                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1336                                         </set>\r
1337                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1338                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1339         resource="l3-network" \r
1340         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1341                                         <return status='failure'>\r
1342                                             <parameter name='error-code' value='500'/>\r
1343                                             <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1344                                         </return>\r
1345                                     </block>\r
1346                                 </block>\r
1347                             </outcome>\r
1348                             <outcome value='not-found'>\r
1349                                 <block atomic='true'>\r
1350                                     <set>\r
1351                                         <parameter name="error-code" value="500"/>\r
1352                                         <parameter name="tmp.error-message" value="`'An error occurred while saving segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/>\r
1353                                     </set>\r
1354                                     <block atomic='true'>\r
1355                                         <set>\r
1356                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$tmp.l3-network.network-id`' />\r
1357                                             <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
1358                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1359                                         </set>\r
1360                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1361                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1362         resource="l3-network" \r
1363         key="l3-network.network-id = $tmp.l3-network.network-id"></delete>\r
1364                                         <return status='failure'>\r
1365                                             <parameter name='error-code' value='500'/>\r
1366                                             <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/>\r
1367                                         </return>\r
1368                                     </block>\r
1369                                 </block>\r
1370                             </outcome>\r
1371                         </save>\r
1372                     </block>\r
1373                 </outcome>\r
1374             </switch>\r
1375             <set>\r
1376                 <parameter name='network-topology.network-topology-identifier-structure.' value='`$tmp.l3-network.`' />\r
1377                 <parameter name='network-topology.tenant' value='`$network-topology-operation-input.network-request-input.tenant`' />\r
1378                 <parameter name='network-topology.onap-model-information.' value='`$network-topology-operation-input.network-information.onap-model-information.`' />\r
1379                 <parameter name='network-topology.network-parameters.' value='`$network-topology-operation-input.network-request-input.network-parameters.`' />\r
1380                 <parameter name='network-topology.aic-cloud-region' value='`$network-topology-operation-input.network-request-input.aic-cloud-region`' />\r
1381             </set>\r
1382             <set>\r
1383                 <parameter name="service-data.networks.network[$nidx].network-id" value='`$tmp.l3-network.network-id`' />\r
1384                 <parameter name="service-data.networks.network[$nidx].network-data.network-topology." value='$network-topology.' />\r
1385                 <parameter name="service-data.networks.network[$nidx].network-data.network-request-input." value='$x.' />\r
1386                 <parameter name="service-data.networks.network_length" value='`$nidx_len`' />\r
1387             </set>\r
1388             <set>\r
1389                 <parameter name='networkId' value='`$tmp.l3-network.network-id`' />\r
1390             </set>\r
1391             <set>\r
1392                 <parameter name='network-object-path'\r
1393  value="`$tmp.l3-network.self-link`"/>\r
1394             </set>\r
1395             <set>\r
1396                 <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='PendingCreate' />\r
1397                 <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\r
1398                 <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />\r
1399             </set>\r
1400             <return status='success'>\r
1401                 <parameter name='' value='' />\r
1402             </return>\r
1403         </block>\r
1404     </method>\r
1405 </service-logic>