Merge "Remove test for Active on Delete"
[sdnc/oam.git] / platform-logic / vnfapi / src / main / xml / VNF-API_network-topology-assign.xml
1 <!--
2   ============LICENSE_START=======================================================
3   openECOMP : SDN-C
4   ================================================================================
5   Copyright (C) 2017 AT&T Intellectual Property. All rights
6                                                 reserved.
7   ================================================================================
8   Licensed under the Apache License, Version 2.0 (the "License");
9   you may not use this file except in compliance with the License.
10   You may obtain a copy of the License at
11        http://www.apache.org/licenses/LICENSE-2.0
12   Unless required by applicable law or agreed to in writing, software
13   distributed under the License is distributed on an "AS IS" BASIS,
14   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   See the License for the specific language governing permissions and
16   limitations under the License.
17   ============LICENSE_END=========================================================
18   -->
19
20 <service-logic xmlns="http://www.onap.org/sdnc/svclogic"
21     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22     xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc="network-topology-assign" mode="sync"><block atomic="true"><switch test="`$network-topology-operation-input.service-information.service-type`"><outcome value=''><return status='failure'>
23     <parameter name='error-code' value='500'/>
24     <parameter name='error-message' value='service-type, aka AnAI subscription-service-type, is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.service-information.subscriber-name`"><outcome value=''><return status='failure'>
25     <parameter name='error-code' value='500'/>
26     <parameter name='error-message' value='subscriber-name, aka AnAI global-customer-id, is required.'/></return></outcome></switch><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
27     resource="l3-network"
28         key="l3-network.network-name = $network-topology-operation-input.network-request-information.network-name"
29         local-only="false"
30         pfx="tmp.AnAI.l3network.existed">
31
32 <outcome value='failure'>
33 <return status='failure'>
34 <parameter name='error-code' value='500' />
35 <parameter name='error-message' value="`'An error occurred while querying whether l3-network with network-name = ' + $network-topology-operation-input.network-request-information.network-name + ' already exists in AnAI'`"/>
36 </return></outcome><outcome value='success'>
37 <return status='failure'>
38 <parameter name='error-code' value='500' />
39 <parameter name='error-message' value="`'A l3-network with network-name = ' + $network-topology-operation-input.network-request-information.network-name + ' already existed in AnAI with network-id = ' + $tmp.AnAI.l3network.existed.network-id`"  />
40 </return></outcome></get-resource><set>
41     <parameter name="tmp.error-message" value=""/></set><call module="VNF-API" rpc="generate-l3network-network-id" mode="sync" >
42 <outcome value='failure'>
43 <return status='failure'>
44     <parameter name='error-code' value='500'/>
45     <parameter name='error-message' value='Error in generating l3-network.network-id in SDNC'/></return></outcome></call><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
46     resource="l3-network"
47         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" >
48 <!-- Create l3-network object -->
49 <parameter name="network-id" value="`$tmp.return.generate-l3network-network-id.uuid`" />
50 <parameter name="network-name" value="`$network-topology-operation-input.network-request-information.network-name`" />
51 <parameter name="network-type" value="`$network-topology-operation-input.network-request-information.network-type`" />
52 <parameter name="network-role" value="`$preload-data.network-topology-information.network-topology-identifier.network-role`" />
53 <parameter name="network-technology" value="`$preload-data.network-topology-information.network-topology-identifier.network-technology`" />
54 <parameter name="service-id" value="`$network-topology-operation-input.service-information.service-id`" />
55 <parameter name="tenant-id" value="`$network-topology-operation-input.network-request-information.tenant`" />
56 <parameter name="network-role-instance" value="0" />
57 <parameter name="orchestration-status" value="pending-create" /><outcome value='failure'>
58 <return status='failure'>
59     <parameter name='error-code' value='500'/>
60     <parameter name='error-message' value="`'Failed to save l3-netework in AnAI with network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></return></outcome><outcome value='not-found'>
61 <return status='failure'>
62     <parameter name='error-code' value='500'/>
63     <parameter name='error-message' value="`'Failed to save l3-netework in AnAI with network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></return></outcome></save><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
64     resource="l3-network"
65         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" >
66 <parameter name="physical-network-name" value="`$preload-data.network-topology-information.provider-network-information.physical-network-name`" />
67 <parameter name="is-provider-network" value="`$preload-data.network-topology-information.provider-network-information.is-provider-network`" />
68 <parameter name="is-shared-network" value="`$preload-data.network-topology-information.provider-network-information.is-shared-network`" />
69 <parameter name="is-external-network" value="`$preload-data.network-topology-information.provider-network-information.is-external-network`" /><outcome value='failure'>
70 <block atomic='true'><set>
71     <parameter name="error-code" value="500"/>
72     <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network with provider-network-information in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
73     resource="l3-network"
74     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
75     <parameter name='error-code' value='500'/>
76     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
77 <block atomic='true'><set>
78     <parameter name="error-code" value="500"/>
79     <parameter name="tmp.error-message" value="`'An error occurred while updating l3-network with provider-network-information in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
80     resource="l3-network"
81     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
82     <parameter name='error-code' value='500'/>
83     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></update><for index="i" start="0" end="`$preload-data.network-topology-information.subnets_length`">
84 <block atomic='true'><switch test="`$preload-data.network-topology-information.subnets[$i].dhcp-enabled`"><outcome value='Y'><set>
85 <parameter name="tmp.dhcpEnabled.boolean" value="true" />
86 </set></outcome><outcome value='N'><set>
87 <parameter name="tmp.dhcpEnabled.boolean" value="false" />
88 </set></outcome></switch><set>
89 <parameter name="tmp.gateway-address" value="`$preload-data.network-topology-information.subnets[$i].gateway-address`" />
90 </set><switch test="`$preload-data.network-topology-information.subnets[$i].gateway-address`"><outcome value=''><block atomic='true'><execute plugin="org.onap.ccsdk.sli.plugins.ipaddresstools.IpAddressTool" method="getGatewayAddress">
91     <parameter name="ipAddress" value="`$preload-data.network-topology-information.subnets[$i].start-address`" />
92     <parameter name="ipVersion" value="`$preload-data.network-topology-information.subnets[$i].ip-version`" />
93     <parameter name="subnet" value="`$preload-data.network-topology-information.subnets[$i].cidr-mask`" />
94     <parameter name="ctxVariable" value="tmp.return.generate.gateway-address" /></execute><set>
95 <parameter name="tmp.gateway-address" value="`$tmp.return.generate.gateway-address`" />
96 </set></block></outcome></switch><set>
97 <parameter name="tmp.local.network-id" value="`$tmp.return.generate-l3network-network-id.uuid`" />
98 </set><call module="VNF-API" rpc="generate-subnets-subnet-id" mode="sync" >
99 <outcome value='failure'>
100 <block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
101     resource="l3-network"
102     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
103     <parameter name='error-code' value='500'/>
104     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></outcome></call><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
105     resource="subnet"
106         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid
107             AND subnet.subnet-id = $tmp.return.generate-subnets-subnet-id.uuid" >
108 <!-- Create l3-network object -->
109 <parameter name="network-id" value="`$tmp.return.generate-l3network-network-id.uuid`" />
110 <parameter name="subnet-id" value="`$tmp.return.generate-subnets-subnet-id.uuid`" />
111 <parameter name="subnet-name" value="`$preload-data.network-topology-information.subnets[$i].subnet-name`" />
112 <parameter name="gateway-address" value="`$tmp.gateway-address`" />
113 <parameter name="network-start-address" value="`$preload-data.network-topology-information.subnets[$i].start-address`" />
114 <parameter name="cidr-mask" value="`$preload-data.network-topology-information.subnets[$i].cidr-mask`" />
115 <parameter name="ip-version" value="`$preload-data.network-topology-information.subnets[$i].ip-version`" />
116 <parameter name="dhcp-start" value="`$preload-data.network-topology-information.subnets[$i].dhcp-start-address`" />
117 <parameter name="dhcp-end" value="`$preload-data.network-topology-information.subnets[$i].dhcp-end-address`" />
118 <parameter name="dhcp-enabled" value="`$tmp.dhcpEnabled.boolean`" />
119         <parameter name="orchestration-status" value="pending-create" /><outcome value='failure'>
120 <block atomic='true'><set>
121     <parameter name="error-code" value="500"/>
122     <parameter name="tmp.error-message" value="`'An error occurred while saving l3-newtork.subnet in AnAI where subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
123     resource="l3-network"
124     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
125     <parameter name='error-code' value='500'/>
126     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
127 <block atomic='true'><set>
128     <parameter name="error-code" value="500"/>
129     <parameter name="tmp.error-message" value="`'An error occurred while saving l3-newtork.subnet in AnAI where subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
130     resource="l3-network"
131     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
132     <parameter name='error-code' value='500'/>
133     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></for><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
134     resource="l3-network:relationship-list"
135     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"
136     force="true"
137     local-only="false">
138     <!-- create relationship-list -->
139     <parameter name="relationship-list.relationship[0].related-to" value="tenant" />
140     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
141     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="CloudOwner" />
142     <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
143     <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-information.aic-cloud-region`" />
144     <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="tenant.tenant-id" />
145     <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$network-topology-operation-input.network-request-information.tenant`" />
146     <parameter name="relationship-list.relationship[1].related-to" value="cloud-region" />
147     <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
148     <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="CloudOwner" />
149     <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
150     <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-information.aic-cloud-region`" /><outcome value='failure'>
151 <block atomic='true'><set>
152     <parameter name="error-code" value="500"/>
153     <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and clould-region relationship for l3-network in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
154     resource="l3-network"
155     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
156     <parameter name='error-code' value='500'/>
157     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
158 <block atomic='true'><set>
159     <parameter name="error-code" value="500"/>
160     <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and clould-region relationship for l3-network in AnAI where network-id = ' + $tmp.return.generate-l3network-network-id.uuid`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
161     resource="l3-network"
162     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
163     <parameter name='error-code' value='500'/>
164     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save><switch test="`$preload-data.network-topology-information.vpn-bindings_length`"><outcome value=''><set>
165 <parameter name="preload-data.network-topology-information.vpn-bindings_length" value="0" />
166 </set></outcome></switch><for index="i" start="0" end="`$preload-data.network-topology-information.vpn-bindings_length`">
167 <block atomic='true'><set>
168 <parameter name="tmp.vpn-binding-id" value="" />
169 </set><switch test="`$preload-data.network-topology-information.vpn-bindings[$i].vpn-binding-id`"><outcome value='Other'>
170 <set>
171 <parameter name="tmp.vpn-binding-id" value="`$preload-data.network-topology-information.vpn-bindings[$i].vpn-binding-id`" />
172 </set></outcome></switch><switch test="`$preload-data.network-topology-information.vpn-bindings[$i].global-route-target != ''`" ><outcome value='true'>
173 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
174     resource="vpn-binding"
175         key="vpn-binding.global-route-target = $preload-data.network-topology-information.vpn-bindings[$i].global-route-target"
176         local-only="false"
177         pfx="tmp.AnAI.vpn-binding"><outcome value='success'>
178 <switch test="`$tmp.AnAI.vpn-binding.vpn-id`" ><outcome value='Other'>
179 <set>
180 <parameter name="tmp.vpn-binding-id" value="`$tmp.AnAI.vpn-binding.vpn-id`" />
181 </set></outcome><outcome value=''>
182 <block atomic='true'><set>
183     <parameter name="error-code" value="500"/>
184     <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where global-route-target = ' + $preload-data.network-topology-information.vpn-bindings[$i].global-route-target + '. It is likely that the same global-route-target points to more than one vpn-binding objects in AnAI.'`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
185     resource="l3-network"
186     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
187     <parameter name='error-code' value='500'/>
188     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></switch></outcome><outcome value='not-found'>
189 <block atomic='true'><set>
190     <parameter name="error-code" value="500"/>
191     <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where global-route-target = ' + $preload-data.network-topology-information.vpn-bindings[$i].global-route-target`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
192     resource="l3-network"
193     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
194     <parameter name='error-code' value='500'/>
195     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='failure'>
196 <block atomic='true'><set>
197     <parameter name="error-code" value="500"/>
198     <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings from AnAI where global-route-target = ' + $preload-data.network-topology-information.vpn-bindings[$i].global-route-target`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
199     resource="l3-network"
200     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
201     <parameter name='error-code' value='500'/>
202     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></get-resource></outcome></switch><switch test="`$tmp.vpn-binding-id != ''`"><outcome value='true'>
203 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
204     resource="l3-network:relationship-list"
205     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"
206     force="true"
207     local-only="false">
208
209     <parameter name="relationship-list.relationship[0].related-to" value="vpn-binding" />
210     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="vpn-binding.vpn-id" />
211     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.vpn-binding-id`" /><outcome value='failure'>
212 <block atomic='true'><set>
213     <parameter name="error-code" value="500"/>
214     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
215     resource="l3-network"
216     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
217     <parameter name='error-code' value='500'/>
218     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
219 <block atomic='true'><set>
220     <parameter name="error-code" value="500"/>
221     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
222     resource="l3-network"
223     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
224     <parameter name='error-code' value='500'/>
225     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='success'>
226 <set>
227 <parameter name="tmp.is-bound-to-vpn" value="true" />
228 </set></outcome></save></outcome></switch></block></for><switch test="`$preload-data.network-topology-information.network-policy_length`"><outcome value=''><set>
229 <parameter name='preload-data.network-topology-information.network-policy_length' value='0' />
230 </set></outcome></switch><for index="i" start="0" end="`$preload-data.network-topology-information.network-policy_length`">
231 <switch test="`$preload-data.network-topology-information.network-policy[$i].network-policy-fqdn != ''`"><outcome value='true'>
232 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
233     resource="network-policy"
234         key="network-policy.network-policy-fqdn = $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn"
235         local-only="false"
236         pfx="tmp.AnAI.network-policy"><outcome value='not-found'>
237 <block atomic='true'><set>
238     <parameter name="error-code" value="500"/>
239     <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
240     resource="l3-network"
241     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
242     <parameter name='error-code' value='500'/>
243     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='failure'>
244 <block atomic='true'><set>
245     <parameter name="error-code" value="500"/>
246     <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
247     resource="l3-network"
248     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
249     <parameter name='error-code' value='500'/>
250     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='success'>
251 <switch test="`$tmp.AnAI.network-policy.network-policy-id`" ><outcome value=''>
252 <block atomic='true'><set>
253     <parameter name="error-code" value="500"/>
254     <parameter name="tmp.error-message" value="`'Failed to query newtork-policy from AnAI where network-policy-fqdn = ' + $preload-data.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.'`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
255     resource="l3-network"
256     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
257     <parameter name='error-code' value='500'/>
258     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='Other'>
259 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
260     resource="l3-network:relationship-list"
261     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" >
262 <parameter name="relationship-list.relationship[0].related-to" value="network-policy" />
263 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-policy.network-policy-id" />
264 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.network-policy.network-policy-id`" /><outcome value='failure'>
265 <block atomic='true'><set>
266     <parameter name="error-code" value="500"/>
267     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
268     resource="l3-network"
269     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
270     <parameter name='error-code' value='500'/>
271     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
272 <block atomic='true'><set>
273     <parameter name="error-code" value="500"/>
274     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
275     resource="l3-network"
276     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
277     <parameter name='error-code' value='500'/>
278     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save></outcome></switch></outcome></get-resource></outcome></switch></for><switch test="`$preload-data.network-topology-information.route-table-reference_length`"><outcome value=''><set>
279 <parameter name='preload-data.network-topology-information.route-table-reference_length' value='0' />
280 </set></outcome></switch><for index="i" start="0" end="`$preload-data.network-topology-information.route-table-reference_length`">
281 <switch test="`$preload-data.network-topology-information.route-table-reference[$i].route-table-reference-fqdn != ''`"><outcome value='true'>
282 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
283     resource="route-table-reference"
284         key="route-table-reference.route-table-reference-fqdn = $preload-data.network-topology-information.route-table-reference[$i].route-table-reference-fqdn"
285         pfx="tmp.AnAI.route-table-reference"><outcome value='not-found'>
286 <block atomic='true'><set>
287     <parameter name="error-code" value="500"/>
288     <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn`"/></set></block></outcome><outcome value='failure'>
289 <block atomic='true'><set>
290     <parameter name="error-code" value="500"/>
291     <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.network-topology-information.network-policy[$i].network-policy-fqdn`"/></set></block></outcome><outcome value='success'>
292 <switch test="`$tmp.AnAI.route-table-referencey.route-table-reference-id`" ><outcome value=''>
293 <block atomic='true'><set>
294     <parameter name="error-code" value="500"/>
295     <parameter name="tmp.error-message" value="`'Failed to query route-table-reference from AnAI where route-table-reference-fqdn = ' + $preload-data.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.'`"/></set></block></outcome><outcome value='Other'>
296 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
297     resource="l3-network:relationship-list"
298     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" >
299 <parameter name="relationship-list.relationship[0].related-to" value="route-table-reference" />
300 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="route-table-reference.route-table-reference-id" />
301 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.route-table-reference.route-table-reference-id`" /><outcome value='failure'>
302 <block atomic='true'><set>
303     <parameter name="error-code" value="500"/>
304     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
305     resource="l3-network"
306     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
307     <parameter name='error-code' value='500'/>
308     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
309 <block atomic='true'><set>
310     <parameter name="error-code" value="500"/>
311     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
312     resource="l3-network"
313     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
314     <parameter name='error-code' value='500'/>
315     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save></outcome></switch></outcome></get-resource></outcome></switch></for><switch test="`$tmp.is-bound-to-vpn`"><outcome value="true"><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
316     resource="l3-network"
317         key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" >
318 <parameter name="is-bound-to-vpn" value="true" /><outcome value='failure'>
319 <block atomic='true'><set>
320     <parameter name="error-code" value="500"/>
321     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
322     resource="l3-network"
323     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
324     <parameter name='error-code' value='500'/>
325     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
326 <block atomic='true'><set>
327     <parameter name="error-code" value="500"/>
328     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
329     resource="l3-network"
330     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
331     <parameter name='error-code' value='500'/>
332     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></update></outcome></switch><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
333     resource="l3-network:relationship-list"
334     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid" >
335 <parameter name="relationship-list.relationship[0].related-to" value="service-instance" />
336 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="customer.global-customer-id" />
337 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$network-topology-operation-input.service-information.subscriber-name`" />
338 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="service-subscription.service-type" />
339 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$network-topology-operation-input.service-information.service-type`" />
340 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="service-instance.service-instance-id" />
341 <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$network-topology-operation-input.service-information.service-instance-id`" /><outcome value='failure'>
342 <block atomic='true'><set>
343     <parameter name="error-code" value="500"/>
344     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
345     resource="l3-network"
346     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
347     <parameter name='error-code' value='500'/>
348     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
349 <block atomic='true'><set>
350     <parameter name="error-code" value="500"/>
351     <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`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
352     resource="l3-network"
353     key="l3-network.network-id = $tmp.return.generate-l3network-network-id.uuid"></delete><return status='failure'>
354     <parameter name='error-code' value='500'/>
355     <parameter name='error-message' value="`'Error writing to l3-netework - ' + $tmp.error-message`"/></return></block></block></outcome></save><set>
356 <parameter name="ack-final" value="Y"/></set><return status="success">
357     <parameter name="networkId" value="`$tmp.return.generate-l3network-network-id.uuid`" />
358     <parameter name="error-code" value="200" /></return></block></method></service-logic>