1 <?xml version="1.0" encoding="utf-8"?>
3 <service-logic xmlns="http://www.onap.org/sdnc/svclogic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="GENERIC-RESOURCE-API" version="${project.version}">
4 <method rpc="wan-connection-topology-operation-activate" mode="sync">
5 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
6 <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
7 <parameter name="target" value="specification"/>
9 <return status="success">
10 <parameter name="ack-final-indicator" value="Y"/>
11 <parameter name="error-code" value="200"/>
12 <parameter name="error-message" value="`$error-message`"/>
15 <outcome value="false">
18 <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties">
19 <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/>
20 <parameter name="contextPrefix" value="prop"/>
23 <parameter name="tmp.found-network-input" value="false"/>
25 <for index="pidx" start="0" end="`$service-data.networks.network_length`">
26 <switch test="`$service-data.networks.network[$pidx].network-data.network-information.onap-model-information.model-name == $network-topology-operation-input.network-information.onap-model-information.model-name`">
27 <outcome value="true">
29 <parameter name="tmp.pidx" value="`$pidx`"/>
30 <parameter name="tmp.network." value="`$service-data.networks.network[$pidx].`"/>
31 <parameter name="tmp.network-input-parameters" value="`$service-data.networks.network[$pidx].network-data.network-request-input.network-input-parameters`"/>
32 <parameter name="tmp.found-network-input" value="true"/>
38 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
39 <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
40 <parameter name="target" value="FC"/>
41 <outcome value="true">
42 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
43 <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
44 <parameter name="target" value="sotn"/>
45 <outcome value="true">
49 <parameter name="sotnFcPortListLength" value="0"/>
51 <for index="sIdx" start="0" end="`$service-data.networks.network_length`">
52 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
53 <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`"/>
54 <parameter name="target" value="sotn"/>
55 <outcome value="true">
56 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
57 <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`"/>
58 <parameter name="target" value="FcPort"/>
59 <outcome value="true">
62 <parameter name="tmp.sotnFcPortList[`$sotnFcPortListLength`]" value="`$sIdx`"/>
64 <for index="paramIdx" start="0" end="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`">
65 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
66 <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].name`"/>
67 <parameter name="target" value="address"/>
68 <outcome value="true">
71 <parameter name="sotnFcPortAddress" value="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].value`"/>
73 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
74 <parameter name="restapiUrl" value="`$prop.oss.url + '/oss/inventory?location=' + $sotnFcPortAddress`"/>
75 <parameter name="format" value="json"/>
76 <parameter name="customHttpHeaders" value="X-FromAppId=MSO"/>
77 <parameter name="httpMethod" value="GET"/>
78 <parameter name="responsePrefix" value="temp.oss.accessTPs"/>
79 <outcome value="success">
80 <switch test="`$temp.oss.accessTPs_length`">
81 <outcome value="Other">
83 <switch test="`$temp.accessTPs_length`">
86 <parameter name="tp_length" value="0"/>
89 <outcome value="Other">
91 <parameter name="tp_length" value="`$temp.accessTPs_length`"/>
95 <for index="idx" start="0" end="`$temp.oss.accessTPs_length`">
97 <parameter name="`temp.accessTPs[$idx + $tp_length].`" value="`$temp.oss.accessTPs[$idx].`"/>
101 <parameter name="temp.accessTPs_length" value="`$temp.accessTPs_length + $temp.oss.accessTPs_length`"/>
119 <switch test="`$temp.accessTPs_length >= 2`">
120 <outcome value="true">
121 <block atomic="true">
123 <parameter name="prop.connection-attachment.access-topology-id" value="`$temp.accessTPs[0].access-topology-id`"/>
124 <parameter name="prop.connection-attachment.access-client-id" value="`$temp.accessTPs[0].access-client-id`"/>
125 <parameter name="prop.connection-attachment.access-provider-id" value="`$temp.accessTPs[0].access-provider-id`"/>
126 <parameter name="prop.connection-attachment.access-node-id" value="`$temp.accessTPs[0].access-node-id`"/>
127 <parameter name="prop.connection-attachment.access-ltp-id" value="`$temp.accessTPs[0].access-ltp-id`"/>
128 <parameter name="prop.remote.connection-attachment.access-topology-id" value="`$temp.accessTPs[1].access-topology-id`"/>
129 <parameter name="prop.remote.connection-attachment.access-client-id" value="`$temp.accessTPs[1].access-client-id`"/>
130 <parameter name="prop.remote.connection-attachment.access-provider-id" value="`$temp.accessTPs[1].access-provider-id`"/>
131 <parameter name="prop.remote.connection-attachment.access-node-id" value="`$temp.accessTPs[1].access-node-id`"/>
132 <parameter name="prop.remote.connection-attachment.access-ltp-id" value="`$temp.accessTPs[1].access-ltp-id`"/>
134 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
135 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`"/>
136 <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url`"/>
137 <parameter name="restapiUser" value="`$prop.oof.user`"/>
138 <parameter name="restapiPassword" value="`$prop.oof.password`"/>
139 <parameter name="format" value="json"/>
140 <parameter name="httpMethod" value="post"/>
141 <parameter name="responsePrefix" value="oof"/>
142 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
143 <parameter name="trustStorePassword" value="adminadmin"/>
144 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
145 <parameter name="keyStorePassword" value="adminadmin"/>
146 <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>
147 <outcome value="failure"></outcome>
148 <outcome value="success">
149 <for index="vidx" start="0" end="`$oof.vpns_length`">
150 <block atomic="true">
152 <parameter name="oof.vpn." value="`$oof.vpns[$vidx].`"/>
154 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $oof.vpn.access-node-id AND depth = '0'" pfx="tmp.aai.pnf" local-only="false">
155 <outcome value="success">
157 <parameter name="tmp.thirdparty-sdnc-id" value="`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`"/>
160 <outcome value="not-found">
161 <return status="failure">
162 <parameter name="ack-final" value="Y"/>
163 <parameter name="error-code" value="500"/>
164 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
167 <outcome value="Other">
168 <return status="failure">
169 <parameter name="ack-final" value="Y"/>
170 <parameter name="error-code" value="500"/>
171 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
175 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
176 <outcome value="success">
178 <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/>
179 <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/>
180 <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/>
183 <outcome value="not-found">
184 <return status="failure">
185 <parameter name="ack-final" value="Y"/>
186 <parameter name="error-code" value="500"/>
187 <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/>
190 <outcome value="Other">
191 <return status="failure">
192 <parameter name="ack-final" value="Y"/>
193 <parameter name="error-code" value="500"/>
194 <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/>
198 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
199 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-api-ConnectivityService.json'`"/>
200 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ZTE-API-ConnectivityService:create-connectivity-service'`"/>
201 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>
202 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>
203 <parameter name="format" value="json"/>
204 <parameter name="httpMethod" value="patch"/>
205 <parameter name="responsePrefix" value="vpn-result"/>
206 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
207 <parameter name="trustStorePassword" value="adminadmin"/>
208 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
209 <parameter name="keyStorePassword" value="adminadmin"/>
210 <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>
211 <outcome value="failure">
212 <return status="failure">
213 <parameter name="ack-final" value="Y"/>
214 <parameter name="error-code" value="500"/>
215 <parameter name="error-message" value="Error executing Create vpn rest api"/>
218 <outcome value="success">
219 <block atomic="true"/>
231 <outcome value="false">
232 <block atomic="true">
233 <switch test="`$found-network-input`">
234 <outcome value="false">
235 <return status="failure">
236 <parameter name="ack-final" value="Y"/>
237 <parameter name="error-code" value="404"/>
238 <parameter name="error-message" value="Error: Network input parameters not found"/>
241 <outcome value="true">
242 <block atomic="true">
244 <parameter name="tmp.restapiUrl-found" value="false"/>
245 <parameter name="tmp.restapiUser-found" value="false"/>
246 <parameter name="tmp.restapiPassword-found" value="false"/>
247 <parameter name="tmp.templateFileName-found" value="false"/>
248 <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/>
250 <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`">
252 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`">
253 <outcome value="true">
254 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
255 <outcome value="success">
257 <parameter name="prop.thirdpartySdnc-found" value="true"/>
258 <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/>
259 <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/>
260 <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/>
263 <outcome value="not-found">
265 <parameter name="prop.thirdpartySdnc-found" value="false"/>
268 <outcome value="Other">
270 <parameter name="prop.thirdpartySdnc-found" value="false"/>
276 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`">
277 <outcome value="true">
279 <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>
280 <parameter name="tmp.templateFileName-found" value="true"/>
284 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`">
285 <outcome value="true">
287 <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>
288 <parameter name="tmp.restapiUrl-found" value="true"/>
292 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`">
293 <outcome value="true">
295 <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>
296 <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/>
302 <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`">
303 <outcome value="true">
304 <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync">
305 <outcome value="success">
308 <outcome value="failure">
309 <return status="failure">
310 <parameter name="ack-final" value="Y"/>
311 <parameter name="error-code" value="500"/>
312 <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/>
315 <outcome value="not-found">
316 <return status="failure">
317 <parameter name="ack-final" value="Y"/>
318 <parameter name="error-code" value="500"/>
319 <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/>
324 <outcome value="false">
325 <switch test="`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`">
326 <outcome value="false">
327 <return status="failure">
328 <parameter name="ack-final" value="Y"/>
329 <parameter name="error-code" value="404"/>
330 <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/>
333 <outcome value="true">
334 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
335 <parameter name="templateFileName" value="`$tmp.templateFileName`"/>
336 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`"/>
337 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>
338 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>
339 <parameter name="format" value="json"/>
340 <parameter name="httpMethod" value="post"/>
341 <parameter name="responsePrefix" value="restApi-result"/>
342 <outcome value="success">
345 <outcome value="failure">
346 <return status="failure">
347 <parameter name="ack-final" value="Y"/>
348 <parameter name="error-code" value="500"/>
349 <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/>
352 <outcome value="not-found">
353 <return status="failure">
354 <parameter name="ack-final" value="Y"/>
355 <parameter name="error-code" value="500"/>
356 <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/>
367 <return status="success">
368 <parameter name="ack-final-indicator" value="Y"/>
369 <parameter name="error-code" value="200"/>
370 <parameter name="error-message" value="`$error-message`"/>
376 <outcome value="false">
377 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
378 <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
379 <parameter name="target" value="FD"/>
380 <outcome value="true">
381 <block atomic="true">
382 <switch test="`$found-network-input`">
383 <outcome value="false">
384 <return status="failure">
385 <parameter name="ack-final" value="Y"/>
386 <parameter name="error-code" value="404"/>
387 <parameter name="error-message" value="Error: Network input parameters not found"/>
390 <outcome value="true">
391 <block atomic="true">
393 <parameter name="tmp.restapiUrl-found" value="false"/>
394 <parameter name="tmp.restapiUser-found" value="false"/>
395 <parameter name="tmp.restapiPassword-found" value="false"/>
396 <parameter name="tmp.templateFileName-found" value="false"/>
397 <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/>
399 <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`">
401 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`">
402 <outcome value="true">
403 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
404 <outcome value="success">
406 <parameter name="prop.thirdpartySdnc-found" value="true"/>
407 <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/>
408 <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/>
409 <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/>
412 <outcome value="not-found">
414 <parameter name="prop.thirdpartySdnc-found" value="false"/>
417 <outcome value="Other">
419 <parameter name="prop.thirdpartySdnc-found" value="false"/>
425 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`">
426 <outcome value="true">
428 <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>
429 <parameter name="tmp.templateFileName-found" value="true"/>
433 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`">
434 <outcome value="true">
436 <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>
437 <parameter name="tmp.restapiUrl-found" value="true"/>
441 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`">
442 <outcome value="true">
444 <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>
445 <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/>
451 <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`">
452 <outcome value="true">
453 <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync">
454 <outcome value="success">
457 <outcome value="failure">
458 <return status="failure">
459 <parameter name="ack-final" value="Y"/>
460 <parameter name="error-code" value="500"/>
461 <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/>
464 <outcome value="not-found">
465 <return status="failure">
466 <parameter name="ack-final" value="Y"/>
467 <parameter name="error-code" value="500"/>
468 <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/>
473 <outcome value="false">
474 <switch test="`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`">
475 <outcome value="false">
476 <return status="failure">
477 <parameter name="ack-final" value="Y"/>
478 <parameter name="error-code" value="404"/>
479 <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/>
482 <outcome value="true">
483 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
484 <parameter name="templateFileName" value="`$tmp.templateFileName`"/>
485 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`"/>
486 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>
487 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>
488 <parameter name="format" value="json"/>
489 <parameter name="httpMethod" value="post"/>
490 <parameter name="responsePrefix" value="restApi-result"/>
491 <outcome value="success">
494 <outcome value="failure">
495 <return status="failure">
496 <parameter name="ack-final" value="Y"/>
497 <parameter name="error-code" value="500"/>
498 <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/>
501 <outcome value="not-found">
502 <return status="failure">
503 <parameter name="ack-final" value="Y"/>
504 <parameter name="error-code" value="500"/>
505 <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/>
516 <return status="success">
517 <parameter name="ack-final-indicator" value="Y"/>
518 <parameter name="error-code" value="200"/>
519 <parameter name="error-message" value="`$error-message`"/>
523 <outcome value="false">
524 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
525 <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
526 <parameter name="target" value="FcPort"/>
527 <outcome value="true">
528 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
529 <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
530 <parameter name="target" value="sitewan"/>
531 <outcome value="true">
532 <block atomic="true">
533 <switch test="`$found-network-input`">
534 <outcome value="false">
535 <return status="failure">
536 <parameter name="ack-final" value="Y"/>
537 <parameter name="error-code" value="404"/>
538 <parameter name="error-message" value="Error: Network input parameters not found"/>
541 <outcome value="true">
542 <block atomic="true">
544 <parameter name="tmp.restapiUrl-found" value="false"/>
545 <parameter name="tmp.restapiUser-found" value="false"/>
546 <parameter name="tmp.restapiPassword-found" value="false"/>
547 <parameter name="tmp.templateFileName-found" value="false"/>
548 <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/>
550 <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`">
552 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`">
553 <outcome value="true">
554 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
555 <outcome value="success">
557 <parameter name="prop.thirdpartySdnc-found" value="true"/>
558 <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/>
559 <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/>
560 <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/>
563 <outcome value="not-found">
565 <parameter name="prop.thirdpartySdnc-found" value="false"/>
568 <outcome value="Other">
570 <parameter name="prop.thirdpartySdnc-found" value="false"/>
576 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`">
577 <outcome value="true">
579 <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>
580 <parameter name="tmp.templateFileName-found" value="true"/>
584 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`">
585 <outcome value="true">
587 <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>
588 <parameter name="tmp.restapiUrl-found" value="true"/>
592 <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`">
593 <outcome value="true">
595 <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>
596 <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/>
602 <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`">
603 <outcome value="true">
604 <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync">
605 <outcome value="success">
608 <outcome value="failure">
609 <return status="failure">
610 <parameter name="ack-final" value="Y"/>
611 <parameter name="error-code" value="500"/>
612 <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/>
615 <outcome value="not-found">
616 <return status="failure">
617 <parameter name="ack-final" value="Y"/>
618 <parameter name="error-code" value="500"/>
619 <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/>
624 <outcome value="false">
625 <switch test="`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`">
626 <outcome value="false">
627 <return status="failure">
628 <parameter name="ack-final" value="Y"/>
629 <parameter name="error-code" value="404"/>
630 <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/>
633 <outcome value="true">
634 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
635 <parameter name="templateFileName" value="`$tmp.templateFileName`"/>
636 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`"/>
637 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>
638 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>
639 <parameter name="format" value="json"/>
640 <parameter name="httpMethod" value="post"/>
641 <parameter name="responsePrefix" value="restApi-result"/>
642 <outcome value="success">
645 <outcome value="failure">
646 <return status="failure">
647 <parameter name="ack-final" value="Y"/>
648 <parameter name="error-code" value="500"/>
649 <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/>
652 <outcome value="not-found">
653 <return status="failure">
654 <parameter name="ack-final" value="Y"/>
655 <parameter name="error-code" value="500"/>
656 <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/>
667 <return status="success">
668 <parameter name="ack-final-indicator" value="Y"/>
669 <parameter name="error-code" value="200"/>
670 <parameter name="error-message" value="`$error-message`"/>
674 <outcome value="false">
676 <return status="success">
677 <parameter name="ack-final-indicator" value="Y"/>
678 <parameter name="error-code" value="200"/>
679 <parameter name="error-message" value="`$error-message`"/>
685 <outcome value="false">
687 <return status="success">
688 <parameter name="ack-final-indicator" value="Y"/>
689 <parameter name="error-code" value="200"/>
690 <parameter name="error-message" value="`$error-message`"/>