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