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
7 <parameter name='prop.provision.siteIds_length' value='0' />
\r
9 <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
\r
10 <block atomic="true">
\r
12 <parameter name='prop.ar.allotted-resource-id' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id`' />
\r
14 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
15 <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
\r
16 <parameter name="outputPath" value="tmp.ar-url-connection"/>
\r
17 <parameter name="target" value="{allotted-resource-id}"/>
\r
18 <parameter name="replacement" value="`$prop.ar.allotted-resource-id`"/>
\r
20 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
21 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
\r
22 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
23 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
24 <parameter name='format' value='json' />
\r
25 <parameter name='httpMethod' value='GET' />
\r
26 <parameter name="responsePrefix" value="mdsal-ar" />
\r
27 <outcome value='success'>
\r
28 <block atomic="true">
\r
29 <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>
\r
31 <block atomic='true'>
\r
33 <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
35 <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
37 <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].name == 'role'`">
\r
38 <outcome value='true'>
\r
40 <parameter name='prop.spoke.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].value`' />
\r
48 <outcome value='Other'>
\r
49 <return status='failure'>
\r
50 <parameter name='ack-final' value='Y'/>
\r
51 <parameter name="error-code" value="404" />
\r
52 <parameter name="error-message" value="Error: Connection attachement resource not found" />
\r
58 <outcome value='Other'>
\r
59 <block atomic="true">
\r
60 <return status='failure'>
\r
61 <parameter name='ack-final' value='Y'/>
\r
62 <parameter name="error-code" value="404" />
\r
63 <parameter name="error-message" value="Error: Connection attachement resource not found" />
\r
68 <switch test="`$prop.spoke.role == 'spoke'`">
\r
69 <outcome value='true'>
\r
70 <block atomic="true">
\r
71 <for index='i' start='0' end='`$service-data.vnfs.vnf_length`' >
\r
72 <block atomic="true">
\r
73 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`">
\r
74 <outcome value='true'>
\r
75 <block atomic="true">
\r
76 <for index="widx" start="0" end="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
\r
77 <block atomic="true">
\r
78 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'transportNetworkName'`">
\r
79 <outcome value='true'>
\r
81 <parameter name='prop.spoke.transportNetworkName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />
\r
85 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'wanPortId'`">
\r
86 <outcome value='true'>
\r
88 <parameter name='prop.spoke.wanPortId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />
\r
92 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'providerIpAddress'`">
\r
93 <outcome value='true'>
\r
95 <parameter name='prop.spoke.providerIpAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />
\r
99 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'ipAddress'`">
\r
100 <outcome value='true'>
\r
102 <parameter name='prop.spoke.ipAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />
\r
111 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`">
\r
112 <outcome value='true'>
\r
113 <block atomic="true">
\r
114 <for index="didx" start="0" end="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
\r
115 <block atomic="true">
\r
116 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'deviceId'`">
\r
117 <outcome value='true'>
\r
119 <parameter name='prop.spoke.deviceId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`' />
\r
128 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSiteInstance'`">
\r
129 <outcome value='true'>
\r
130 <block atomic="true">
\r
131 <for index="sidx" start="0" end="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
\r
132 <block atomic="true">
\r
133 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'name'`">
\r
134 <outcome value='true'>
\r
136 <parameter name='prop.spoke.siteName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />
\r
140 <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`">
\r
141 <outcome value='true'>
\r
143 <parameter name='prop.spoke.siteId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />
\r
154 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
155 <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
\r
156 <parameter name="outputPath" value="tmp.ar-url-parent-connection"/>
\r
157 <parameter name="target" value="{service-instance-id}"/>
\r
158 <parameter name="replacement" value="`$prop.parent-service-instance-id`"/>
\r
160 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
161 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-parent-connection`' />
\r
162 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
163 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
164 <parameter name='format' value='json' />
\r
165 <parameter name='httpMethod' value='GET' />
\r
166 <parameter name="responsePrefix" value="mdsal-psd" />
\r
167 <outcome value='success'>
\r
170 <outcome value='Other'>
\r
171 <return status='failure'>
\r
172 <parameter name='ack-final' value='Y'/>
\r
173 <parameter name="error-code" value="404" />
\r
174 <parameter name="error-message" value="Error: SOTN resource not found" />
\r
178 <for index='pnidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >
\r
179 <block atomic="true">
\r
180 <switch test="`$mdsal-psd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`">
\r
181 <outcome value='true'>
\r
183 <parameter name='tmp.pnidx' value='`$pnidx`' />
\r
187 <switch test="`$tmp.pnidx`">
\r
189 <return status='failure'>
\r
190 <parameter name='ack-final' value='Y'/>
\r
191 <parameter name="error-code" value="500" />
\r
192 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
\r
198 <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
199 <block atomic="true">
\r
200 <switch test="`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`">
\r
201 <outcome value='true'>
\r
203 <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
207 <switch test="`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpnId'`">
\r
208 <outcome value='true'>
\r
210 <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
216 <switch test="`$prop.topology == 'hub-spoke'`">
\r
217 <outcome value='false'>
\r
220 <outcome value='true'>
\r
221 <block atomic="true">
\r
222 <for index='ppidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >
\r
223 <block atomic="true">
\r
225 <parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$ppidx].allotted-resource-id`' />
\r
227 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
228 <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
\r
229 <parameter name="outputPath" value="tmp.ar-url-connection"/>
\r
230 <parameter name="target" value="{allotted-resource-id}"/>
\r
231 <parameter name="replacement" value="`$prop.ar.provided-allotted-resource-id`"/>
\r
233 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
234 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
\r
235 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
236 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
237 <parameter name='format' value='json' />
\r
238 <parameter name='httpMethod' value='GET' />
\r
239 <parameter name="responsePrefix" value="mdsal-providedAr" />
\r
240 <outcome value='success'>
\r
243 <outcome value='Other'>
\r
244 <return status='failure'>
\r
245 <parameter name='ack-final' value='Y'/>
\r
246 <parameter name="error-code" value="404" />
\r
247 <parameter name="error-message" value="Error: SOTN resource not found" />
\r
251 <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
252 <block atomic="true">
\r
253 <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
254 <outcome value='true'>
\r
256 <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
262 <switch test="`$prop.role == hub`">
\r
263 <outcome value='false'>
\r
266 <outcome value='true'>
\r
267 <block atomic="true">
\r
269 <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
271 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
272 <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
\r
273 <parameter name="outputPath" value="tmp.ar-url-connection"/>
\r
274 <parameter name="target" value="{service-instance-id}"/>
\r
275 <parameter name="replacement" value="`$prop.ar-service-instance-id`"/>
\r
277 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
278 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
\r
279 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
280 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
281 <parameter name='format' value='json' />
\r
282 <parameter name='httpMethod' value='GET' />
\r
283 <parameter name="responsePrefix" value="mdsal-arsd" />
\r
284 <outcome value='success'>
\r
287 <outcome value='Other'>
\r
288 <return status='failure'>
\r
289 <parameter name='ack-final' value='Y'/>
\r
290 <parameter name="error-code" value="404" />
\r
291 <parameter name="error-message" value="Error: SDWAN service-data not found" />
\r
295 <for index='arvidx' start='0' end='`$mdsal-arsd.service-data.vnfs.vnf_length`' >
\r
296 <block atomic="true">
\r
297 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`">
\r
298 <outcome value='true'>
\r
300 <parameter name='tmp.portvidx' value='`$arvidx`' />
\r
304 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`">
\r
305 <outcome value='true'>
\r
307 <parameter name='tmp.devicevidx' value='`$arvidx`' />
\r
311 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`">
\r
312 <outcome value='true'>
\r
314 <parameter name='tmp.sitevidx' value='`$arvidx`' />
\r
320 <block atomic="true">
\r
321 <switch test="`$tmp.portvidx`">
\r
323 <return status='failure'>
\r
324 <parameter name='ack-final' value='Y'/>
\r
325 <parameter name="error-code" value="500" />
\r
326 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id (port) not found in service-data" />
\r
330 <switch test="`$tmp.devicevidx`">
\r
332 <return status='failure'>
\r
333 <parameter name='ack-final' value='Y'/>
\r
334 <parameter name="error-code" value="500" />
\r
335 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id (device) not found in service-data" />
\r
339 <switch test="`$tmp.sitevidx`">
\r
341 <return status='failure'>
\r
342 <parameter name='ack-final' value='Y'/>
\r
343 <parameter name="error-code" value="500" />
\r
344 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id (site) not found in service-data" />
\r
349 <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
350 <block atomic="true">
\r
351 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'transportNetworkName'`">
\r
352 <outcome value='true'>
\r
354 <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
358 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'wanPortId'`">
\r
359 <outcome value='true'>
\r
361 <parameter name='prop.hub.wanPortId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />
\r
365 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'providerIpAddress'`">
\r
366 <outcome value='true'>
\r
368 <parameter name='prop.hub.providerIpAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />
\r
372 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'ipAddress'`">
\r
373 <outcome value='true'>
\r
375 <parameter name='prop.hub.ipAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />
\r
381 <switch test="`$prop.hub.transportNetworkName == $prop.spoke.transportNetworkName`">
\r
382 <outcome value='false'>
\r
385 <outcome value='true'>
\r
386 <block atomic="true">
\r
388 <parameter name='prop.hubTnpId' value='$prop.hub.wanPortId' />
\r
390 <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
391 <block atomic="true">
\r
392 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`">
\r
393 <outcome value='true'>
\r
395 <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
401 <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
402 <block atomic="true">
\r
403 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'name'`">
\r
404 <outcome value='true'>
\r
406 <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
410 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`">
\r
411 <outcome value='true'>
\r
413 <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
417 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'hubRouteId'`">
\r
418 <outcome value='true'>
\r
420 <parameter name='prop.hubRouteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />
\r
424 <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'spokeRouteId'`">
\r
425 <outcome value='true'>
\r
427 <parameter name='prop.spokeRouteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />
\r
433 <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
\r
434 <outcome value='ActivateSDWANAttachmentInstance'>
\r
435 <block atomic="true">
\r
437 <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />
\r
438 <parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />
\r
439 <parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />
\r
440 <parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />
\r
441 <parameter name='prop.route.wanportId' value='`$prop.spoke.wanportId`' />
\r
442 <parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />
\r
444 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
445 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />
\r
446 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`" />
\r
447 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
\r
448 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
\r
449 <parameter name="format" value="json"/>
\r
450 <parameter name="httpMethod" value="post"/>
\r
451 <parameter name="responsePrefix" value="underlayHubResp"/>
\r
452 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
\r
453 <parameter name="trustStorePassword" value="adminadmin"/>
\r
454 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
455 <parameter name="keyStorePassword" value="adminadmin"/>
\r
456 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
\r
457 <outcome value='failure'>
\r
458 <return status='failure'>
\r
459 <parameter name='ack-final' value='Y'/>
\r
460 <parameter name="error-code" value="500" />
\r
461 <parameter name="error-message" value="Error executing sdwan hub route underlay rest api" />
\r
464 <outcome value='success'></outcome>
\r
467 <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />
\r
468 <parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />
\r
469 <parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />
\r
470 <parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />
\r
471 <parameter name='prop.route.wanportId' value='`$prop.hub.wanportId`' />
\r
472 <parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />
\r
474 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
475 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />
\r
476 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`" />
\r
477 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
\r
478 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
\r
479 <parameter name="format" value="json"/>
\r
480 <parameter name="httpMethod" value="post"/>
\r
481 <parameter name="responsePrefix" value="underlayspokeResp"/>
\r
482 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
\r
483 <parameter name="trustStorePassword" value="adminadmin"/>
\r
484 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
485 <parameter name="keyStorePassword" value="adminadmin"/>
\r
486 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
\r
487 <outcome value='failure'>
\r
488 <return status='failure'>
\r
489 <parameter name='ack-final' value='Y'/>
\r
490 <parameter name="error-code" value="500" />
\r
491 <parameter name="error-message" value="Error executing sdwan spoke route underlay rest api" />
\r
494 <outcome value='success'></outcome>
\r
497 <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value='hubRouteId' />
\r
498 <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$underlayHubResp[0].id`' />
\r
499 <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1].name' value='spokeRouteId' />
\r
500 <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1].value' value='`$underlayspokeResp[0].id`' />
\r
501 <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 2`' />
\r
505 <outcome value='DeactivateSDWANAttachmentInstance'>
\r
506 <block atomic="true">
\r
508 <parameter name='prop.route.id' value='`$prop.hubRouteId`' />
\r
509 <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />
\r
510 <parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />
\r
511 <parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />
\r
512 <parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />
\r
513 <parameter name='prop.route.wanportId' value='`$prop.spoke.wanportId`' />
\r
514 <parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />
\r
516 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
517 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />
\r
518 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`" />
\r
519 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
\r
520 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
\r
521 <parameter name="format" value="json"/>
\r
522 <parameter name="httpMethod" value="post"/>
\r
523 <parameter name="responsePrefix" value="underlayHubResp"/>
\r
524 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
\r
525 <parameter name="trustStorePassword" value="adminadmin"/>
\r
526 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
527 <parameter name="keyStorePassword" value="adminadmin"/>
\r
528 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
\r
529 <outcome value='failure'>
\r
530 <return status='failure'>
\r
531 <parameter name='ack-final' value='Y'/>
\r
532 <parameter name="error-code" value="500" />
\r
533 <parameter name="error-message" value="Error executing sdwan hub route underlay rest api" />
\r
536 <outcome value='success'></outcome>
\r
539 <parameter name='prop.route.id' value='`$prop.spokeRouteId`' />
\r
540 <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />
\r
541 <parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />
\r
542 <parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />
\r
543 <parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />
\r
544 <parameter name='prop.route.wanportId' value='`$prop.hub.wanportId`' />
\r
545 <parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />
\r
547 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
548 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />
\r
549 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`" />
\r
550 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
\r
551 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
\r
552 <parameter name="format" value="json"/>
\r
553 <parameter name="httpMethod" value="post"/>
\r
554 <parameter name="responsePrefix" value="underlayspokeResp"/>
\r
555 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
\r
556 <parameter name="trustStorePassword" value="adminadmin"/>
\r
557 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
558 <parameter name="keyStorePassword" value="adminadmin"/>
\r
559 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
\r
560 <outcome value='failure'>
\r
561 <return status='failure'>
\r
562 <parameter name='ack-final' value='Y'/>
\r
563 <parameter name="error-code" value="500" />
\r
564 <parameter name="error-message" value="Error executing sdwan spoke route underlay rest api" />
\r
567 <outcome value='success'></outcome>
\r
573 <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteName' value='`$prop.hub.siteName`' />
\r
574 <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteId' value='`$prop.hub.siteId`' />
\r
575 <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteName' value='`$prop.spoke.siteName`' />
\r
576 <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteId' value='`$prop.spoke.siteId`' />
\r
577 <parameter name='prop.provision.siteIds_length' value='`$prop.provision.siteIds_length + 1`' />
\r
595 <for index='providx' start='0' end='`$prop.provision.siteIds_length`' >
\r
596 <block atomic="true">
\r
598 <parameter name='prop.provision.hubSitename' value='`$prop.provision.siteIds[$providx].hubSiteName`' />
\r
599 <parameter name='prop.provision.spokeSitename' value='`$prop.provision.siteIds[$providx].spokeSiteName`' />
\r
600 <parameter name='prop.provision.hubspokesite[0]' value='`$prop.provision.siteIds[$providx].hubSiteId`' />
\r
601 <parameter name='prop.provision.hubspokesite[1]' value='`$prop.provision.siteIds[$providx].spokeSiteId`' />
\r
602 <parameter name='prop.provision.hubspokesite_length' value='2' />
\r
604 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
605 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-site-provision.json'`" />
\r
606 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/provision-urls'`" />
\r
607 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
\r
608 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
\r
609 <parameter name="format" value="json"/>
\r
610 <parameter name="httpMethod" value="post"/>
\r
611 <parameter name="responsePrefix" value="provisionUrlRsp"/>
\r
612 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
\r
613 <parameter name="trustStorePassword" value="adminadmin"/>
\r
614 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
615 <parameter name="keyStorePassword" value="adminadmin"/>
\r
616 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
\r
617 <outcome value='failure'>
\r
618 <return status='failure'>
\r
619 <parameter name='ack-final' value='Y'/>
\r
620 <parameter name="error-code" value="500" />
\r
621 <parameter name="error-message" value="Error executing provision url rest api" />
\r
624 <outcome value='success'></outcome>
\r
626 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
627 <parameter name="file" value="`'/opt/opendaylight/current/data/log/' + 'HUB-' + $prop.provision.hubSitename + '-SPOKE-' + $prop.provision.spokeSitename + '-provisionUrl'`"/>
\r
628 <parameter name="field1" value="__TIMESTAMP__"/>
\r
629 <parameter name="field2" value='`$provisionUrlRsp`'/>
\r
633 <return status='success'>
\r
634 <parameter name="ack-final-indicator" value="Y" />
\r
635 <parameter name="error-code" value="200" />
\r
636 <parameter name="error-message" value="`$error-message`" />
\r