Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / sdwan / GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.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='sdwan-wanport-vnf-topology-operation-underlay' mode='sync'>\r
5         <block atomic="true">\r
6             <set>\r
7                 <parameter name='prop.underlay.routeIds_length' value='0' />\r
8             </set>\r
9             <set>\r
10                 <parameter name='prop.provision.siteIds_length' value='0' />\r
11             </set>\r
12             <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\r
13                 <block atomic="true">\r
14                     <set>\r
15                         <parameter name='prop.ar.allotted-resource-id' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id`' />\r
16                     </set>\r
17                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
18                         <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>\r
19                         <parameter name="outputPath" value="tmp.ar-url-connection"/>\r
20                         <parameter name="target" value="{allotted-resource-id}"/>\r
21                         <parameter name="replacement" value="`$prop.ar.allotted-resource-id`"/>\r
22                     </execute>\r
23                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
24                         <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\r
25                         <parameter name='restapiUser' value='`$prop.controller.user`' />\r
26                         <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
27                         <parameter name='format' value='json' />\r
28                         <parameter name='httpMethod' value='GET' />\r
29                         <parameter name="responsePrefix" value="mdsal-ar" />\r
30                         <outcome value='success'>\r
31                             <block atomic="true">\r
32                                 <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\r
33                                     <outcome value='1'>\r
34                                         <block atomic='true'>\r
35                                             <set>\r
36                                                 <parameter name='prop.parent-service-instance-id' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />\r
37                                             </set>\r
38                                             <for index="roleidx" start="0" end="`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`">\r
39                                                 <block>\r
40                                                     <switch test="`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].name == 'role'`">\r
41                                                         <outcome value='true'>\r
42                                                             <set>\r
43                                                                 <parameter name='prop.spoke.role' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].value`' />\r
44                                                             </set>\r
45                                                         </outcome>\r
46                                                     </switch>\r
47                                                 </block>\r
48                                             </for>\r
49                                         </block>\r
50                                     </outcome>\r
51                                     <outcome value='Other'>\r
52                                         <return status='failure'>\r
53                                             <parameter name='ack-final' value='Y'/>\r
54                                             <parameter name="error-code" value="404" />\r
55                                             <parameter name="error-message" value="Error: Connection attachement resource not found" />\r
56                                         </return>\r
57                                     </outcome>\r
58                                 </switch>\r
59                             </block>\r
60                         </outcome>\r
61                         <outcome value='Other'>\r
62                             <block atomic="true">\r
63                                 <return status='failure'>\r
64                                     <parameter name='ack-final' value='Y'/>\r
65                                     <parameter name="error-code" value="404" />\r
66                                     <parameter name="error-message" value="Error: Connection attachement resource not found" />\r
67                                 </return>\r
68                             </block>\r
69                         </outcome>\r
70                     </execute>\r
71                     <switch test="`$prop.spoke.role == 'spoke'`">\r
72                         <outcome value='true'>\r
73                             <block atomic="true">\r
74                                 <for index='i' start='0' end='`$service-data.vnfs.vnf_length`' >\r
75                                     <block atomic="true">\r
76                                         <switch test="`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`">\r
77                                             <outcome value='true'>\r
78                                                 <block atomic="true">\r
79                                                     <for index="widx" start="0" end="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
80                                                         <block atomic="true">\r
81                                                             <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'transportNetworkName'`">\r
82                                                                 <outcome value='true'>\r
83                                                                     <set>\r
84                                                                         <parameter name='prop.spoke.transportNetworkName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\r
85                                                                     </set>\r
86                                                                 </outcome>\r
87                                                             </switch>\r
88                                                             <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'wanPortId'`">\r
89                                                                 <outcome value='true'>\r
90                                                                     <set>\r
91                                                                         <parameter name='prop.spoke.wanPortId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\r
92                                                                     </set>\r
93                                                                 </outcome>\r
94                                                             </switch>\r
95                                                             <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'providerIpAddress'`">\r
96                                                                 <outcome value='true'>\r
97                                                                     <set>\r
98                                                                         <parameter name='prop.spoke.providerIpAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\r
99                                                                     </set>\r
100                                                                 </outcome>\r
101                                                             </switch>\r
102                                                             <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'ipAddress'`">\r
103                                                                 <outcome value='true'>\r
104                                                                     <set>\r
105                                                                         <parameter name='prop.spoke.ipAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\r
106                                                                     </set>\r
107                                                                 </outcome>\r
108                                                             </switch>\r
109                                                         </block>\r
110                                                     </for>\r
111                                                 </block>\r
112                                             </outcome>\r
113                                         </switch>\r
114                                         <switch test="`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`">\r
115                                             <outcome value='true'>\r
116                                                 <block atomic="true">\r
117                                                     <for index="didx" start="0" end="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
118                                                         <block atomic="true">\r
119                                                             <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'deviceId'`">\r
120                                                                 <outcome value='true'>\r
121                                                                     <set>\r
122                                                                         <parameter name='prop.spoke.deviceId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`' />\r
123                                                                     </set>\r
124                                                                 </outcome>\r
125                                                             </switch>\r
126                                                         </block>\r
127                                                     </for>\r
128                                                 </block>\r
129                                             </outcome>\r
130                                         </switch>\r
131                                         <switch test="`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSiteInstance'`">\r
132                                             <outcome value='true'>\r
133                                                 <block atomic="true">\r
134                                                     <set>\r
135                                                         <parameter name='prop.spoke.siteidx' value='`$i`' />\r
136                                                     </set>\r
137                                                     <for index="sidx" start="0" end="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
138                                                         <block atomic="true">\r
139                                                             <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'name'`">\r
140                                                                 <outcome value='true'>\r
141                                                                     <set>\r
142                                                                         <parameter name='prop.spoke.siteName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\r
143                                                                     </set>\r
144                                                                 </outcome>\r
145                                                             </switch>\r
146                                                             <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`">\r
147                                                                 <outcome value='true'>\r
148                                                                     <set>\r
149                                                                         <parameter name='prop.spoke.siteId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\r
150                                                                     </set>\r
151                                                                 </outcome>\r
152                                                             </switch>\r
153                                                             <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'underlayRouteIds'`">\r
154                                                                 <outcome value='true'>\r
155                                                                     <block atomic="true">\r
156                                                                         <set>\r
157                                                                             <parameter name='prop.underlay.routeIdsString' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\r
158                                                                         </set>\r
159                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
160                                                                             <parameter name="original_string" value='`$prop.underlay.routeIdsString`'/>\r
161                                                                             <parameter name="regex" value=" | "/>\r
162                                                                             <parameter name="ctx_memory_result_key" value="prop.underlay.routeIdsValue"/>\r
163                                                                             <outcome value='success'>\r
164                                                                                 <for index="ridx" start="0" end="`$prop.underlay.routeIdsValue_length`">\r
165                                                                                     <block atomic="true">\r
166                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
167                                                                                             <parameter name="original_string" value='`$prop.underlay.routeIdsValue[$ridx]`'/>\r
168                                                                                             <parameter name="regex" value=","/>\r
169                                                                                             <parameter name="ctx_memory_result_key" value="prop.underlay.routeIdsValues"/>\r
170                                                                                             <outcome value='success'>\r
171                                                                                                 <switch test='`$prop.underlay.routeIdsValues_length`'>\r
172                                                                                                     <outcome value='Other'>\r
173                                                                                                         <block></block>\r
174                                                                                                     </outcome>\r
175                                                                                                     <outcome value='3'>\r
176                                                                                                         <block atomic="true">\r
177                                                                                                             <set>\r
178                                                                                                                 <parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.underlay.routeIdsValues[0]`' />\r
179                                                                                                                 <parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$prop.underlay.routeIdsValues[1]`' />\r
180                                                                                                                 <parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$prop.underlay.routeIdsValues[2]`' />\r
181                                                                                                             </set>\r
182                                                                                                             <set>\r
183                                                                                                                 <parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\r
184                                                                                                             </set>\r
185                                                                                                         </block>\r
186                                                                                                     </outcome>\r
187                                                                                                 </switch>\r
188                                                                                             </outcome>\r
189                                                                                             <outcome value='failure'>\r
190                                                                                                 <block></block>\r
191                                                                                             </outcome>\r
192                                                                                         </execute>\r
193                                                                                     </block>\r
194                                                                                 </for>\r
195                                                                             </outcome>\r
196                                                                             <outcome value='failure'>\r
197                                                                                 <block></block>\r
198                                                                             </outcome>\r
199                                                                         </execute>\r
200                                                                     </block>\r
201                                                                 </outcome>\r
202                                                             </switch>\r
203                                                         </block>\r
204                                                     </for>\r
205                                                 </block>\r
206                                             </outcome>\r
207                                         </switch>\r
208                                     </block>\r
209                                 </for>\r
210                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
211                                     <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>\r
212                                     <parameter name="outputPath" value="tmp.ar-url-parent-connection"/>\r
213                                     <parameter name="target" value="{service-instance-id}"/>\r
214                                     <parameter name="replacement" value="`$prop.parent-service-instance-id`"/>\r
215                                 </execute>\r
216                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
217                                     <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-parent-connection`' />\r
218                                     <parameter name='restapiUser' value='`$prop.controller.user`' />\r
219                                     <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
220                                     <parameter name='format' value='json' />\r
221                                     <parameter name='httpMethod' value='GET' />\r
222                                     <parameter name="responsePrefix" value="mdsal-psd" />\r
223                                     <outcome value='success'>\r
224                                         <block></block>\r
225                                     </outcome>\r
226                                     <outcome value='Other'>\r
227                                         <return status='failure'>\r
228                                             <parameter name='ack-final' value='Y'/>\r
229                                             <parameter name="error-code" value="404" />\r
230                                             <parameter name="error-message" value="Error: SOTN resource not found" />\r
231                                         </return>\r
232                                     </outcome>\r
233                                 </execute>\r
234                                 <for index='pnidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >\r
235                                     <block atomic="true">\r
236                                         <switch test="`$mdsal-psd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`">\r
237                                             <outcome value='true'>\r
238                                                 <set>\r
239                                                     <parameter name='tmp.pnidx' value='`$pnidx`' />\r
240                                                 </set>\r
241                                             </outcome>\r
242                                         </switch>\r
243                                     </block>\r
244                                 </for>\r
245                                 <switch test="`$tmp.pnidx`">\r
246                                     <outcome value=''>\r
247                                         <return status='failure'>\r
248                                             <parameter name='ack-final' value='Y'/>\r
249                                             <parameter name="error-code" value="500" />\r
250                                             <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />\r
251                                         </return>\r
252                                     </outcome>\r
253                                 </switch>\r
254                                 <for index="paramidx" start="0" end="`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param_length`">\r
255                                     <block atomic="true">\r
256                                         <switch test="`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`">\r
257                                             <outcome value='true'>\r
258                                                 <set>\r
259                                                     <parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\r
260                                                 </set>\r
261                                             </outcome>\r
262                                         </switch>\r
263                                         <switch test="`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpn-id'`">\r
264                                             <outcome value='true'>\r
265                                                 <set>\r
266                                                     <parameter name='prop.vpnId' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\r
267                                                 </set>\r
268                                             </outcome>\r
269                                         </switch>\r
270                                     </block>\r
271                                 </for>\r
272                                 <switch test="`$prop.topology == 'hub-spoke'`">\r
273                                     <outcome value='false'>\r
274                                         <block></block>\r
275                                     </outcome>\r
276                                     <outcome value='true'>\r
277                                         <block atomic="true">\r
278                                             <for index='ppidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\r
279                                                 <block atomic="true">\r
280                                                     <set>\r
281                                                         <parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$ppidx].allotted-resource-id`' />\r
282                                                     </set>\r
283                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
284                                                         <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>\r
285                                                         <parameter name="outputPath" value="tmp.ar-url-connection"/>\r
286                                                         <parameter name="target" value="{allotted-resource-id}"/>\r
287                                                         <parameter name="replacement" value="`$prop.ar.provided-allotted-resource-id`"/>\r
288                                                     </execute>\r
289                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
290                                                         <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\r
291                                                         <parameter name='restapiUser' value='`$prop.controller.user`' />\r
292                                                         <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
293                                                         <parameter name='format' value='json' />\r
294                                                         <parameter name='httpMethod' value='GET' />\r
295                                                         <parameter name="responsePrefix" value="mdsal-providedAr" />\r
296                                                         <outcome value='success'>\r
297                                                             <block></block>\r
298                                                         </outcome>\r
299                                                         <outcome value='Other'>\r
300                                                             <return status='failure'>\r
301                                                                 <parameter name='ack-final' value='Y'/>\r
302                                                                 <parameter name="error-code" value="404" />\r
303                                                                 <parameter name="error-message" value="Error: SOTN resource not found" />\r
304                                                             </return>\r
305                                                         </outcome>\r
306                                                     </execute>\r
307                                                     <for index="aridx" start="0" end="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`">\r
308                                                         <block atomic="true">\r
309                                                             <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`">\r
310                                                                 <outcome value='true'>\r
311                                                                     <set>\r
312                                                                         <parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\r
313                                                                     </set>\r
314                                                                 </outcome>\r
315                                                             </switch>\r
316                                                         </block>\r
317                                                     </for>\r
318                                                     <switch test="`$prop.role == hub`">\r
319                                                         <outcome value='false'>\r
320                                                             <block></block>\r
321                                                         </outcome>\r
322                                                         <outcome value='true'>\r
323                                                             <block atomic="true">\r
324                                                                 <set>\r
325                                                                     <parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\r
326                                                                 </set>\r
327                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
328                                                                     <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>\r
329                                                                     <parameter name="outputPath" value="tmp.ar-url-connection"/>\r
330                                                                     <parameter name="target" value="{service-instance-id}"/>\r
331                                                                     <parameter name="replacement" value="`$prop.ar-service-instance-id`"/>\r
332                                                                 </execute>\r
333                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
334                                                                     <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\r
335                                                                     <parameter name='restapiUser' value='`$prop.controller.user`' />\r
336                                                                     <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
337                                                                     <parameter name='format' value='json' />\r
338                                                                     <parameter name='httpMethod' value='GET' />\r
339                                                                     <parameter name="responsePrefix" value="mdsal-arsd" />\r
340                                                                     <outcome value='success'>\r
341                                                                         <block></block>\r
342                                                                     </outcome>\r
343                                                                     <outcome value='Other'>\r
344                                                                         <return status='failure'>\r
345                                                                             <parameter name='ack-final' value='Y'/>\r
346                                                                             <parameter name="error-code" value="404" />\r
347                                                                             <parameter name="error-message" value="Error: SDWAN service-data not found" />\r
348                                                                         </return>\r
349                                                                     </outcome>\r
350                                                                 </execute>\r
351                                                                 <for index='arvidx' start='0' end='`$mdsal-arsd.service-data.vnfs.vnf_length`' >\r
352                                                                     <block atomic="true">\r
353                                                                         <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`">\r
354                                                                             <outcome value='true'>\r
355                                                                                 <block atomic="true">\r
356                                                                                     <set>\r
357                                                                                         <parameter name='tmp.portvidx' value='`$arvidx`' />\r
358                                                                                     </set>\r
359                                                                                     <for index="wportidx" start="0" end="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
360                                                                                         <block atomic="true">\r
361                                                                                             <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'transportNetworkName'`">\r
362                                                                                                 <outcome value='true'>\r
363                                                                                                     <block atomic="true">\r
364                                                                                                         <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value == $prop.spoke.transportNetworkName`">\r
365                                                                                                             <outcome value='true'>\r
366                                                                                                                 <block atomic="true">\r
367                                                                                                                     <set>\r
368                                                                                                                         <parameter name='tmp.wanportvidx' value='`$arvidx`' />\r
369                                                                                                                     </set>\r
370                                                                                                                     <set>\r
371                                                                                                                         <parameter name='prop.hub.transportNetworkName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\r
372                                                                                                                     </set>\r
373                                                                                                                 </block>\r
374                                                                                                             </outcome>\r
375                                                                                                         </switch>\r
376                                                                                                     </block>\r
377                                                                                                 </outcome>\r
378                                                                                             </switch>\r
379                                                                                         </block>\r
380                                                                                     </for>\r
381                                                                                 </block>\r
382                                                                             </outcome>\r
383                                                                         </switch>\r
384                                                                         <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`">\r
385                                                                             <outcome value='true'>\r
386                                                                                 <set>\r
387                                                                                     <parameter name='tmp.devicevidx' value='`$arvidx`' />\r
388                                                                                 </set>\r
389                                                                             </outcome>\r
390                                                                         </switch>\r
391                                                                         <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`">\r
392                                                                             <outcome value='true'>\r
393                                                                                 <set>\r
394                                                                                     <parameter name='tmp.sitevidx' value='`$arvidx`' />\r
395                                                                                 </set>\r
396                                                                             </outcome>\r
397                                                                         </switch>\r
398                                                                     </block>\r
399                                                                 </for>\r
400                                                                 <block atomic="true">\r
401                                                                     <switch test="`$tmp.wanportvidx`">\r
402                                                                         <outcome value=''>\r
403                                                                             <return status='failure'>\r
404                                                                                 <parameter name='ack-final' value='Y'/>\r
405                                                                                 <parameter name="error-code" value="500" />\r
406                                                                                 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id (port) not found in service-data" />\r
407                                                                             </return>\r
408                                                                         </outcome>\r
409                                                                     </switch>\r
410                                                                     <switch test="`$tmp.devicevidx`">\r
411                                                                         <outcome value=''>\r
412                                                                             <return status='failure'>\r
413                                                                                 <parameter name='ack-final' value='Y'/>\r
414                                                                                 <parameter name="error-code" value="500" />\r
415                                                                                 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id (device) not found in service-data" />\r
416                                                                             </return>\r
417                                                                         </outcome>\r
418                                                                     </switch>\r
419                                                                     <switch test="`$tmp.sitevidx`">\r
420                                                                         <outcome value=''>\r
421                                                                             <return status='failure'>\r
422                                                                                 <parameter name='ack-final' value='Y'/>\r
423                                                                                 <parameter name="error-code" value="500" />\r
424                                                                                 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id (site) not found in service-data" />\r
425                                                                             </return>\r
426                                                                         </outcome>\r
427                                                                     </switch>\r
428                                                                 </block>\r
429                                                                 <switch test="`$prop.hub.transportNetworkName == $prop.spoke.transportNetworkName`">\r
430                                                                     <outcome value='false'>\r
431                                                                         <block></block>\r
432                                                                     </outcome>\r
433                                                                     <outcome value='true'>\r
434                                                                         <block atomic="true">\r
435                                                                             <for index="wportidx" start="0" end="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
436                                                                                 <block atomic="true">\r
437                                                                                     <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'wanPortId'`">\r
438                                                                                         <outcome value='true'>\r
439                                                                                             <set>\r
440                                                                                                 <parameter name='prop.hub.wanPortId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\r
441                                                                                             </set>\r
442                                                                                         </outcome>\r
443                                                                                     </switch>\r
444                                                                                     <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'providerIpAddress'`">\r
445                                                                                         <outcome value='true'>\r
446                                                                                             <set>\r
447                                                                                                 <parameter name='prop.hub.providerIpAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\r
448                                                                                             </set>\r
449                                                                                         </outcome>\r
450                                                                                     </switch>\r
451                                                                                     <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'ipAddress'`">\r
452                                                                                         <outcome value='true'>\r
453                                                                                             <set>\r
454                                                                                                 <parameter name='prop.hub.ipAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\r
455                                                                                             </set>\r
456                                                                                         </outcome>\r
457                                                                                     </switch>\r
458                                                                                 </block>\r
459                                                                             </for>\r
460                                                                             <set>\r
461                                                                                 <parameter name='prop.hubTnpId' value='$prop.hub.wanPortId' />\r
462                                                                             </set>\r
463                                                                             <for index="deviceidx" start="0" end="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
464                                                                                 <block atomic="true">\r
465                                                                                     <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`">\r
466                                                                                         <outcome value='true'>\r
467                                                                                             <set>\r
468                                                                                                 <parameter name='prop.hub.deviceId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />\r
469                                                                                             </set>\r
470                                                                                         </outcome>\r
471                                                                                     </switch>\r
472                                                                                 </block>\r
473                                                                             </for>\r
474                                                                             <for index="siteidx" start="0" end="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
475                                                                                 <block atomic="true">\r
476                                                                                     <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'name'`">\r
477                                                                                         <outcome value='true'>\r
478                                                                                             <set>\r
479                                                                                                 <parameter name='prop.hub.siteName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\r
480                                                                                             </set>\r
481                                                                                         </outcome>\r
482                                                                                     </switch>\r
483                                                                                     <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`">\r
484                                                                                         <outcome value='true'>\r
485                                                                                             <set>\r
486                                                                                                 <parameter name='prop.hub.siteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\r
487                                                                                             </set>\r
488                                                                                         </outcome>\r
489                                                                                     </switch>\r
490                                                                                 </block>\r
491                                                                             </for>\r
492                                                                             <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\r
493                                                                                 <outcome value='ActivateSDWANAttachmentInstance'>\r
494                                                                                     <block atomic="true">\r
495                                                                                         <set>\r
496                                                                                             <parameter name='prop.hub.ipAddress' value="10.2.0.2" />\r
497                                                                                             <parameter name='prop.hub.providerIpAddress' value="10.2.0.0/16" />\r
498                                                                                         </set>\r
499                                                                                         <set>\r
500                                                                                             <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\r
501                                                                                             <parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\r
502                                                                                             <parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\r
503                                                                                             <parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\r
504                                                                                             <parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\r
505                                                                                             <parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\r
506                                                                                         </set>\r
507                                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
508                                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />\r
509                                                                                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`" />\r
510                                                                                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
511                                                                                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
512                                                                                             <parameter name="format" value="json"/>\r
513                                                                                             <parameter name="httpMethod" value="post"/>\r
514                                                                                             <parameter name="responsePrefix" value="underlayHubResp"/>\r
515                                                                                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
516                                                                                             <parameter name="trustStorePassword" value="adminadmin"/>\r
517                                                                                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
518                                                                                             <parameter name="keyStorePassword" value="adminadmin"/>\r
519                                                                                             <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
520                                                                                             <outcome value='failure'>\r
521                                                                                                 <block></block>\r
522                                                                                             </outcome>\r
523                                                                                             <outcome value='success'>\r
524                                                                                                 <block></block>\r
525                                                                                             </outcome>\r
526                                                                                         </execute>\r
527                                                                                         <set>\r
528                                                                                             <parameter name='prop.spoke.ipAddress' value="10.3.0.1" />\r
529                                                                                             <parameter name='prop.spoke.providerIpAddress' value="10.3.0.0/16" />\r
530                                                                                         </set>\r
531                                                                                         <set>\r
532                                                                                             <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\r
533                                                                                             <parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\r
534                                                                                             <parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\r
535                                                                                             <parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\r
536                                                                                             <parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />\r
537                                                                                             <parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\r
538                                                                                         </set>\r
539                                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
540                                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />\r
541                                                                                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`" />\r
542                                                                                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
543                                                                                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
544                                                                                             <parameter name="format" value="json"/>\r
545                                                                                             <parameter name="httpMethod" value="post"/>\r
546                                                                                             <parameter name="responsePrefix" value="underlayspokeResp"/>\r
547                                                                                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
548                                                                                             <parameter name="trustStorePassword" value="adminadmin"/>\r
549                                                                                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
550                                                                                             <parameter name="keyStorePassword" value="adminadmin"/>\r
551                                                                                             <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
552                                                                                             <outcome value='failure'>\r
553                                                                                                 <block></block>\r
554                                                                                             </outcome>\r
555                                                                                             <outcome value='success'>\r
556                                                                                                 <block></block>\r
557                                                                                             </outcome>\r
558                                                                                         </execute>\r
559                                                                                         <set>\r
560                                                                                             <parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.hub.siteId`' />\r
561                                                                                             <!--parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeSiteId' value='`$prop.spoke.siteId`' /-->\r
562                                                                                             <parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$underlayHubResp.success[0].id`' />\r
563                                                                                             <parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$underlayspokeResp.success[0].id`' />\r
564                                                                                         </set>\r
565                                                                                         <set>\r
566                                                                                             <parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\r
567                                                                                         </set>\r
568                                                                                         <set>\r
569                                                                                             <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteName' value='`$prop.hub.siteName`' />\r
570                                                                                             <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteId' value='`$prop.hub.siteId`' />\r
571                                                                                             <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteName' value='`$prop.spoke.siteName`' />\r
572                                                                                             <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteId' value='`$prop.spoke.siteId`' />\r
573                                                                                         </set>\r
574                                                                                         <set>\r
575                                                                                             <parameter name='prop.provision.siteIds_length' value='`$prop.provision.siteIds_length + 1`' />\r
576                                                                                         </set>\r
577                                                                                     </block>\r
578                                                                                 </outcome>\r
579                                                                                 <outcome value='DeactivateSDWANAttachmentInstance'>\r
580                                                                                     <block atomic="true">\r
581                                                                                         <for index="uidx" start="0" end="`$prop.underlay.routeIds_length`">\r
582                                                                                             <block atomic="true">\r
583                                                                                                 <switch test="`$prop.underlay.routeIds[$uidx].hubSiteId == $prop.hub.siteId`">\r
584                                                                                                     <outcome value='true'>\r
585                                                                                                         <block atomic="true">\r
586                                                                                                             <set>\r
587                                                                                                                 <parameter name='prop.hubRouteId' value='`$prop.underlay.routeIds[$uidx].hubRouteId`' />\r
588                                                                                                                 <parameter name='prop.spokeRouteId' value='`$prop.underlay.routeIds[$uidx].spokeRouteId`' />\r
589                                                                                                             </set>\r
590                                                                                                         </block>\r
591                                                                                                     </outcome>\r
592                                                                                                 </switch>\r
593                                                                                             </block>\r
594                                                                                         </for>\r
595                                                                                         <set>\r
596                                                                                             <parameter name='prop.hub.ipAddress' value="10.2.0.2" />\r
597                                                                                             <parameter name='prop.hub.providerIpAddress' value="10.2.0.0/16" />\r
598                                                                                         </set>\r
599                                                                                         <set>\r
600                                                                                             <parameter name='prop.route.id' value='`$prop.hubRouteId`' />\r
601                                                                                             <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\r
602                                                                                             <parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\r
603                                                                                             <parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\r
604                                                                                             <parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\r
605                                                                                             <parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\r
606                                                                                             <parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\r
607                                                                                         </set>\r
608                                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
609                                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />\r
610                                                                                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`" />\r
611                                                                                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
612                                                                                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
613                                                                                             <parameter name="format" value="json"/>\r
614                                                                                             <parameter name="httpMethod" value="post"/>\r
615                                                                                             <parameter name="responsePrefix" value="underlayHubResp"/>\r
616                                                                                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
617                                                                                             <parameter name="trustStorePassword" value="adminadmin"/>\r
618                                                                                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
619                                                                                             <parameter name="keyStorePassword" value="adminadmin"/>\r
620                                                                                             <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
621                                                                                             <outcome value='failure'>\r
622                                                                                                 <block></block>\r
623                                                                                             </outcome>\r
624                                                                                             <outcome value='success'>\r
625                                                                                                 <block></block>\r
626                                                                                             </outcome>\r
627                                                                                         </execute>\r
628                                                                                         <set>\r
629                                                                                             <parameter name='prop.spoke.ipAddress' value="10.3.0.1" />\r
630                                                                                             <parameter name='prop.spoke.providerIpAddress' value="10.3.0.0/16" />\r
631                                                                                         </set>\r
632                                                                                         <set>\r
633                                                                                             <parameter name='prop.route.id' value='`$prop.spokeRouteId`' />\r
634                                                                                             <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\r
635                                                                                             <parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\r
636                                                                                             <parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\r
637                                                                                             <parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\r
638                                                                                             <parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />\r
639                                                                                             <parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\r
640                                                                                         </set>\r
641                                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
642                                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />\r
643                                                                                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`" />\r
644                                                                                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
645                                                                                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
646                                                                                             <parameter name="format" value="json"/>\r
647                                                                                             <parameter name="httpMethod" value="post"/>\r
648                                                                                             <parameter name="responsePrefix" value="underlayspokeResp"/>\r
649                                                                                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
650                                                                                             <parameter name="trustStorePassword" value="adminadmin"/>\r
651                                                                                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
652                                                                                             <parameter name="keyStorePassword" value="adminadmin"/>\r
653                                                                                             <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
654                                                                                             <outcome value='failure'>\r
655                                                                                                 <block></block>\r
656                                                                                             </outcome>\r
657                                                                                             <outcome value='success'>\r
658                                                                                                 <block></block>\r
659                                                                                             </outcome>\r
660                                                                                         </execute>\r
661                                                                                     </block>\r
662                                                                                 </outcome>\r
663                                                                             </switch>\r
664                                                                         </block>\r
665                                                                     </outcome>\r
666                                                                 </switch>\r
667                                                             </block>\r
668                                                         </outcome>\r
669                                                     </switch>\r
670                                                 </block>\r
671                                             </for>\r
672                                         </block>\r
673                                     </outcome>\r
674                                 </switch>\r
675                                 <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\r
676                                     <outcome value='ActivateSDWANAttachmentInstance'>\r
677                                         <block atomic="true">\r
678                                             <set>\r
679                                                 <parameter name='tmp.routeString' value="" />\r
680                                             </set>\r
681                                             <for index="jidx" start="0" end="`$prop.underlay.routeIds_length`">\r
682                                                 <block atomic="true">\r
683                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\r
684                                                         <parameter name="source" value='`$prop.underlay.routeIds[$jidx].hubSiteId`'/>\r
685                                                         <parameter name="outputPath" value="tmp.concat"/>\r
686                                                         <parameter name="target" value=","/>\r
687                                                     </execute>\r
688                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\r
689                                                         <parameter name="source" value='`$tmp.concat`'/>\r
690                                                         <parameter name="outputPath" value="tmp.concat1"/>\r
691                                                         <parameter name="target" value='`$prop.underlay.routeIds[$jidx].hubRouteId`'/>\r
692                                                     </execute>\r
693                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\r
694                                                         <parameter name="source" value='`$tmp.concat1`'/>\r
695                                                         <parameter name="outputPath" value="tmp.concat2"/>\r
696                                                         <parameter name="target" value=","/>\r
697                                                     </execute>\r
698                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\r
699                                                         <parameter name="source" value='`$tmp.concat2`'/>\r
700                                                         <parameter name="outputPath" value="tmp.concat3"/>\r
701                                                         <parameter name="target" value='`$prop.underlay.routeIds[$jidx].spokeRouteId`'/>\r
702                                                     </execute>\r
703                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\r
704                                                         <parameter name="source" value='`$tmp.concat3`'/>\r
705                                                         <parameter name="outputPath" value="tmp.concat4"/>\r
706                                                         <parameter name="target" value=" | "/>\r
707                                                     </execute>\r
708                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\r
709                                                         <parameter name="source" value='`$tmp.routeString`'/>\r
710                                                         <parameter name="outputPath" value="tmp.routeString"/>\r
711                                                         <parameter name="target" value='`$tmp.concat4`'/>\r
712                                                     </execute>\r
713                                                 </block>\r
714                                             </for>\r
715                                             <set>\r
716                                                 <parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value="underlayRouteIds" />\r
717                                                 <parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$tmp.routeString`' />\r
718                                             </set>\r
719                                             <set>\r
720                                                 <parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\r
721                                             </set>\r
722                                         </block>\r
723                                     </outcome>\r
724                                     <outcome value='DeactivateSDWANAttachmentInstance'>\r
725                                         <block atomic="true">\r
726                                             <set>\r
727                                                 <parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length - 1`' />\r
728                                             </set>\r
729                                         </block>\r
730                                     </outcome>\r
731                                 </switch>\r
732                             </block>\r
733                         </outcome>\r
734                     </switch>\r
735                 </block>\r
736             </for>\r
737             <for index='providx' start='0' end='`$prop.provision.siteIds_length`' >\r
738                 <block atomic="true">\r
739                     <set>\r
740                         <parameter name='prop.provision.hubSitename' value='`$prop.provision.siteIds[$providx].hubSiteName`' />\r
741                         <parameter name='prop.provision.spokeSitename' value='`$prop.provision.siteIds[$providx].spokeSiteName`' />\r
742                         <parameter name='prop.provision.hubspokesite[0]' value='`$prop.provision.siteIds[$providx].hubSiteId`' />\r
743                         <parameter name='prop.provision.hubspokesite[1]' value='`$prop.provision.siteIds[$providx].spokeSiteId`' />\r
744                         <parameter name='prop.provision.hubspokesite_length' value='2' />\r
745                     </set>\r
746                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
747                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-site-provision.json'`" />\r
748                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/provision-urls'`" />\r
749                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
750                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
751                         <parameter name="format" value="json"/>\r
752                         <parameter name="httpMethod" value="post"/>\r
753                         <parameter name="responsePrefix" value="provisionUrlRsp"/>\r
754                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
755                         <parameter name="trustStorePassword" value="adminadmin"/>\r
756                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
757                         <parameter name="keyStorePassword" value="adminadmin"/>\r
758                         <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
759                         <outcome value='failure'>\r
760                             <return status='failure'>\r
761                                 <parameter name='ack-final' value='Y'/>\r
762                                 <parameter name="error-code" value="500" />\r
763                                 <parameter name="error-message" value="Error executing provision url rest api" />\r
764                             </return>\r
765                         </outcome>\r
766                         <outcome value='success'></outcome>\r
767                     </execute>\r
768                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
769                         <parameter name="file" value="`'/opt/opendaylight/current/data/log/' + 'HUB-' + $prop.provision.hubSitename + '-SPOKE-' + $prop.provision.spokeSitename + '-provisionUrl'`"/>\r
770                         <parameter name="field1" value="__TIMESTAMP__"/>\r
771                         <parameter name="field2" value='`$provisionUrlRsp.success[0].url`'/>\r
772                     </record>\r
773                 </block>\r
774             </for>\r
775             <return status='success'>\r
776                 <parameter name="ack-final-indicator" value="Y" />\r
777                 <parameter name="error-code" value="200" />\r
778                 <parameter name="error-message" value="`$error-message`" />\r
779             </return>\r
780         </block>\r
781     </method>\r
782 </service-logic>\r