Update underlay DGs for VoLTE use case
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation-create.xml
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <service-logic xmlns="http://www.onap.org/sdnc/svclogic" 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
3     <method rpc="network-topology-operation-create" mode="sync">\r
4         <block atomic="true">\r
5             <call module="GENERIC-RESOURCE-API" rpc="validate-network-input-parameters" mode="sync" />\r
6             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND         depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">\r
7                 <outcome value="success">\r
8                     <block atomic="true" />\r
9                 </outcome>\r
10                 <outcome value="not-found">\r
11                     <return status="failure">\r
12                         <parameter name="ack-final" value="Y" />\r
13                         <parameter name="error-code" value="500" />\r
14                         <parameter name="error-message" value="Network model is_bound_to_vpn=true but no vpn_binding is present" />\r
15                     </return>\r
16                 </outcome>\r
17                 <outcome value="Other">\r
18                     <return status="failure">\r
19                         <parameter name="ack-final" value="Y" />\r
20                         <parameter name="error-code" value="500" />\r
21                         <parameter name="error-message" value="Unexpected error retrieving vpn binding" />\r
22                     </return>\r
23                 </outcome>\r
24             </get-resource>\r
25             <set>\r
26                 <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />\r
27                 <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />\r
28                 <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />\r
29                 <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />\r
30             </set>\r
31             <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">\r
32                 <block>\r
33                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">\r
34                         <outcome value="true">\r
35                             <set>\r
36                                 <parameter name="prop.l3vpn.name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
37                             </set>\r
38                         </outcome>\r
39                     </switch>\r
40                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'service-type'`">\r
41                         <outcome value="true">\r
42                             <set>\r
43                                 <parameter name="prop.l3vpn.service-type" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
44                             </set>\r
45                         </outcome>\r
46                     </switch>\r
47                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'topology'`">\r
48                         <outcome value="true">\r
49                             <set>\r
50                                 <parameter name="prop.l3vpn.topology" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
51                             </set>\r
52                         </outcome>\r
53                     </switch>\r
54                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'technology'`">\r
55                         <outcome value="true">\r
56                             <set>\r
57                                 <parameter name="prop.l3vpn.technology" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
58                             </set>\r
59                         </outcome>\r
60                     </switch>\r
61                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_name'`">\r
62                         <outcome value="true">\r
63                             <set>\r
64                                 <parameter name="prop.l3vpn.site1_name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
65                             </set>\r
66                         </outcome>\r
67                     </switch>\r
68                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_name'`">\r
69                         <outcome value="true">\r
70                             <set>\r
71                                 <parameter name="prop.l3vpn.site2_name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
72                             </set>\r
73                         </outcome>\r
74                     </switch>\r
75                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'sna1_name'`">\r
76                         <outcome value="true">\r
77                             <set>\r
78                                 <parameter name="prop.l3vpn.sna1_name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
79                             </set>\r
80                         </outcome>\r
81                     </switch>\r
82                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'sna2_name'`">\r
83                         <outcome value="true">\r
84                             <set>\r
85                                 <parameter name="prop.l3vpn.sna2_name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
86                             </set>\r
87                         </outcome>\r
88                     </switch>\r
89                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'pe1_id'`">\r
90                         <outcome value="true">\r
91                             <set>\r
92                                 <parameter name="prop.l3vpn.pe1_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
93                             </set>\r
94                         </outcome>\r
95                     </switch>\r
96                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'pe2_id'`">\r
97                         <outcome value="true">\r
98                             <set>\r
99                                 <parameter name="prop.l3vpn.pe2_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
100                             </set>\r
101                         </outcome>\r
102                     </switch>\r
103                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_id'`">\r
104                         <outcome value="true">\r
105                             <set>\r
106                                 <parameter name="prop.l3vpn.ac1_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
107                             </set>\r
108                         </outcome>\r
109                     </switch>\r
110                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_id'`">\r
111                         <outcome value="true">\r
112                             <set>\r
113                                 <parameter name="prop.l3vpn.ac2_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
114                             </set>\r
115                         </outcome>\r
116                     </switch>\r
117                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_ip'`">\r
118                         <outcome value="true">\r
119                             <set>\r
120                                 <parameter name="prop.l3vpn.ac1_ip" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
121                             </set>\r
122                         </outcome>\r
123                     </switch>\r
124                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_ip'`">\r
125                         <outcome value="true">\r
126                             <set>\r
127                                 <parameter name="prop.l3vpn.ac2_ip" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
128                             </set>\r
129                         </outcome>\r
130                     </switch>\r
131                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_peer_ip'`">\r
132                         <outcome value="true">\r
133                             <set>\r
134                                 <parameter name="prop.l3vpn.ac1_peer_ip" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
135                             </set>\r
136                         </outcome>\r
137                     </switch>\r
138                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_peer_ip'`">\r
139                         <outcome value="true">\r
140                             <set>\r
141                                 <parameter name="prop.l3vpn.ac2_peer_ip" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
142                             </set>\r
143                         </outcome>\r
144                     </switch>\r
145                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_svlan'`">\r
146                         <outcome value="true">\r
147                             <set>\r
148                                 <parameter name="prop.l3vpn.ac1_svlan" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
149                             </set>\r
150                         </outcome>\r
151                     </switch>\r
152                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_svlan'`">\r
153                         <outcome value="true">\r
154                             <set>\r
155                                 <parameter name="prop.l3vpn.ac2_svlan" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
156                             </set>\r
157                         </outcome>\r
158                     </switch>\r
159                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_protocol'`">\r
160                         <outcome value="true">\r
161                             <set>\r
162                                 <parameter name="prop.l3vpn.ac1_protocol" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
163                             </set>\r
164                         </outcome>\r
165                     </switch>\r
166                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_protocol'`">\r
167                         <outcome value="true">\r
168                             <set>\r
169                                 <parameter name="prop.l3vpn.ac2_protocol" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
170                             </set>\r
171                         </outcome>\r
172                     </switch>\r
173                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_route'`">\r
174                         <outcome value="true">\r
175                             <block atomic="true">\r
176                                 <set>\r
177                                     <parameter name="prop.l3vpn.ac1_route" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
178                                 </set>\r
179                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">\r
180                                     <parameter name="original_string" value="`$prop.l3vpn.ac1-route`" />\r
181                                     <parameter name="regex" value=" ## " />\r
182                                     <parameter name="ctx_memory_result_key" value="route1" />\r
183                                     <outcome value="success">\r
184                                         <set>\r
185                                             <parameter name="prop.l3vpn.sna1-route.ip-prefix" value="`$route1[0]`" />\r
186                                             <parameter name="prop.l3vpn.sna1-route.next-hop" value="`$route1[1]`" />\r
187                                         </set>\r
188                                     </outcome>\r
189                                     <outcome value="failure">\r
190                                         <return status="failure">\r
191                                             <parameter name="error-code" value="" />\r
192                                             <parameter name="error-message" value="An error occured while splitting sna1_route" />\r
193                                         </return>\r
194                                     </outcome>\r
195                                 </execute>\r
196                             </block>\r
197                         </outcome>\r
198                     </switch>\r
199                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_route'`">\r
200                         <outcome value="true">\r
201                             <block atomic="true">\r
202                                 <set>\r
203                                     <parameter name="prop.l3vpn.ac2_route" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
204                                 </set>\r
205                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">\r
206                                     <parameter name="original_string" value="`$prop.l3vpn.ac2-route`" />\r
207                                     <parameter name="regex" value=" ## " />\r
208                                     <parameter name="ctx_memory_result_key" value="route2" />\r
209                                     <outcome value="success">\r
210                                         <set>\r
211                                             <parameter name="prop.l3vpn.sna2-route.ip-prefix" value="`$route2[0]`" />\r
212                                             <parameter name="prop.l3vpn.sna2-route.next-hop" value="`$route2[1]`" />\r
213                                         </set>\r
214                                     </outcome>\r
215                                     <outcome value="failure">\r
216                                         <return status="failure">\r
217                                             <parameter name="error-code" value="" />\r
218                                             <parameter name="error-message" value="An error occured while splitting sna1_route" />\r
219                                         </return>\r
220                                     </outcome>\r
221                                 </execute>\r
222                             </block>\r
223                         </outcome>\r
224                     </switch>\r
225                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_protocol_bgp_as'`">\r
226                         <outcome value="true">\r
227                             <set>\r
228                                 <parameter name="prop.l3vpn.ac1_protocol_bgp_as" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
229                                 <parameter name="prop.l3vpn.peer1-ip" value="`$prop.l3vpn.ac1_ip`" />\r
230                             </set>\r
231                         </outcome>\r
232                     </switch>\r
233                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_protocol_bgp_as'`">\r
234                         <outcome value="true">\r
235                             <set>\r
236                                 <parameter name="prop.l3vpn.ac2_protocol_bgp_as" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
237                                 <parameter name="prop.l3vpn.peer2-ip" value="`$prop.l3vpn.ac2_ip`" />\r
238                             </set>\r
239                         </outcome>\r
240                     </switch>\r
241                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'af_type'`">\r
242                         <outcome value="true">\r
243                             <set>\r
244                                 <parameter name="prop.l3vpn.af_type" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />\r
245                             </set>\r
246                         </outcome>\r
247                     </switch>\r
248                 </block>\r
249             </for>\r
250             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">\r
251                 <parameter name="ctx-destination" value="prop.l3vpn.vpn-policy1-id" />\r
252                 <outcome value="failure">\r
253                     <return status="failure">\r
254                         <parameter name="error-code" value="" />\r
255                         <parameter name="error-message" value="An error occured while generation vpn policy ID" />\r
256                     </return>\r
257                 </outcome>\r
258             </execute>\r
259             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">\r
260                 <parameter name="ctx-destination" value="prop.l3vpn.vpn-policy2-id" />\r
261                 <outcome value="failure">\r
262                     <return status="failure">\r
263                         <parameter name="error-code" value="" />\r
264                         <parameter name="error-message" value="An error occured while generation vpn policy ID" />\r
265                     </return>\r
266                 </outcome>\r
267             </execute>\r
268             <set>\r
269                 <parameter name="prop.l3vpn.entry1-id" value="1" />\r
270                 <parameter name="prop.l3vpn.entry2-id" value="1" />\r
271             </set>\r
272             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">\r
273                 <parameter name="ctx-destination" value="prop.l3vpn.vrf1-id" />\r
274                 <outcome value="failure">\r
275                     <return status="failure">\r
276                         <parameter name="error-code" value="" />\r
277                         <parameter name="error-message" value="An error occured while generation vpn policy ID" />\r
278                     </return>\r
279                 </outcome>\r
280             </execute>\r
281             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">\r
282                 <parameter name="ctx-destination" value="prop.l3vpn.vrf2-id" />\r
283                 <outcome value="failure">\r
284                     <return status="failure">\r
285                         <parameter name="error-code" value="" />\r
286                         <parameter name="error-message" value="An error occured while generation vpn policy ID" />\r
287                     </return>\r
288                 </outcome>\r
289             </execute>\r
290             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">\r
291                 <parameter name="ctx-destination" value="prop.l3vpn.network-id" />\r
292             </execute>\r
293             <switch test="`$service-data.networks.network_length`">\r
294                 <outcome value="">\r
295                     <set>\r
296                         <parameter name="nidx" value="0" />\r
297                     </set>\r
298                 </outcome>\r
299                 <outcome value="Other">\r
300                     <set>\r
301                         <parameter name="nidx" value="`$service-data.networks.network_length`" />\r
302                     </set>\r
303                 </outcome>\r
304             </switch>\r
305             <set>\r
306                 <parameter name="service-data.networks.network[$nidx].network-id" value="`$prop.l3vpn.network-id`" />\r
307                 <parameter name="service-data.networks.network[$nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`" />\r
308                 <parameter name="service-data.networks.network[$nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`" />\r
309                 <parameter name="service-data.networks.network[$nidx].network-data.service-information." value="`$network-topology-operation-input.service-information.`" />\r
310                 <parameter name="service-data.networks.network[$nidx].network-data.network-information." value="`$network-topology-operation-input.network-information.`" />\r
311                 <parameter name="service-data.networks.network[$nidx].network-data.network-request-input." value="`$network-topology-operation-input.network-request-input.`" />\r
312                 <parameter name="service-data.networks.network_length" value="`$nidx+1`" />\r
313             </set>\r
314             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
315                 <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />\r
316                 <parameter name="Time" value="__TIMESTAMP__" />\r
317                 <parameter name="Method" value="network-topology-operation-create" />\r
318                 <parameter name="SubMethod" value="L3VPN-Config" />\r
319                 <parameter name="l3vpn_name" value="`$prop.l3vpn.name`" />\r
320                 <parameter name="topology" value="`$prop.l3vpn.topology`" />\r
321                 <parameter name="site1_name" value="`$prop.l3vpn.site1_name`" />\r
322                 <parameter name="vpn-policy1-id" value="`$prop.l3vpn.vpn-policy1-id}`" />\r
323                 <parameter name="l3vpn.entry1-id" value="`$prop.l3vpn.entry1-id`" />\r
324                 <parameter name="sna1_name" value="`$prop.l3vpn.sna1_name`" />\r
325                 <parameter name="pe1_id" value="`$prop.l3vpn.pe1_id`" />\r
326                 <parameter name="ac1_id" value="`$prop.l3vpn.ac1_id`" />\r
327                 <parameter name="sna1_svlan" value="`$prop.l3vpn.sna1_svlan`" />\r
328                 <parameter name="ac1-peer-ip" value="`$prop.l3vpn.ac1-peer-ip`" />\r
329                 <parameter name="ac1-ip" value="`$prop.l3vpn.ac1-ip`" />\r
330                 <parameter name="ac1_protocol" value="`$prop.l3vpn.ac1_protocol`" />\r
331                 <parameter name="sna1-route-ip-prefix" value="`$prop.l3vpn.sna1-route-ip-prefix`" />\r
332                 <parameter name="sna1-route-next-hop" value="`$prop.l3vpn.sna1-route-next-hop`" />\r
333                 <parameter name="peer2-ip" value="`$prop.l3vpn.peer2-ip`" />\r
334                 <parameter name="ac2_protocol_bgp_as" value="`$prop.l3vpn.ac2_protocol_bgp_as`" />\r
335                 <parameter name="vrf1-id" value="`$prop.l3vpn.vrf1-id`" />\r
336                 <parameter name="site2_name" value="`$prop.l3vpn.site2_name`" />\r
337                 <parameter name="vpn-policy2-id" value="`$prop.l3vpn.vpn-policy2-id}`" />\r
338                 <parameter name="l3vpn.entry2-id" value="`$prop.l3vpn.entry2-id`" />\r
339                 <parameter name="sna2_name" value="`$prop.l3vpn.sna2_name`" />\r
340                 <parameter name="pe2_id" value="`$prop.l3vpn.pe2_id`" />\r
341                 <parameter name="ac2_id" value="`$prop.l3vpn.ac2_id`" />\r
342                 <parameter name="sna2_svlan" value="`$prop.l3vpn.sna2_svlan`" />\r
343                 <parameter name="ac2-peer-ip" value="`$prop.l3vpn.ac2-peer-ip`" />\r
344                 <parameter name="ac2-ip" value="`$prop.l3vpn.ac2-ip`" />\r
345                 <parameter name="ac2_protocol" value="`$prop.l3vpn.ac2_protocol`" />\r
346                 <parameter name="sna2-route-ip-prefix" value="`$prop.l3vpn.sna2-route-ip-prefix`" />\r
347                 <parameter name="sna2-route-next-hop" value="`$prop.l3vpn.sna2-route-next-hop`" />\r
348                 <parameter name="peer2-ip" value="`$prop.l3vpn.peer2-ip`" />\r
349                 <parameter name="ac2_protocol_bgp_as" value="`$prop.l3vpn.ac2_protocol_bgp_as`" />\r
350                 <parameter name="vrf2-id" value="`$prop.l3vpn.vrf2-id`" />\r
351                 <parameter name="af_type" value="`$prop.l3vpn.af_type`" />\r
352             </record>\r
353             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'service-type'`">\r
354                 <outcome value="l3vpn-ipwan">\r
355                     <block atomic="true">\r
356                         <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
357                             <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3smvpntemplate.json'" />\r
358                             <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services'" />\r
359                             <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />\r
360                             <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />\r
361                             <parameter name="format" value="json" />\r
362                             <parameter name="httpMethod" value="post" />\r
363                             <parameter name="responsePrefix" value="restapi-result" />\r
364                         </execute>\r
365                         <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
366                             <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3smvpntemplate.json'" />\r
367                             <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services'" />\r
368                             <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />\r
369                             <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />\r
370                             <parameter name="format" value="json" />\r
371                             <parameter name="httpMethod" value="post" />\r
372                             <parameter name="responsePrefix" value="restapi-result" />\r
373                         </execute>\r
374                         <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
375                             <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3smvpntemplate.json'" />\r
376                             <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services'" />\r
377                             <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />\r
378                             <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />\r
379                             <parameter name="format" value="json" />\r
380                             <parameter name="httpMethod" value="post" />\r
381                             <parameter name="responsePrefix" value="restapi-result" />\r
382                         </execute>\r
383                     </block>\r
384                 </outcome>\r
385                 <outcome value="true">\r
386                     <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
387                         <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3smsitetemplate.json'" />\r
388                         <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url" />\r
389                         <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />\r
390                         <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />\r
391                         <parameter name="format" value="json" />\r
392                         <parameter name="httpMethod" value="post" />\r
393                         <parameter name="responsePrefix" value="restapi-result" />\r
394                     </execute>\r
395                 </outcome>\r
396                 <outcome value="Other">\r
397                     <return status="failure">\r
398                         <parameter name="ack-final" value="Y" />\r
399                         <parameter name="error-code" value="500" />\r
400                         <parameter name="error-message" value="Unexpected error retrieving vpn binding" />\r
401                     </return>\r
402                 </outcome>\r
403             </switch>\r
404             <set>\r
405                 <parameter name="networkId" value="`$prop.l3vpn.network-id`" />\r
406                 <parameter name="network-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.l3vpn.network-id  + '/network-data/'` " />\r
407             </set>\r
408             <return status="success">\r
409                 <parameter name="ack-final-indicator" value="Y" />\r
410                 <parameter name="error-code" value="200" />\r
411                 <parameter name="error-message" value="`$error-message`" />\r
412             </return>\r
413         </block>\r
414     </method>\r
415 </service-logic>\r