2 xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4 <method rpc='cll-vnf-topology-operation-cll-F1' mode='sync'>
7 <parameter name='prop.ethsrvType' value='`$network-route-A`' />
9 <call module='GENERIC-RESOURCE-API' rpc='tsli-vnf-topology-operation-get-otn-tunnel-path-from-oof' mode='sync' ></call>
10 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
11 <parameter name="filename" value="`$filenamemm`" />
13 <call module='GENERIC-RESOURCE-API' rpc='cll-vnf-topology-operation-find-maximum-used-tpn' mode='sync' ></call>
15 <!--<parameter name='tmp.srcTtpOtnLayer' value="`$tmp.pce-src-node + '-' + -->
16 <!-- $param-prefix-domainA[$param-prefix-domainA_length -2] + '-' +-->
17 <!-- $tmp.source.ttp-id`" />-->
18 <parameter name='tmp.srcTtpOtnLayer' value="`$tmp.pce-src-node`" />
20 <for index='otnidx' start='0' end='`$tmp.otninfo_length`' >
22 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
23 <parameter name="ctx-destination" value="prop.vpn-binding-otnidx-uuid"/>
25 <switch test="`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id == ''`">
26 <outcome value='true'>
28 <parameter name='tmp.access-provider-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-provider-id`' />
29 <parameter name='tmp.access-client-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-client-id`' />
30 <parameter name='tmp.access-topology-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-topology-id`' />
31 <parameter name='tmp.srcdstpnf-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />
34 <outcome value='false'>
36 <parameter name='tmp.access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />
37 <parameter name='tmp.access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />
38 <parameter name='tmp.access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />
39 <parameter name='tmp.srcdstpnf-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-node-id`' />
44 <parameter name='tmp.srcdstpnf-name' value="`'networkId-providerId-' +
45 $tmp.access-provider-id + '-clientId-' +
46 $tmp.access-client-id + '-topologyId-' +
47 $tmp.access-topology-id + '-nodeId-' +
48 $tmp.srcdstpnf-id`" />
50 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
52 key="pnf.pnf-name = $tmp.srcdstpnf-name"
53 pfx='tmp.aai.srcdst-pnf' local-only='false' >
54 <!--AND depth = '0'"-->
55 <outcome value='success'>
57 <for silentFailure='true' index='spvidx' start='0' end='`$tmp.aai.srcdst-pnf.relationship-list.relationship_length`' >
58 <switch test='`$tmp.aai.srcdst-pnf.relationship-list.relationship[$spvidx].related-to`'>
59 <outcome value='esr-thirdparty-sdnc'>
62 <parameter name='tmp.domainG.esr-thirdparty-id' value="`$tmp.aai.srcdst-pnf.relationship-list.relationship[$spvidx].relationship-data[0].relationship-value`" />
64 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
65 resource="esr-thirdparty-sdnc"
66 key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.domainG.esr-thirdparty-id AND
68 pfx='tmp.aai.domainG.esr-thirdparty-sdnc' local-only='false' >
69 <outcome value='success'>
72 <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.url' value="`$tmp.aai.domainG.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
73 <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.user' value="`$tmp.aai.domainG.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
74 <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.password' value="`$tmp.aai.domainG.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
75 <!--<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >-->
76 <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />-->
77 <!--<parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />-->
78 <!--<parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />-->
79 <!--<parameter name="format" value="json"/>-->
80 <!--<parameter name="httpMethod" value="get"/>-->
81 <!--<parameter name="responsePrefix" value="topology"/>-->
82 <!--<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>-->
83 <!--<parameter name="trustStorePassword" value="adminadmin"/>-->
84 <!--<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>-->
85 <!--<parameter name="keyStorePassword" value="adminadmin"/>-->
89 <outcome value='not-found'>
90 <return status='failure'>
91 <parameter name='ack-final' value='Y'/>
92 <parameter name="error-code" value="500" />
93 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
96 <outcome value='Other'>
97 <return status='failure'>
98 <parameter name='ack-final' value='Y'/>
99 <parameter name="error-code" value="500" />
100 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
110 <outcome value='not-found'>
111 <return status='failure'>
112 <parameter name='ack-final' value='Y'/>
113 <parameter name="error-code" value="500" />
114 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
117 <outcome value='Other'>
118 <return status='failure'>
119 <parameter name='ack-final' value='Y'/>
120 <parameter name="error-code" value="500" />
121 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
125 <switch test='`$otnidx == 0`'>
126 <outcome value='true'>
129 <parameter name='tmp.domainG-src-access-node-id' value='`$param-prefix-domainA[$param-prefix-domainA_length -3]`' />
130 <parameter name='tmp.domainG-dst-access-node-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-node-id`' />
134 <outcome value='false'>
135 <switch test='`$otnidx == $tmp.otninfo_length - 1`'>
136 <outcome value='true'>
139 <parameter name='tmp.domainG-src-access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />
140 <parameter name='tmp.domainG-dst-access-node-id' value='`$param-prefix-domainB[$param-prefix-domainB_length -3]`' />
144 <outcome value='false'>
146 <parameter name='tmp.domainG-src-access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />
147 <parameter name='tmp.domainG-dst-access-node-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-node-id`' />
154 <parameter name='tmp.srcTtpdstTtpPair' value="`$tmp.otninfo[$otnidx].srcPort.src-tunnel-tp-id + ',' +
155 $tmp.otninfo[$otnidx].dstPort.dst-tunnel-tp-id`" />
158 <parameter name='tmp.current-provider-id' value='`$tmp.access-provider-id`' />
159 <parameter name='tmp.current-cvlan-id' value='`$tmp.aai.network-route-A.logical-interface-id`' />
161 <call module='GENERIC-RESOURCE-API' rpc='cll-vnf-topology-operation-cll-helper-find-connectivity' mode='sync' ></call>
163 <parameter name='prop.ethernet-service-name' value='`$middle-man-conn.etht-svc-name`' />
165 <switch test="`$found-connectivity`">
166 <outcome value='false'>
168 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding'
169 key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid' >
170 <parameter name='vpn-id' value='`$prop.vpn-binding-otnidx-uuid`' />
171 <parameter name='vpn-name' value='`$prop.otn-tunnel-name`' />
172 <!--<parameter name='customer-vpn-id' value='`($idx + 1) * 10`' />-->
173 <!--<parameter name='customer-vpn-id' value='`($maxtpn + $gfp)`' />-->
174 <parameter name='customer-vpn-id' value='`$newToBeUsedMaxtpn`' />
175 <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
176 <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
177 <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
178 <parameter name='access-client-id' value='`$tmp.access-client-id`' />
179 <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
180 <parameter name='access-topology-id' value='`$tmp.access-topology-id`' />
181 <!--<parameter name='src-access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />-->
182 <parameter name='src-access-node-id' value='`$tmp.domainG-src-access-node-id`' />
183 <parameter name='src-access-ltp-id' value='`$tmp.otninfo[$otnidx].srcPort.src-tunnel-tp-id`' />
184 <!--<parameter name='dst-access-node-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-node-id`' />-->
185 <parameter name='dst-access-node-id' value='`$tmp.domainG-dst-access-node-id`' />
186 <parameter name='dst-access-ltp-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-tunnel-tp-id`' />
187 <parameter name='route-distinguisher' value='`$gfp`' />
188 <parameter name='operational-status' value='Created' />
189 <parameter name='model-customization-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-customization-uuid`' />
190 <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-invariant-uuid`' />
191 <parameter name='model-version-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-uuid`' />
192 <parameter name='vpn-region' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.url`' />
193 <parameter name='vpn-description' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.user`' />
194 <parameter name='vpn-platform' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.password`' />
195 <!-- The following line is in lieu of vpn-binding.slice-id (new attribute in latest AAI) -->
196 <!--<parameter name='ops-note' value='`$tmp.aai.service-instance.service-instance-id`' />-->
197 <parameter name='slice-id' value='`$tmp.aai.service-instance.service-instance-id`' />
198 <parameter name='ops-note' value='`$tmp.srcTtpOtnLayer`' />
199 <outcome value='success'>
203 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
204 <parameter name="ctx-destination" value="uuid.connectivity-otnidx-uuid"/>
206 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity'
207 key='connectivity.connectivity-id = $uuid.connectivity-otnidx-uuid'>
208 <parameter name='connectivity-id' value='`$uuid.connectivity-otnidx-uuid`' />
209 <!--<parameter name='etht-svc-name' value='`$prop.ethernet-service-name`' />-->
210 <parameter name='operational-status' value='Created' />
211 <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
212 <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
213 <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
214 <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
215 <!--<parameter name='access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />-->
216 <!--<parameter name='access-ltp-id' value='``' />-->
217 <parameter name='cvlan' value='`$tmp.aai.network-route-A.logical-interface-id`' />
218 <parameter name='coupling-flag' value='`$srcTtpdstTtpPair`' />
219 <!--<parameter name='bandwidth-profile-name' value='`$prop.sotn.etht-svc-name`' />-->
220 <parameter name='bandwidth-profile-name' value='`$gfp`' />
221 <parameter name='vpn-type' value='dummy' />
222 <parameter name='cir' value='`$gfp *1000000`' />
223 <parameter name='eir' value='`$gfp *1000000`' />
224 <!--<parameter name='cbs' value='`$prop.sotn.cbs`' />-->
225 <!--<parameter name='ebs' value='`$prop.sotn.ebs`' />-->
226 <!--<parameter name='color-aware' value='`$prop.sotn.colorAware`' />-->
227 <!--<parameter name='etht-svc-name' value='`$prop.sotn.etht-svc-name`' />-->
228 <parameter name='model-customization-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-customization-uuid`' />
229 <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-invariant-uuid`' />
230 <parameter name='model-version-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-uuid`' />
231 <parameter name='connectivity-selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $network-topology-operation-input.service-information.service-instance-id + '/service-data/networks/network/' + $prop.sotn.network-id + '/network-data/'` " />
233 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity:relationship-list'
234 key='connectivity.connectivity-id = $middle-man-conn.connectivity-id'
235 force="true" pfx="tmp.AnAI-data">
236 <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
237 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $uuid.connectivity-otnidx-uuid`" />
238 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
239 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$uuid.connectivity-otnidx-uuid`" />
241 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list'
242 key='service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id
243 AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
244 AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type'
245 force="true" pfx="tmp.AnAI-data">
246 <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
247 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $uuid.connectivity-otnidx-uuid`" />
248 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
249 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$uuid.connectivity-otnidx-uuid`" />
250 <!--<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' -->
251 <!-- key='service-instance.service-instance-id = $service-data.service-information.service-instance-id -->
252 <!-- AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id -->
253 <!-- AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type' -->
254 <!-- force="true" pfx="tmp.AnAI-data">-->
255 <!--<parameter name="relationship-list.relationship[0].related-to" value="connectivity" />-->
256 <!--<parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $prop.sotn.network-id`" />-->
257 <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />-->
258 <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sotn.network-id`" />-->
260 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list'
261 key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid'
262 force="true" pfx="tmp.AnAI-data">
263 <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
264 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $uuid.connectivity-otnidx-uuid`" />
265 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
266 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$uuid.connectivity-otnidx-uuid`" />
270 <outcome value='true'>
271 <block atomic='true'>
272 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding'
273 key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid' >
274 <parameter name='vpn-id' value='`$prop.vpn-binding-otnidx-uuid`' />
275 <parameter name='vpn-name' value='`$prop.otn-tunnel-name`' />
276 <!--<parameter name='customer-vpn-id' value='`($idx + 1) * 10`' />-->
277 <!--<parameter name='customer-vpn-id' value='`($maxtpn + $gfp)`' />-->
278 <parameter name='customer-vpn-id' value='`$newToBeUsedMaxtpn`' />
279 <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
280 <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
281 <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
282 <parameter name='access-client-id' value='`$tmp.access-client-id`' />
283 <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
284 <parameter name='access-topology-id' value='`$tmp.access-topology-id`' />
285 <!--<parameter name='src-access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />-->
286 <parameter name='src-access-node-id' value='`$tmp.domainG-src-access-node-id`' />
287 <parameter name='src-access-ltp-id' value='`$tmp.otninfo[$otnidx].srcPort.src-tunnel-tp-id`' />
288 <!--<parameter name='dst-access-node-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-node-id`' />-->
289 <parameter name='dst-access-node-id' value='`$tmp.domainG-dst-access-node-id`' />
290 <parameter name='dst-access-ltp-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-tunnel-tp-id`' />
291 <parameter name='route-distinguisher' value='`$gfp`' />
292 <parameter name='operational-status' value='Created' />
293 <parameter name='model-customization-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-customization-uuid`' />
294 <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-invariant-uuid`' />
295 <parameter name='model-version-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-uuid`' />
296 <parameter name='vpn-region' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.url`' />
297 <parameter name='vpn-description' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.user`' />
298 <parameter name='vpn-platform' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.password`' />
299 <!-- The following line is in lieu of vpn-binding.slice-id (new attribute in latest AAI) -->
300 <!--<parameter name='ops-note' value='`$tmp.aai.service-instance.service-instance-id`' />-->
301 <parameter name='slice-id' value='`$tmp.aai.service-instance.service-instance-id`' />
302 <parameter name='ops-note' value='`$tmp.srcTtpOtnLayer`' />
303 <outcome value='success'>
308 <parameter name='tmp.newFlag' value="`$tmp.the-connectivity.coupling-flag + '-' +
309 $tmp.srcTtpdstTtpPair`" />
311 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity'
312 key='connectivity.connectivity-id = $tmp.the-connectivity.connectivity-id'>
313 <parameter name='connectivity-id' value='`$tmp.the-connectivity.connectivity-id`' />
314 <parameter name='etht-svc-name' value='`$prop.ethernet-service-name`' />
315 <parameter name='operational-status' value='Modified' />
316 <parameter name='coupling-flag' value='`$tmp.newFlag`' />
318 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list'
319 key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid'
320 force="true" pfx="tmp.AnAI-data">
321 <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
322 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $tmp.the-connectivity.connectivity-id`" />
323 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
324 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.the-connectivity.connectivity-id`" />
331 <switch test="`$tmp.otninfoProtect_length > 0`">
332 <outcome value='true'>
333 <block atomic='true'>
335 <parameter name='tmp.srcdstpnf-name' value='' />
336 <parameter name='prop.vpn-binding-otnidx-uuid' value='' />
337 <parameter name='tmp.access-provider-id' value='' />
338 <parameter name='tmp.access-client-id' value='' />
339 <parameter name='tmp.access-topology-id' value='' />
340 <parameter name='tmp.srcdstpnf-id' value='' />
341 <parameter name='tmp.aai.srcdst-pnf.' value='' />
342 <parameter name='tmp.domainG.esr-thirdparty-id' value='' />
343 <parameter name='tmp.aai.domainG.esr-thirdparty-sdnc.' value='' />
344 <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.url' value='' />
345 <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.user' value='' />
346 <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.password' value='' />
347 <parameter name='tmp.srcTtpdstTtpPair' value='' />
349 <for index='otnidx' start='0' end='`$tmp.otninfoProtect_length`' >
350 <block atomic='true'>
351 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
352 <parameter name="ctx-destination" value="prop.vpn-binding-otnidx-uuid"/>
354 <switch test="`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-provider-id == ''`">
355 <outcome value='true'>
357 <parameter name='tmp.access-provider-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-provider-id`' />
358 <parameter name='tmp.access-client-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-client-id`' />
359 <parameter name='tmp.access-topology-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-topology-id`' />
360 <parameter name='tmp.srcdstpnf-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-node-id`' />
363 <outcome value='false'>
365 <parameter name='tmp.access-provider-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-provider-id`' />
366 <parameter name='tmp.access-client-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-client-id`' />
367 <parameter name='tmp.access-topology-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-topology-id`' />
368 <parameter name='tmp.srcdstpnf-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-node-id`' />
373 <parameter name='tmp.srcdstpnf-name' value="`'networkId-providerId-' +
374 $tmp.access-provider-id + '-clientId-' +
375 $tmp.access-client-id + '-topologyId-' +
376 $tmp.access-topology-id + '-nodeId-' +
377 $tmp.srcdstpnf-id`" />
379 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
381 key="pnf.pnf-name = $tmp.srcdstpnf-name"
382 pfx='tmp.aai.srcdst-pnf' local-only='false' >
383 <!--AND depth = '0'"-->
384 <outcome value='success'>
386 <for silentFailure='true' index='spvidx' start='0' end='`$tmp.aai.srcdst-pnf.relationship-list.relationship_length`' >
387 <switch test='`$tmp.aai.srcdst-pnf.relationship-list.relationship[$spvidx].related-to`'>
388 <outcome value='esr-thirdparty-sdnc'>
389 <block atomic="true">
391 <parameter name='tmp.domainG.esr-thirdparty-id' value="`$tmp.aai.srcdst-pnf.relationship-list.relationship[$spvidx].relationship-data[0].relationship-value`" />
393 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
394 resource="esr-thirdparty-sdnc"
395 key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.domainG.esr-thirdparty-id AND
397 pfx='tmp.aai.domainG.esr-thirdparty-sdnc' local-only='false' >
398 <outcome value='success'>
401 <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.url' value="`$tmp.aai.domainG.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
402 <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.user' value="`$tmp.aai.domainG.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
403 <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.password' value="`$tmp.aai.domainG.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
404 <!--<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >-->
405 <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />-->
406 <!--<parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />-->
407 <!--<parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />-->
408 <!--<parameter name="format" value="json"/>-->
409 <!--<parameter name="httpMethod" value="get"/>-->
410 <!--<parameter name="responsePrefix" value="topology"/>-->
411 <!--<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>-->
412 <!--<parameter name="trustStorePassword" value="adminadmin"/>-->
413 <!--<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>-->
414 <!--<parameter name="keyStorePassword" value="adminadmin"/>-->
418 <outcome value='not-found'>
419 <return status='failure'>
420 <parameter name='ack-final' value='Y'/>
421 <parameter name="error-code" value="500" />
422 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
425 <outcome value='Other'>
426 <return status='failure'>
427 <parameter name='ack-final' value='Y'/>
428 <parameter name="error-code" value="500" />
429 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
439 <outcome value='not-found'>
440 <return status='failure'>
441 <parameter name='ack-final' value='Y'/>
442 <parameter name="error-code" value="500" />
443 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
446 <outcome value='Other'>
447 <return status='failure'>
448 <parameter name='ack-final' value='Y'/>
449 <parameter name="error-code" value="500" />
450 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
454 <switch test='`$otnidx == 0`'>
455 <outcome value='true'>
458 <parameter name='tmp.domainG-src-access-node-id' value='`$param-prefix-domainA[$param-prefix-domainA_length -3]`' />
459 <parameter name='tmp.domainG-dst-access-node-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-node-id`' />
463 <outcome value='false'>
464 <switch test='`$otnidx == $tmp.otninfoProtect_length - 1`'>
465 <outcome value='true'>
468 <parameter name='tmp.domainG-src-access-node-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-node-id`' />
469 <parameter name='tmp.domainG-dst-access-node-id' value='`$param-prefix-domainC[$param-prefix-domainC_length -3]`' />
473 <outcome value='false'>
475 <parameter name='tmp.domainG-src-access-node-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-node-id`' />
476 <parameter name='tmp.domainG-dst-access-node-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-node-id`' />
483 <parameter name='tmp.srcTtpdstTtpPair' value="`$tmp.otninfoProtect[$otnidx].srcPort.src-tunnel-tp-id + ',' +
484 $tmp.otninfootninfoProtect.dstPort.dst-tunnel-tp-id`" />
487 <parameter name='tmp.current-provider-id' value='`$tmp.access-provider-id`' />
488 <parameter name='tmp.current-cvlan-id' value='`$tmp.aai.network-route-A.logical-interface-id`' />
490 <call module='GENERIC-RESOURCE-API' rpc='cll-vnf-topology-operation-cll-helper-find-connectivity' mode='sync' ></call>
492 <parameter name='prop.ethernet-service-name' value='`$middle-man-conn.etht-svc-name`' />
494 <switch test="`$found-connectivity`">
495 <outcome value='false'>
497 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding'
498 key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid' >
499 <parameter name='vpn-id' value='`$prop.vpn-binding-otnidx-uuid`' />
500 <parameter name='vpn-name' value="`$prop.otn-tunnel-name + '-protection'`" />
501 <!--<parameter name='customer-vpn-id' value='`($idx + 1) * 10`' />-->
502 <!--<parameter name='customer-vpn-id' value='`($maxtpn + $gfp)`' />-->
503 <parameter name='customer-vpn-id' value='`$newToBeUsedMaxtpn`' />
504 <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
505 <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
506 <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
507 <parameter name='access-client-id' value='`$tmp.access-client-id`' />
508 <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
509 <parameter name='access-topology-id' value='`$tmp.access-topology-id`' />
510 <!--<parameter name='src-access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />-->
511 <parameter name='src-access-node-id' value='`$tmp.domainG-src-access-node-id`' />
512 <parameter name='src-access-ltp-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-tunnel-tp-id`' />
513 <!--<parameter name='dst-access-node-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-node-id`' />-->
514 <parameter name='dst-access-node-id' value='`$tmp.domainG-dst-access-node-id`' />
515 <parameter name='dst-access-ltp-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-tunnel-tp-id`' />
516 <parameter name='route-distinguisher' value='`$gfp`' />
517 <parameter name='operational-status' value='Created' />
518 <parameter name='model-customization-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-customization-uuid`' />
519 <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-invariant-uuid`' />
520 <parameter name='model-version-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-uuid`' />
521 <parameter name='vpn-region' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.url`' />
522 <parameter name='vpn-description' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.user`' />
523 <parameter name='vpn-platform' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.password`' />
524 <!-- The following line is in lieu of vpn-binding.slice-id (new attribute in latest AAI) -->
525 <!--<parameter name='ops-note' value='`$tmp.aai.service-instance.service-instance-id`' />-->
526 <parameter name='slice-id' value='`$tmp.aai.service-instance.service-instance-id`' />
527 <parameter name='ops-note' value='`$tmp.srcTtpOtnLayer`' />
528 <outcome value='success'>
532 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
533 <parameter name="ctx-destination" value="uuid.connectivity-otnidx-uuid"/>
535 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity'
536 key='connectivity.connectivity-id = $uuid.connectivity-otnidx-uuid'>
537 <parameter name='connectivity-id' value='`$uuid.connectivity-otnidx-uuid`' />
538 <!--<parameter name='etht-svc-name' value='`$prop.ethernet-service-name`' />-->
539 <parameter name='operational-status' value='Created' />
540 <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
541 <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
542 <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
543 <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
544 <!--<parameter name='access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />-->
545 <!--<parameter name='access-ltp-id' value='``' />-->
546 <parameter name='cvlan' value='`$tmp.aai.network-route-A.logical-interface-id`' />
547 <parameter name='coupling-flag' value='`$srcTtpdstTtpPair`' />
548 <!--<parameter name='bandwidth-profile-name' value='`$prop.sotn.etht-svc-name`' />-->
549 <parameter name='bandwidth-profile-name' value='`$gfp`' />
550 <parameter name='vpn-type' value='dummy' />
551 <parameter name='cir' value='`$gfp *1000000`' />
552 <parameter name='eir' value='`$gfp *1000000`' />
553 <!--<parameter name='cbs' value='`$prop.sotn.cbs`' />-->
554 <!--<parameter name='ebs' value='`$prop.sotn.ebs`' />-->
555 <!--<parameter name='color-aware' value='`$prop.sotn.colorAware`' />-->
556 <!--<parameter name='etht-svc-name' value='`$prop.sotn.etht-svc-name`' />-->
557 <parameter name='model-customization-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-customization-uuid`' />
558 <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-invariant-uuid`' />
559 <parameter name='model-version-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-uuid`' />
560 <parameter name='connectivity-selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $network-topology-operation-input.service-information.service-instance-id + '/service-data/networks/network/' + $prop.sotn.network-id + '/network-data/'` " />
562 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity:relationship-list'
563 key='connectivity.connectivity-id = $middle-man-conn.connectivity-id'
564 force="true" pfx="tmp.AnAI-data">
565 <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
566 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $uuid.connectivity-otnidx-uuid`" />
567 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
568 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$uuid.connectivity-otnidx-uuid`" />
570 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list'
571 key='service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id
572 AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
573 AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type'
574 force="true" pfx="tmp.AnAI-data">
575 <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
576 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $uuid.connectivity-otnidx-uuid`" />
577 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
578 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$uuid.connectivity-otnidx-uuid`" />
579 <!--<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' -->
580 <!-- key='service-instance.service-instance-id = $service-data.service-information.service-instance-id -->
581 <!-- AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id -->
582 <!-- AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type' -->
583 <!-- force="true" pfx="tmp.AnAI-data">-->
584 <!--<parameter name="relationship-list.relationship[0].related-to" value="connectivity" />-->
585 <!--<parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $prop.sotn.network-id`" />-->
586 <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />-->
587 <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sotn.network-id`" />-->
589 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list'
590 key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid'
591 force="true" pfx="tmp.AnAI-data">
592 <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
593 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $uuid.connectivity-otnidx-uuid`" />
594 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
595 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$uuid.connectivity-otnidx-uuid`" />
599 <outcome value='true'>
600 <block atomic='true'>
601 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding'
602 key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid' >
603 <parameter name='vpn-id' value='`$prop.vpn-binding-otnidx-uuid`' />
604 <parameter name='vpn-name' value="`$prop.otn-tunnel-name + '-protection'`" />
605 <!--<parameter name='customer-vpn-id' value='`($idx + 1) * 10`' />-->
606 <!--<parameter name='customer-vpn-id' value='`($maxtpn + $gfp)`' />-->
607 <parameter name='customer-vpn-id' value='`$newToBeUsedMaxtpn`' />
608 <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
609 <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
610 <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
611 <parameter name='access-client-id' value='`$tmp.access-client-id`' />
612 <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
613 <parameter name='access-topology-id' value='`$tmp.access-topology-id`' />
614 <!--<parameter name='src-access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />-->
615 <parameter name='src-access-node-id' value='`$tmp.domainG-src-access-node-id`' />
616 <parameter name='src-access-ltp-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-tunnel-tp-id`' />
617 <!--<parameter name='dst-access-node-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-node-id`' />-->
618 <parameter name='dst-access-node-id' value='`$tmp.domainG-dst-access-node-id`' />
619 <parameter name='dst-access-ltp-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-tunnel-tp-id`' />
620 <parameter name='route-distinguisher' value='`$gfp`' />
621 <parameter name='operational-status' value='Created' />
622 <parameter name='model-customization-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-customization-uuid`' />
623 <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-invariant-uuid`' />
624 <parameter name='model-version-id' value='`$vnf-topology-operation-input.service-information.onap-model-information.model-uuid`' />
625 <parameter name='vpn-region' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.url`' />
626 <parameter name='vpn-description' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.user`' />
627 <parameter name='vpn-platform' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.password`' />
628 <!-- The following line is in lieu of vpn-binding.slice-id (new attribute in latest AAI) -->
629 <!--<parameter name='ops-note' value='`$tmp.aai.service-instance.service-instance-id`' />-->
630 <parameter name='slice-id' value='`$tmp.aai.service-instance.service-instance-id`' />
631 <parameter name='ops-note' value='`$tmp.srcTtpOtnLayer`' />
632 <outcome value='success'>
637 <parameter name='tmp.newFlag' value="`$tmp.the-connectivity.coupling-flag + '-' +
638 $tmp.srcTtpdstTtpPair`" />
640 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity'
641 key='connectivity.connectivity-id = $tmp.the-connectivity.connectivity-id'>
642 <parameter name='connectivity-id' value='`$tmp.the-connectivity.connectivity-id`' />
643 <parameter name='etht-svc-name' value='`$prop.ethernet-service-name`' />
644 <parameter name='operational-status' value='Modified' />
645 <parameter name='coupling-flag' value='`$tmp.newFlag`' />
647 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list'
648 key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid'
649 force="true" pfx="tmp.AnAI-data">
650 <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
651 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $tmp.the-connectivity.connectivity-id`" />
652 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
653 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.the-connectivity.connectivity-id`" />
664 <parameter name='domain-A.tunnel-tp-id' value='' />
665 <parameter name='domain-A.node-id' value='' />
666 <parameter name='domain-A.network-id' value="" />
667 <parameter name='domain-A.provider-id' value="" />
668 <parameter name='domain-A.client-id' value="" />
669 <parameter name='domain-A.te-topo-id' value="" />
670 <parameter name='domain-A.network-type' value="" />
671 <parameter name='domain-A.ltpId' value="" />
672 <parameter name='tmp.domain-A.network-id' value="" />
673 <parameter name='tmp.domain-A.ttp-id' value="" />
674 <parameter name='network-route-A' value="" />
675 <!--<parameter name='domain-A.' value="" />-->
676 <parameter name='request-id' value='' />
677 <parameter name='otn-source-node' value='' />
678 <parameter name='otn-dest-node' value='' />
679 <parameter name='bw-odu' value="" />
680 <parameter name='src-ttp-id' value='' />
681 <parameter name='dst-ttp-id' value='' />
682 <parameter name='domain-B.tunnel-tp-id' value='' />
683 <parameter name='domain-B.node-id' value='' />
684 <parameter name='domain-B.network-id' value="" />
685 <parameter name='domain-B.provider-id' value="" />
686 <parameter name='domain-B.client-id' value="" />
687 <parameter name='domain-B.te-topo-id' value="" />
688 <parameter name='domain-B.network-type' value="" />
689 <parameter name='domain-B.ltpId' value="" />
690 <parameter name='tmp.domain-B.network-id' value="" />
691 <parameter name='tmp.domain-B.ttp-id' value="" />
692 <parameter name='network-route-B' value="" />
693 <!--<parameter name='domain-B.' value="" />-->