Fix vCPE GRA Network
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation-assign-from-preload.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-from-preload' 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='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\r
32                 <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\r
33                 <parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\r
34                 <parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\r
35                 <parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />\r
36             </set>\r
37             <set>\r
38                 <parameter name='tmp.l3-network.model-invariant-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`" />\r
39                 <parameter name='tmp.l3-network.model-version-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-version`" />\r
40                 <parameter name='tmp.l3-network.model-customization-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`" />\r
41                 <parameter name='s-onap-model-information.model-invariant-uuid' value='`$service-model.invariant-uuid`' />\r
42                 <parameter name='s-onap-model-information.model-version' value='`$service-model.version`' />\r
43                 <parameter name='s-onap-model-information.model-uuid' value='`$service-model.service-uuid`' />\r
44                 <parameter name='s-onap-model-information.model-name' value='`$service-model.name`' />\r
45                 <parameter name='n-onap-model-information.model-invariant-uuid' value='`$network-model.invariant-uuid`' />\r
46                 <parameter name='n-onap-model-information.model-version' value='`$network-model.version`' />\r
47                 <parameter name='n-onap-model-information.model-uuid' value='`$network-model.uuid`' />\r
48                 <parameter name='n-onap-model-information.model-name' value='`$network-model.name`' />\r
49             </set>\r
50             <set>\r
51                 <parameter name='service-data.networks.network[$nidx].network-data.service-information.ecomp-model-information.' value="`$s-onap-model-information.`" />\r
52                 <parameter name='service-data.networks.network[$nidx].network-data.network-information.ecomp-model-information.' value="`$n-onap-model-information.`" />\r
53             </set>\r
54             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
55                 <parameter name="source" value="`$prop.restapi.preload-network`"/>\r
56                 <parameter name="outputPath" value="tmp.pn-url"/>\r
57                 <parameter name="target" value="{network-name}"/>\r
58                 <parameter name="replacement" value="`$tmp.network-instance-name`"/>\r
59             </execute>\r
60             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
61                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pn-url`' />\r
62                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
63                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
64                 <parameter name='format' value='json' />\r
65                 <parameter name='httpMethod' value='GET' />\r
66                 <parameter name="responsePrefix" value="preload-data" />\r
67                 <outcome value='success'>\r
68                     <block atomic="true"></block>\r
69                 </outcome>\r
70                 <outcome value='Other'>\r
71                     <return status='failure'>\r
72                         <parameter name="error-code" value="500" />\r
73                         <parameter name="error-message" value="'Error: No preload-network found with network-name =' + $tmp.network-instance-name + ' in md-sal'" />\r
74                     </return>\r
75                 </outcome>\r
76             </execute>\r
77             <set>\r
78                 <parameter name="tmp.error-message" value=""/>\r
79             </set>\r
80             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
81         resource="l3-network" \r
82                 key="l3-network.network-name = $tmp.network-instance-name" \r
83                 local-only="false" \r
84                 pfx="aai.l3-network">\r
85                 <outcome value='failure'>\r
86                     <return status='failure'>\r
87                         <parameter name="error-code" value="500" />\r
88                         <parameter name="error-message" value="'Error searching for l3-network with network-name =' + $tmp.network-instance-name + 'from AnAI'" />\r
89                     </return>\r
90                 </outcome>\r
91             </get-resource>\r
92             <set>\r
93                 <parameter name='tmp.l3-network.network-name' value="`$tmp.network-instance-name`" />\r
94                 <parameter name='tmp.l3-network.network-type' value="`$preload-data.preload-network-topology-information.network-topology-identifier-structure.network-type`" />\r
95                 <parameter name="tmp.l3-network.physical-network-name" value="`$preload-data.preload-network-topology-information.physical-network-name`" />\r
96                 <parameter name="tmp.l3-network.is-provider-network" value="`$preload-data.preload-network-topology-information.is-provider-network`" />\r
97                 <parameter name="tmp.l3-network.is-shared-network" value="`$preload-data.preload-network-topology-information.is-shared-network`" />\r
98                 <parameter name="tmp.l3-network.is-external-network" value="`$preload-data.preload-network-topology-information.network-topology-identifier-structure.network-type`" />\r
99                 <parameter name='tmp.l3-network.network-role' value="`$preload-data.preload-network-topology-information.network-topology-identifier-structure.network-role`" />\r
100                 <parameter name='tmp.l3-network.network-technology' value="`$preload-data.preload-network-topology-information.network-topology-identifier-structure.network-technology`" />\r
101                 <parameter name='tmp.l3-network.is-bound-to-vpn' value="`$network-model.is-bound-to-vpn`" />\r
102                 <parameter name="tmp.l3-network.tenant-id" value="`$network-topology-operation-input.network-request-input.tenant`" />\r
103                 <parameter name="tmp.l3-network.network-role-instance" value="0" />\r
104                 <parameter name='tmp.l3-network.orchestration-status' value="PendingCreate" />\r
105                 <parameter name='tmp.l3-network.model-invariant-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`" />\r
106                 <parameter name='tmp.l3-network.model-version-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-version`" />\r
107                 <parameter name='tmp.l3-network.model-customization-id' value="`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`" />\r
108                 <parameter name='tmp.l3-network.eipam-v6-address-plan' value="`$network-model.eipam-v6-address-plan`" />\r
109                 <parameter name='tmp.l3-network.eipam-v4-address-plan' value="`$network-model.eipam-v4-address-plan`" />\r
110                 <parameter name='tmp.l3-network.service-id' value="`$service-data.service-information.service-id`" />\r
111                 <parameter name='tmp.l3-network.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
112  + $service-data.service-information.service-instance-id\r
113  + '/service-data/networks/network/'\r
114  + $tmp.l3-network.network-id\r
115  + '/network-data/network-topology/'` " />\r
116             </set>\r
117             <set>\r
118                 <parameter name="service-data.networks.network[$nidx].network-data.network-information.network-id" value='`$tmp.l3-network.network-id`' />\r
119                 <parameter name="service-data.networks.network[$nidx].network-data.network-information.from-preload" value='true' />\r
120                 <parameter name="service-data.networks.network[$nidx].network-data.network-information.network-type" value='`$tmp.l3-network.network-type`' />\r
121             </set>\r
122             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
123                 <parameter name='filename' value='/var/tmp/lmr-nto.log' />\r
124             </execute>\r
125             <switch test="`$preload-data.preload-network-topology-information.subnets_length`">\r
126                 <outcome value=''>\r
127                     <set>\r
128                         <parameter name="preload-data.preload-network-topology-information.subnets_length" value="0" />\r
129                     </set>\r
130                 </outcome>\r
131             </switch>\r
132             <for index="i" start="0" end="`$preload-data.preload-network-topology-information.subnets_length`">\r
133                 <block atomic='true'>\r
134                     <switch test="`$preload-data.preload-network-topology-information.subnets[$i].dhcp-enabled`">\r
135                         <outcome value='Y'>\r
136                             <set>\r
137                                 <parameter name="tmp.dhcpEnabled.boolean" value="true" />\r
138                             </set>\r
139                         </outcome>\r
140                         <outcome value='N'>\r
141                             <set>\r
142                                 <parameter name="tmp.dhcpEnabled.boolean" value="false" />\r
143                             </set>\r
144                         </outcome>\r
145                     </switch>\r
146                     <switch test="`$preload-data.preload-network-topology-information.subnets[$i].addr-from-start`">\r
147                         <outcome value='Y'>\r
148                             <set>\r
149                                 <parameter name="tmp.addrFromStart.boolean" value="true" />\r
150                             </set>\r
151                         </outcome>\r
152                         <outcome value=''>\r
153                             <set>\r
154                                 <parameter name="tmp.addrFromStart.boolean" value="true" />\r
155                             </set>\r
156                         </outcome>\r
157                         <outcome value='N'>\r
158                             <set>\r
159                                 <parameter name="tmp.addrFromStart.boolean" value="false" />\r
160                             </set>\r
161                         </outcome>\r
162                     </switch>\r
163                     <set>\r
164                         <parameter name="tmp.gateway-address" value="`$preload-data.preload-network-topology-information.subnets[$i].gateway-address`" />\r
165                     </set>\r
166                     <switch test="`$preload-data.preload-network-topology-information.subnets[$i].gateway-address`">\r
167                         <outcome value=''>\r
168                             <block atomic='true'>\r
169                                 <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="getGatewayAddress">\r
170                                     <parameter name="ipAddress" value="`$preload-data.preload-network-topology-information.subnets[$i].start-address`" />\r
171                                     <parameter name="ipVersion" value="`$preload-data.preload-network-topology-information.subnets[$i].ip-version`" />\r
172                                     <parameter name="subnet" value="`$preload-data.preload-network-topology-information.subnets[$i].cidr-mask`" />\r
173                                     <parameter name="ctxVariable" value="tmp.return.generate.gateway-address" />\r
174                                     <outcome value='failure'>\r
175                                         <block atomic='true'>\r
176                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
177         resource="l3-network" \r
178         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
179                                             <return status='failure'>\r
180                                                 <parameter name='error-code' value='500'/>\r
181                                                 <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
182                                             </return>\r
183                                         </block>\r
184                                     </outcome>\r
185                                 </execute>\r
186                                 <set>\r
187                                     <parameter name="tmp.gateway-address" value="`$tmp.return.generate.gateway-address`" />\r
188                                 </set>\r
189                             </block>\r
190                         </outcome>\r
191                     </switch>\r
192                     <set>\r
193                         <parameter name="tmp.local.network-id" value="`$tmp.l3-network.network-id`" />\r
194                     </set>\r
195                     <call module="VNF-API" rpc="generate-subnets-subnet-id" mode="sync" >\r
196                         <outcome value='failure'>\r
197                             <block atomic='true'>\r
198                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
199         resource="l3-network" \r
200         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
201                                 <return status='failure'>\r
202                                     <parameter name='error-code' value='500'/>\r
203                                     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
204                                 </return>\r
205                             </block>\r
206                         </outcome>\r
207                     </call>\r
208                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
209         resource="subnet" \r
210                 key="l3-network.network-id = $tmp.l3-network.network-id \r
211                         AND subnet.subnet-id = $tmp.return.generate-subnets-subnet-id.uuid" >\r
212                         <!-- Create subnet object -->\r
213                         <parameter name="network-id" value="`$tmp.l3-network.network-id`" />\r
214                         <parameter name="subnet-id" value="`$tmp.return.generate-subnets-subnet-id.uuid`" />\r
215                         <parameter name="subnet-name" value="`$preload-data.preload-network-topology-information.subnets[$i].subnet-name`" />\r
216                         <parameter name="subnet-role" value="`$preload-data.preload-network-topology-information.subnets[$i].subnet-role`" />\r
217                         <parameter name="gateway-address" value="`$tmp.gateway-address`" />\r
218                         <parameter name="network-start-address" value="`$preload-data.preload-network-topology-information.subnets[$i].start-address`" />\r
219                         <parameter name="cidr-mask" value="`$preload-data.preload-network-topology-information.subnets[$i].cidr-mask`" />\r
220                         <parameter name="ip-version" value="`$preload-data.preload-network-topology-information.subnets[$i].ip-version`" />\r
221                         <parameter name="dhcp-start" value="`$preload-data.preload-network-topology-information.subnets[$i].dhcp-start-address`" />\r
222                         <parameter name="dhcp-end" value="`$preload-data.preload-network-topology-information.subnets[$i].dhcp-end-address`" />\r
223                         <parameter name="dhcp-enabled" value="`$tmp.dhcpEnabled.boolean`" />\r
224                         <parameter name="ip-assignment-direction" value="`$tmp.addrFromStart.boolean`" />\r
225                         <parameter name="orchestration-status" value="PendingCreate" />\r
226                         <outcome value='failure'>\r
227                             <block>\r
228                                 <set>\r
229                                     <parameter name="error-code" value="500"/>\r
230                                     <parameter name="tmp.error-message" value="`'An error occurred while saving subnet in AnAI where subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/>\r
231                                 </set>\r
232                                 <block atomic='true'>\r
233                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
234         resource="l3-network" \r
235         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
236                                     <return status='failure'>\r
237                                         <parameter name='error-code' value='500'/>\r
238                                         <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
239                                     </return>\r
240                                 </block>\r
241                             </block>\r
242                         </outcome>\r
243                         <outcome value='not-found'>\r
244                             <block>\r
245                                 <set>\r
246                                     <parameter name="error-code" value="500"/>\r
247                                     <parameter name="tmp.error-message" value="`'An error occurred while saving subnet in AnAI where subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/>\r
248                                 </set>\r
249                                 <block atomic='true'>\r
250                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
251         resource="l3-network" \r
252         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
253                                     <return status='failure'>\r
254                                         <parameter name='error-code' value='500'/>\r
255                                         <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
256                                     </return>\r
257                                 </block>\r
258                             </block>\r
259                         </outcome>\r
260                     </save>\r
261                     <switch test='`$preload-data.preload-network-topology-information.host-routes_length`'>\r
262                         <outcome value=''>\r
263                             <set>\r
264                                 <parameter name='preload-data.preload-network-topology-information.host-routes_length' value='0' />\r
265                             </set>\r
266                         </outcome>\r
267                     </switch>\r
268                     <for index="h" start="0" end="`$preload-data.preload-network-topology-information.host-routes_length`">\r
269                         <block atomic='true'>\r
270                             <set>\r
271                                 <parameter name="tmp.local.subnet-id" value="`$tmp.return.generate-subnets-subnet-id.uuid`" />\r
272                             </set>\r
273                             <call module="GENERIC-RESOURCE-API" rpc="generate-host-routes-host-route-id" mode="sync" >\r
274                                 <outcome value='failure'>\r
275                                     <block atomic='true'>\r
276                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
277         resource="l3-network" \r
278         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
279                                         <return status='failure'>\r
280                                             <parameter name='error-code' value='500'/>\r
281                                             <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
282                                         </return>\r
283                                     </block>\r
284                                 </outcome>\r
285                             </call>\r
286                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
287         resource="host-route" \r
288                 key="l3-network.network-id = $tmp.l3-network.network-id \r
289                         AND subnet.subnet-id = $tmp.return.generate-subnets-subnet-id.uuid  \r
290                         AND host-route.host-route-id = $tmp.return.generate-host-routes-host-route-id.uuid" >\r
291                                 <!-- Create host-route object -->\r
292                                 <parameter name="host-route-id" value="`$tmp.return.generate-host-routes-host-route-id.uuid`" />\r
293                                 <parameter name="route-prefix" value="`$preload-data.preload-network-topology-information.subnets[$i].host-routes[$h].route-prefix`" />\r
294                                 <parameter name="next-hop" value="`$preload-data.preload-network-topology-information.subnets[$i].host-routes[$h].next-hop`" />\r
295                                 <outcome value='failure'>\r
296                                     <block>\r
297                                         <set>\r
298                                             <parameter name="error-code" value="500"/>\r
299                                             <parameter name="tmp.error-message" value="`'An error occurred while saving host-route in AnAI where host-route-id = ' + $tmp.return.generate-host-routes-host-route-id.uuid`"/>\r
300                                         </set>\r
301                                         <block atomic='true'>\r
302                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
303         resource="l3-network" \r
304         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
305                                             <return status='failure'>\r
306                                                 <parameter name='error-code' value='500'/>\r
307                                                 <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
308                                             </return>\r
309                                         </block>\r
310                                     </block>\r
311                                 </outcome>\r
312                                 <outcome value='not-found'>\r
313                                     <block>\r
314                                         <set>\r
315                                             <parameter name="error-code" value="500"/>\r
316                                             <parameter name="tmp.error-message" value="`'An error occurred while saving host-route in AnAI where host-route-id = ' + $tmp.return.generate-host-routes-host-route-id.uuid`"/>\r
317                                         </set>\r
318                                         <block atomic='true'>\r
319                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
320         resource="l3-network" \r
321         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
322                                             <return status='failure'>\r
323                                                 <parameter name='error-code' value='500'/>\r
324                                                 <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
325                                             </return>\r
326                                         </block>\r
327                                     </block>\r
328                                 </outcome>\r
329                             </save>\r
330                         </block>\r
331                     </for>\r
332                 </block>\r
333             </for>\r
334             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
335         resource="l3-network:relationship-list" \r
336         key="l3-network.network-id = $tmp.l3-network.network-id" \r
337         force="true" \r
338         local-only="false">\r
339                 <!-- create relationship-list -->\r
340                 <parameter name="relationship-list.relationship[0].related-to" value="tenant" />\r
341                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />\r
342                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />\r
343                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />\r
344                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />\r
345                 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="tenant.tenant-id" />\r
346                 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$network-topology-operation-input.network-request-input.tenant`" />\r
347                 <parameter name="relationship-list.relationship[1].related-to" value="cloud-region" />\r
348                 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />\r
349                 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />\r
350                 <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />\r
351                 <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />\r
352                 <outcome value='failure'>\r
353                     <block atomic='true'>\r
354                         <set>\r
355                             <parameter name="error-code" value="500"/>\r
356                             <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
357                         </set>\r
358                         <block atomic='true'>\r
359                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
360         resource="l3-network" \r
361         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
362                             <return status='failure'>\r
363                                 <parameter name='error-code' value='500'/>\r
364                                 <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
365                             </return>\r
366                         </block>\r
367                     </block>\r
368                 </outcome>\r
369                 <outcome value='not-found'>\r
370                     <block atomic='true'>\r
371                         <set>\r
372                             <parameter name="error-code" value="500"/>\r
373                             <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
374                         </set>\r
375                         <block atomic='true'>\r
376                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
377         resource="l3-network" \r
378         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
379                             <return status='failure'>\r
380                                 <parameter name='error-code' value='500'/>\r
381                                 <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
382                             </return>\r
383                         </block>\r
384                     </block>\r
385                 </outcome>\r
386             </save>\r
387             <switch test="`$preload-data.preload-network-topology-information.vpn-bindings_length`">\r
388                 <outcome value=''>\r
389                     <set>\r
390                         <parameter name="preload-data.preload-network-topology-information.vpn-bindings_length" value="0" />\r
391                     </set>\r
392                 </outcome>\r
393             </switch>\r
394             <for index="i" start="0" end="`$preload-data.preload-network-topology-information.vpn-bindings_length`">\r
395                 <block atomic='true'>\r
396                     <set>\r
397                         <parameter name="tmp.vpn-binding-id" value="" />\r
398                     </set>\r
399                     <switch test="`$preload-data.preload-network-topology-information.vpn-bindings[$i].vpn-binding-id`">\r
400                         <outcome value='Other'>\r
401                             <set>\r
402                                 <parameter name="tmp.vpn-binding-id" value="`$preload-data.preload-network-topology-information.vpn-bindings[$i].vpn-binding-id`" />\r
403                             </set>\r
404                         </outcome>\r
405                     </switch>\r
406                     <switch test="`$tmp.vpn-binding-id != ''`">\r
407                         <outcome value='true'>\r
408                             <block atomic='true'>\r
409                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
410         resource="vpn-binding" \r
411                 key="vpn-binding.vpn-id = $tmp.vpn-binding-id" \r
412                 local-only="false" \r
413                 pfx="tmp.AnAI.vpn-binding">\r
414                                     <outcome value='success'>\r
415                                         <switch test="`$tmp.AnAI.vpn-binding.vpn-id`" >\r
416                                             <outcome value=''>\r
417                                                 <block atomic='true'>\r
418                                                     <set>\r
419                                                         <parameter name="error-code" value="500"/>\r
420                                                         <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where vpn-binding-id  = ' + $tmp.vpn-binding-id + '.'`"/>\r
421                                                     </set>\r
422                                                     <block atomic='true'>\r
423                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
424         resource="l3-network" \r
425         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
426                                                         <return status='failure'>\r
427                                                             <parameter name='error-code' value='500'/>\r
428                                                             <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
429                                                         </return>\r
430                                                     </block>\r
431                                                 </block>\r
432                                             </outcome>\r
433                                         </switch>\r
434                                     </outcome>\r
435                                     <outcome value='not-found'>\r
436                                         <block atomic='true'>\r
437                                             <set>\r
438                                                 <parameter name="error-code" value="500"/>\r
439                                                 <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where vpn-binding-id = ' + $preload-data.preload-network-topology-information.vpn-bindings[$i].vpn-binding-id`"/>\r
440                                             </set>\r
441                                             <block atomic='true'>\r
442                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
443         resource="l3-network" \r
444         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
445                                                 <return status='failure'>\r
446                                                     <parameter name='error-code' value='500'/>\r
447                                                     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
448                                                 </return>\r
449                                             </block>\r
450                                         </block>\r
451                                     </outcome>\r
452                                     <outcome value='failure'>\r
453                                         <block atomic='true'>\r
454                                             <set>\r
455                                                 <parameter name="error-code" value="500"/>\r
456                                                 <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where vpn-binding-id = ' + $preload-data.preload-network-topology-information.vpn-bindings[$i].vpn-binding-id`"/>\r
457                                             </set>\r
458                                             <block atomic='true'>\r
459                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
460         resource="l3-network" \r
461         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
462                                                 <return status='failure'>\r
463                                                     <parameter name='error-code' value='500'/>\r
464                                                     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
465                                                 </return>\r
466                                             </block>\r
467                                         </block>\r
468                                     </outcome>\r
469                                 </get-resource>\r
470                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
471         resource="l3-network:relationship-list" \r
472         key="l3-network.network-id = $tmp.l3-network.network-id" \r
473         force="true" \r
474         local-only="false">\r
475                                     <parameter name="relationship-list.relationship[0].related-to" value="vpn-binding" />\r
476                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="vpn-binding.vpn-id" />\r
477                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.vpn-binding-id`" />\r
478                                     <outcome value='failure'>\r
479                                         <block atomic='true'>\r
480                                             <set>\r
481                                                 <parameter name="error-code" value="500"/>\r
482                                                 <parameter name="tmp.error-message" value="`'An error occurred while saving vpn-binding relationship for l3-network in AnAI where vpn-id = ' + $tmp.vpn-binding-id`"/>\r
483                                             </set>\r
484                                             <block atomic='true'>\r
485                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
486         resource="l3-network" \r
487         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
488                                                 <return status='failure'>\r
489                                                     <parameter name='error-code' value='500'/>\r
490                                                     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
491                                                 </return>\r
492                                             </block>\r
493                                         </block>\r
494                                     </outcome>\r
495                                     <outcome value='not-found'>\r
496                                         <block atomic='true'>\r
497                                             <set>\r
498                                                 <parameter name="error-code" value="500"/>\r
499                                                 <parameter name="tmp.error-message" value="`'An error occurred while saving vpn-binding relationship for l3-network in AnAI where vpn-id = ' + $tmp.vpn-binding-id`"/>\r
500                                             </set>\r
501                                             <block atomic='true'>\r
502                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
503         resource="l3-network" \r
504         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
505                                                 <return status='failure'>\r
506                                                     <parameter name='error-code' value='500'/>\r
507                                                     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
508                                                 </return>\r
509                                             </block>\r
510                                         </block>\r
511                                     </outcome>\r
512                                     <outcome value='success'>\r
513                                         <set>\r
514                                             <parameter name="tmp.is-bound-to-vpn" value="true" />\r
515                                         </set>\r
516                                     </outcome>\r
517                                 </save>\r
518                             </block>\r
519                         </outcome>\r
520                     </switch>\r
521                 </block>\r
522             </for>\r
523             <switch test="`$preload-data.preload-network-topology-information.network-policy_length`">\r
524                 <outcome value=''>\r
525                     <set>\r
526                         <parameter name='preload-data.preload-network-topology-information.network-policy_length' value='0' />\r
527                     </set>\r
528                 </outcome>\r
529             </switch>\r
530             <for index="i" start="0" end="`$preload-data.preload-network-topology-information.network-policy_length`">\r
531                 <switch test="`$preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn != ''`">\r
532                     <outcome value='true'>\r
533                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
534         resource="network-policy" \r
535                 key="network-policy.network-policy-fqdn = $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn" \r
536                 local-only="false" \r
537                 pfx="tmp.AnAI.network-policy">\r
538                             <outcome value='not-found'>\r
539                                 <block atomic='true'>\r
540                                     <set>\r
541                                         <parameter name="error-code" value="500"/>\r
542                                         <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>\r
543                                     </set>\r
544                                     <block atomic='true'>\r
545                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
546         resource="l3-network" \r
547         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
548                                         <return status='failure'>\r
549                                             <parameter name='error-code' value='500'/>\r
550                                             <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
551                                         </return>\r
552                                     </block>\r
553                                 </block>\r
554                             </outcome>\r
555                             <outcome value='failure'>\r
556                                 <block atomic='true'>\r
557                                     <set>\r
558                                         <parameter name="error-code" value="500"/>\r
559                                         <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>\r
560                                     </set>\r
561                                     <block atomic='true'>\r
562                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
563         resource="l3-network" \r
564         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
565                                         <return status='failure'>\r
566                                             <parameter name='error-code' value='500'/>\r
567                                             <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
568                                         </return>\r
569                                     </block>\r
570                                 </block>\r
571                             </outcome>\r
572                             <outcome value='success'>\r
573                                 <switch test="`$tmp.AnAI.network-policy.network-policy-id`" >\r
574                                     <outcome value=''>\r
575                                         <block atomic='true'>\r
576                                             <set>\r
577                                                 <parameter name="error-code" value="500"/>\r
578                                                 <parameter name="tmp.error-message" value="`'Failed to query newtork-policy from AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn + '. It is likely that the same network-policy-fqdn points to more than one network-policy objects in AnAI.'`"/>\r
579                                             </set>\r
580                                             <block atomic='true'>\r
581                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
582         resource="l3-network" \r
583         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
584                                                 <return status='failure'>\r
585                                                     <parameter name='error-code' value='500'/>\r
586                                                     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
587                                                 </return>\r
588                                             </block>\r
589                                         </block>\r
590                                     </outcome>\r
591                                     <outcome value='Other'>\r
592                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
593         resource="l3-network:relationship-list" \r
594         key="l3-network.network-id = $tmp.l3-network.network-id" >\r
595                                             <parameter name="relationship-list.relationship[0].related-to" value="network-policy" />\r
596                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-policy.network-policy-id" />\r
597                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.network-policy.network-policy-id`" />\r
598                                             <outcome value='failure'>\r
599                                                 <block atomic='true'>\r
600                                                     <set>\r
601                                                         <parameter name="error-code" value="500"/>\r
602                                                         <parameter name="tmp.error-message" value="`'An error occurred while saving network-policy relationship for l3-network in AnAI where network-policy-id = ' + $tmp.AnAI.network-policy.network-policy-id`"/>\r
603                                                     </set>\r
604                                                     <block atomic='true'>\r
605                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
606         resource="l3-network" \r
607         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
608                                                         <return status='failure'>\r
609                                                             <parameter name='error-code' value='500'/>\r
610                                                             <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
611                                                         </return>\r
612                                                     </block>\r
613                                                 </block>\r
614                                             </outcome>\r
615                                             <outcome value='not-found'>\r
616                                                 <block atomic='true'>\r
617                                                     <set>\r
618                                                         <parameter name="error-code" value="500"/>\r
619                                                         <parameter name="tmp.error-message" value="`'An error occurred while saving network-policy relationship for l3-network in AnAI where network-policy-id = ' + $tmp.AnAI.network-policy.network-policy-id`"/>\r
620                                                     </set>\r
621                                                     <block atomic='true'>\r
622                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
623         resource="l3-network" \r
624         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
625                                                         <return status='failure'>\r
626                                                             <parameter name='error-code' value='500'/>\r
627                                                             <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
628                                                         </return>\r
629                                                     </block>\r
630                                                 </block>\r
631                                             </outcome>\r
632                                         </save>\r
633                                     </outcome>\r
634                                 </switch>\r
635                             </outcome>\r
636                         </get-resource>\r
637                     </outcome>\r
638                 </switch>\r
639             </for>\r
640             <switch test="`$preload-data.preload-network-topology-information.route-table-reference_length`">\r
641                 <outcome value=''>\r
642                     <set>\r
643                         <parameter name='preload-data.preload-network-topology-information.route-table-reference_length' value='0' />\r
644                     </set>\r
645                 </outcome>\r
646             </switch>\r
647             <for index="i" start="0" end="`$preload-data.preload-network-topology-information.route-table-reference_length`">\r
648                 <switch test="`$preload-data.preload-network-topology-information.route-table-reference[$i].route-table-reference-fqdn != ''`">\r
649                     <outcome value='true'>\r
650                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
651         resource="route-table-reference" \r
652                 key="route-table-reference.route-table-reference-fqdn = $preload-data.preload-network-topology-information.route-table-reference[$i].route-table-reference-fqdn" \r
653                 pfx="tmp.AnAI.route-table-reference">\r
654                             <outcome value='not-found'>\r
655                                 <block atomic='true'>\r
656                                     <set>\r
657                                         <parameter name="error-code" value="500"/>\r
658                                         <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>\r
659                                     </set>\r
660                                     <block atomic='true'>\r
661                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
662         resource="l3-network" \r
663         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
664                                         <return status='failure'>\r
665                                             <parameter name='error-code' value='500'/>\r
666                                             <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
667                                         </return>\r
668                                     </block>\r
669                                 </block>\r
670                             </outcome>\r
671                             <outcome value='failure'>\r
672                                 <block atomic='true'>\r
673                                     <set>\r
674                                         <parameter name="error-code" value="500"/>\r
675                                         <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>\r
676                                     </set>\r
677                                     <block atomic='true'>\r
678                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
679         resource="l3-network" \r
680         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
681                                         <return status='failure'>\r
682                                             <parameter name='error-code' value='500'/>\r
683                                             <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
684                                         </return>\r
685                                     </block>\r
686                                 </block>\r
687                             </outcome>\r
688                             <outcome value='success'>\r
689                                 <switch test="`$tmp.AnAI.route-table-reference.route-table-reference-id`" >\r
690                                     <outcome value=''>\r
691                                         <block atomic='true'>\r
692                                             <set>\r
693                                                 <parameter name="error-code" value="500"/>\r
694                                                 <parameter name="tmp.error-message" value="`'Failed to query route-table-reference from AnAI where route-table-reference-fqdn = ' + $preload-data.preload-network-topology-information.route-table-reference[$i].route-table-reference-fqdn + '. It is likely that the same route-table-reference-fqdn points to more than one route-table-reference objects in AnAI.'`"/>\r
695                                             </set>\r
696                                             <block atomic='true'>\r
697                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
698         resource="l3-network" \r
699         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
700                                                 <return status='failure'>\r
701                                                     <parameter name='error-code' value='500'/>\r
702                                                     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
703                                                 </return>\r
704                                             </block>\r
705                                         </block>\r
706                                     </outcome>\r
707                                     <outcome value='Other'>\r
708                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
709         resource="l3-network:relationship-list" \r
710         key="l3-network.network-id = $tmp.l3-network.network-id" >\r
711                                             <parameter name="relationship-list.relationship[0].related-to" value="route-table-reference" />\r
712                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="route-table-reference.route-table-reference-id" />\r
713                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.route-table-reference.route-table-reference-id`" />\r
714                                             <outcome value='failure'>\r
715                                                 <block atomic='true'>\r
716                                                     <set>\r
717                                                         <parameter name="error-code" value="500"/>\r
718                                                         <parameter name="tmp.error-message" value="`'An error occurred while saving route-table-reference relationship for l3-network in AnAI where route-table-reference-id = ' + $tmp.AnAI.route-table-reference.route-table-reference-id`"/>\r
719                                                     </set>\r
720                                                     <block atomic='true'>\r
721                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
722         resource="l3-network" \r
723         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
724                                                         <return status='failure'>\r
725                                                             <parameter name='error-code' value='500'/>\r
726                                                             <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
727                                                         </return>\r
728                                                     </block>\r
729                                                 </block>\r
730                                             </outcome>\r
731                                             <outcome value='not-found'>\r
732                                                 <block atomic='true'>\r
733                                                     <set>\r
734                                                         <parameter name="error-code" value="500"/>\r
735                                                         <parameter name="tmp.error-message" value="`'An error occurred while saving route-table-reference relationship for l3-network in AnAI where route-table-reference-id = ' + $tmp.AnAI.route-table-reference.route-table-reference-id`"/>\r
736                                                     </set>\r
737                                                     <block atomic='true'>\r
738                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
739         resource="l3-network" \r
740         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></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-netework - ' + $tmp.error-message`"/>\r
744                                                         </return>\r
745                                                     </block>\r
746                                                 </block>\r
747                                             </outcome>\r
748                                         </save>\r
749                                     </outcome>\r
750                                 </switch>\r
751                             </outcome>\r
752                         </get-resource>\r
753                     </outcome>\r
754                 </switch>\r
755             </for>\r
756             <switch test="`$tmp.is-bound-to-vpn`">\r
757                 <outcome value="true">\r
758                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
759         resource="l3-network" \r
760                 key="l3-network.network-id = $tmp.l3-network.network-id" >\r
761                         <parameter name="is-bound-to-vpn" value="true" />\r
762                         <outcome value='failure'>\r
763                             <block atomic='true'>\r
764                                 <set>\r
765                                     <parameter name="error-code" value="500"/>\r
766                                     <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network is-bound-to-vpn in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/>\r
767                                 </set>\r
768                                 <block atomic='true'>\r
769                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
770         resource="l3-network" \r
771         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
772                                     <return status='failure'>\r
773                                         <parameter name='error-code' value='500'/>\r
774                                         <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
775                                     </return>\r
776                                 </block>\r
777                             </block>\r
778                         </outcome>\r
779                         <outcome value='not-found'>\r
780                             <block atomic='true'>\r
781                                 <set>\r
782                                     <parameter name="error-code" value="500"/>\r
783                                     <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network is-bound-to-vpn in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/>\r
784                                 </set>\r
785                                 <block atomic='true'>\r
786                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
787         resource="l3-network" \r
788         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
789                                     <return status='failure'>\r
790                                         <parameter name='error-code' value='500'/>\r
791                                         <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
792                                     </return>\r
793                                 </block>\r
794                             </block>\r
795                         </outcome>\r
796                     </update>\r
797                 </outcome>\r
798             </switch>\r
799             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
800         resource="l3-network:relationship-list" \r
801         key="l3-network.network-id = $tmp.l3-network.network-id" >\r
802                 <parameter name="relationship-list.relationship[0].related-to" value="service-instance" />\r
803                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="customer.global-customer-id" />\r
804                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.service-information.global-customer-id`" />\r
805                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="service-subscription.service-type" />\r
806                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$service-data.service-information.subscription-service-type`" />\r
807                 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="service-instance.service-instance-id" />\r
808                 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$service-data.service-information.service-instance-id`" />\r
809                 <outcome value='failure'>\r
810                     <block atomic='true'>\r
811                         <set>\r
812                             <parameter name="error-code" value="500"/>\r
813                             <parameter name="tmp.error-message" value="`'An error occurred while saving service-instance relationship for l3-network in AnAI where service-instance-id = ' + $network-topology-operation-input.service-information.service-instance-id`"/>\r
814                         </set>\r
815                         <block atomic='true'>\r
816                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
817         resource="l3-network" \r
818         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
819                             <return status='failure'>\r
820                                 <parameter name='error-code' value='500'/>\r
821                                 <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
822                             </return>\r
823                         </block>\r
824                     </block>\r
825                 </outcome>\r
826                 <outcome value='not-found'>\r
827                     <block atomic='true'>\r
828                         <set>\r
829                             <parameter name="error-code" value="500"/>\r
830                             <parameter name="tmp.error-message" value="`'An error occurred while saving service-instance relationship for l3-network in AnAI where service-instance-id = ' + $network-topology-operation-input.service-information.service-instance-id`"/>\r
831                         </set>\r
832                         <block atomic='true'>\r
833                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
834         resource="l3-network" \r
835         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete>\r
836                             <return status='failure'>\r
837                                 <parameter name='error-code' value='500'/>\r
838                                 <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/>\r
839                             </return>\r
840                         </block>\r
841                     </block>\r
842                 </outcome>\r
843             </save>\r
844             <set>\r
845                 <parameter name='network-topology.network-topology-identifier-structure.' value='`$tmp.l3-network.`' />\r
846                 <parameter name='network-topology.tenant' value='`$network-topology-operation-input.network-request-input.tenant`' />\r
847                 <parameter name='network-topology.onap-model-information.' value='`$network-topology-operation-input.network-information.onap-model-information.`' />\r
848                 <parameter name='network-topology.network-parameters.' value='`$network-topology-operation-input.network-request-input.network-parameters.`' />\r
849                 <parameter name='network-topology.aic-cloud-region' value='`$network-topology-operation-input.network-request-input.aic-cloud-region`' />\r
850             </set>\r
851             <set>\r
852                 <parameter name="service-data.networks.network[$nidx].network-id" value='`$tmp.l3-network.network-id`' />\r
853                 <parameter name="service-data.networks.network[$nidx].network-data.network-information.from-preload" value='true' />\r
854                 <parameter name="service-data.networks.network[$nidx].network-data.network-topology." value='$network-topology.' />\r
855                 <parameter name="service-data.networks.network_length" value='`$nidx_len`' />\r
856             </set>\r
857             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
858                 <parameter name='filename' value='/var/tmp/lmr-nto2.log' />\r
859             </execute>\r
860             <set>\r
861                 <parameter name='networkId' value='`$tmp.l3-network.network-id`' />\r
862             </set>\r
863             <set>\r
864                 <parameter name='network-object-path'\r
865  value="`$tmp.l3-network.self-link`"/>\r
866             </set>\r
867             <set>\r
868                 <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='PendingCreate' />\r
869                 <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
870                 <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
871             </set>\r
872             <return status='success' ></return>\r
873         </block>\r
874     </method>\r
875 </service-logic>\r