1 <?xml version="1.0" encoding="UTF-8"?>
2 <service-logic xmlns="http://www.onap.org/sdnc/svclogic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="GENERIC-RESOURCE-API" version="${project.version}">
3 <method rpc="network-topology-operation-activate" mode="sync">
5 <call module="GENERIC-RESOURCE-API" rpc="validate-network-input-parameters" mode="sync" />
8 <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
10 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">
11 <outcome value="true">
13 <parameter name="prop.dci-connects.name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
17 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_id'`">
18 <outcome value="true">
20 <parameter name="prop.dci-connects.id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
24 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_description'`">
25 <outcome value="true">
27 <parameter name="prop.dci-connects.description" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
31 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_networkName'`">
32 <outcome value="true" />
34 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_routerId'`">
35 <outcome value="true">
37 <parameter name="prop.dci-connects.router_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
41 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_importRT1'`">
42 <outcome value="true">
45 <parameter name="tmp.dci-connects.evpn_irts.original" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
47 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
48 <parameter name="original_string" value="`$tmp.dci-connects.evpn_irts.original`" />
49 <parameter name="regex" value="," />
50 <parameter name="ctx_memory_result_key" value="tmp.dci-connects.evpn_irts" />
51 <outcome value="success">
52 <for index="idx" start="0" end="`$tmp.dci-connects.evpn_irts_length`">
54 <parameter name="prop.dci-connects.evpn_irts[$idx]" value="`$tmp.dci-connects.evpn_irts[$idx]`" />
58 <outcome value="failure">
59 <return status="failure">
60 <parameter name="error-code" value="" />
61 <parameter name="error-message" value="An error occured while splitting sna1_route" />
68 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_exportRT1'`">
69 <outcome value="true">
72 <parameter name="tmp.dci-connects.evpn_erts.original" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
74 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
75 <parameter name="original_string" value="`$tmp.dci-connects.evpn_erts.original`" />
76 <parameter name="regex" value="," />
77 <parameter name="ctx_memory_result_key" value="tmp.dci-connects.evpn_erts" />
78 <outcome value="success">
79 <for index="idx" start="0" end="`$tmp.dci-connects.evpn_erts_length`">
81 <parameter name="prop.dci-connects.evpn_erts[$idx]" value="`$tmp.dci-connects.evpn_erts[$idx]`" />
85 <outcome value="failure">
86 <return status="failure">
87 <parameter name="error-code" value="" />
88 <parameter name="error-message" value="An error occured while splitting sna1_route" />
95 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_vni'`">
96 <outcome value="true">
98 <parameter name="prop.dci-connects.vni" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
102 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'tunnelType'`">
103 <outcome value="true">
105 <parameter name="prop.dci-connects.tunnelType" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
111 <block atomic="true">
112 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.dci-connects.id AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
113 <outcome value="success">
114 <block atomic="true" />
116 <outcome value="not-found">
117 <return status="failure">
118 <parameter name="error-code" value="" />
119 <parameter name="error-message" value="" />
122 <outcome value="Other">
123 <return status="failure">
124 <parameter name="error-code" value="" />
125 <parameter name="error-message" value="" />
130 <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />
131 <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />
132 <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />
133 <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />
135 <switch test="`$prop.dci-connects.tunnelType`">
136 <outcome value="L3-DCI">
137 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
138 <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3-dci-connects-template.json'" />
139 <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l3-dci-connects'" />
140 <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
141 <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
142 <parameter name="format" value="json" />
143 <parameter name="httpMethod" value="post" />
144 <parameter name="responsePrefix" value="restapi-result" />
147 <outcome value="L2-DCI">
148 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
149 <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l2-dci-connects-template.json'" />
150 <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l2-dci-connects'" />
151 <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
152 <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
153 <parameter name="format" value="json" />
154 <parameter name="httpMethod" value="post" />
155 <parameter name="responsePrefix" value="restapi-result" />
161 <block atomic="true">
162 <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
164 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_id'`">
165 <outcome value="true">
167 <parameter name="prop.dci-connects.id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
171 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_description'`">
172 <outcome value="true">
174 <parameter name="prop.dci-connects.description" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
177 <outcome value="false">
179 <parameter name="prop.dci-connects.description" value="" />
183 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_networkName'`">
184 <outcome value="true" />
186 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_routerId'`">
187 <outcome value="true">
189 <parameter name="prop.dci-connects.router_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
193 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_importRT1'`">
194 <outcome value="true">
195 <block atomic="true">
197 <parameter name="tmp.dci-connects.evpn_irts.original" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
199 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
200 <parameter name="original_string" value="`$tmp.dci-connects.evpn_irts.original`" />
201 <parameter name="regex" value="," />
202 <parameter name="ctx_memory_result_key" value="tmp.dci-connects.evpn_irts" />
203 <outcome value="success">
204 <for index="idx" start="0" end="`$tmp.dci-connects.evpn_irts_length`">
206 <parameter name="prop.dci-connects.evpn_irts[$idx]" value="`$tmp.dci-connects.evpn_irts[$idx]`" />
210 <outcome value="failure">
211 <return status="failure">
212 <parameter name="error-code" value="" />
213 <parameter name="error-message" value="An error occured while splitting sna1_route" />
220 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_exportRT1'`">
221 <outcome value="true">
222 <block atomic="true">
224 <parameter name="tmp.dci-connects.evpn_erts.original" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
226 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
227 <parameter name="original_string" value="`$tmp.dci-connects.evpn_erts.original`" />
228 <parameter name="regex" value="," />
229 <parameter name="ctx_memory_result_key" value="tmp.dci-connects.evpn_erts" />
230 <outcome value="success">
231 <for index="idx" start="0" end="`$tmp.dci-connects.evpn_erts_length`">
233 <parameter name="prop.dci-connects.evpn_erts[$idx]" value="`$tmp.dci-connects.evpn_erts[$idx]`" />
237 <outcome value="failure">
238 <return status="failure">
239 <parameter name="error-code" value="" />
240 <parameter name="error-message" value="An error occured while splitting sna1_route" />
247 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_vni'`">
248 <outcome value="true">
250 <parameter name="prop.dci-connects.vni" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
256 <block atomic="true">
257 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.dci-connects.id AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
258 <outcome value="success">
259 <block atomic="true" />
261 <outcome value="not-found">
262 <return status="failure">
263 <parameter name="error-code" value="" />
264 <parameter name="error-message" value="" />
267 <outcome value="Other">
268 <return status="failure">
269 <parameter name="error-code" value="" />
270 <parameter name="error-message" value="" />
275 <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />
276 <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />
277 <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />
278 <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />
280 <switch test="`$prop.dci-connects.tunnelType`">
281 <outcome value="L3-DCI">
282 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
283 <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3-dci-connects-template.json'" />
284 <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l3-dci-connects'" />
285 <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
286 <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
287 <parameter name="format" value="json" />
288 <parameter name="httpMethod" value="post" />
289 <parameter name="responsePrefix" value="restapi-result" />
292 <outcome value="L2-DCI">
293 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
294 <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l2-dci-connects-template.json'" />
295 <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l2-dci-connects'" />
296 <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
297 <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
298 <parameter name="format" value="json" />
299 <parameter name="httpMethod" value="post" />
300 <parameter name="responsePrefix" value="restapi-result" />
307 <return status="success">
308 <parameter name="ack-final-indicator" value="Y" />
309 <parameter name="error-code" value="200" />
310 <parameter name="error-message" value="`$error-message`" />