Support for 1+1 protection path for a cloud leased-line (CLL) service.
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / cloud_leased_line / GENERIC-RESOURCE-API_cll-vnf-topology-operation-cll-F1.xml
index c098114..a874168 100644 (file)
                                     <parameter name='connectivity-id' value='`$uuid.connectivity-otnidx-uuid`' />
                                     <!--<parameter name='etht-svc-name' value='`$prop.ethernet-service-name`' />-->
                                     <parameter name='operational-status' value='Created' />
+                                    <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
                                     <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
                                     <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
                                     <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
                     </switch>
                 </block>
             </for>
+            <switch test="`$tmp.otninfoProtect_length > 0`">
+                <outcome value='true'>
+                    <block atomic='true'>
+                        <set>
+                            <parameter name='tmp.srcdstpnf-name' value='' />
+                            <parameter name='prop.vpn-binding-otnidx-uuid' value='' />
+                            <parameter name='tmp.access-provider-id' value='' />
+                            <parameter name='tmp.access-client-id' value='' />
+                            <parameter name='tmp.access-topology-id' value='' />
+                            <parameter name='tmp.srcdstpnf-id' value='' />
+                            <parameter name='tmp.aai.srcdst-pnf.' value='' />
+                            <parameter name='tmp.domainG.esr-thirdparty-id' value='' />
+                            <parameter name='tmp.aai.domainG.esr-thirdparty-sdnc.' value='' />
+                            <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.url' value='' />
+                            <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.user' value='' />
+                            <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.password' value='' />
+                            <parameter name='tmp.srcTtpdstTtpPair' value='' />
+                        </set>
+                        <for index='otnidx' start='0' end='`$tmp.otninfoProtect_length`' >
+                            <block atomic='true'>
+                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
+                                    <parameter name="ctx-destination" value="prop.vpn-binding-otnidx-uuid"/>
+                                </execute>
+                                <switch test="`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-provider-id == ''`">
+                                    <outcome value='true'>
+                                        <set>
+                                            <parameter name='tmp.access-provider-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-provider-id`' />
+                                            <parameter name='tmp.access-client-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-client-id`' />
+                                            <parameter name='tmp.access-topology-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-topology-id`' />
+                                            <parameter name='tmp.srcdstpnf-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-node-id`' />
+                                        </set>
+                                    </outcome>
+                                    <outcome value='false'>
+                                        <set>
+                                            <parameter name='tmp.access-provider-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-provider-id`' />
+                                            <parameter name='tmp.access-client-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-client-id`' />
+                                            <parameter name='tmp.access-topology-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-topology-id`' />
+                                            <parameter name='tmp.srcdstpnf-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-node-id`' />
+                                        </set>
+                                    </outcome>
+                                </switch>
+                                <set>
+                                    <parameter name='tmp.srcdstpnf-name' value="`'networkId-providerId-' +
+                                             $tmp.access-provider-id + '-clientId-' +
+                                             $tmp.access-client-id + '-topologyId-' +
+                                             $tmp.access-topology-id + '-nodeId-' +
+                                             $tmp.srcdstpnf-id`" />
+                                </set>
+                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+                                              resource="pnf"
+                                              key="pnf.pnf-name = $tmp.srcdstpnf-name"
+                                              pfx='tmp.aai.srcdst-pnf' local-only='false' >
+                                    <!--AND depth = '0'"-->
+                                    <outcome value='success'>
+                                        <block>
+                                            <for silentFailure='true' index='spvidx' start='0' end='`$tmp.aai.srcdst-pnf.relationship-list.relationship_length`' >
+                                                <switch test='`$tmp.aai.srcdst-pnf.relationship-list.relationship[$spvidx].related-to`'>
+                                                    <outcome value='esr-thirdparty-sdnc'>
+                                                        <block atomic="true">
+                                                            <set>
+                                                                <parameter name='tmp.domainG.esr-thirdparty-id' value="`$tmp.aai.srcdst-pnf.relationship-list.relationship[$spvidx].relationship-data[0].relationship-value`" />
+                                                            </set>
+                                                            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+                                                                          resource="esr-thirdparty-sdnc"
+                                                                          key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.domainG.esr-thirdparty-id AND
+                    depth = '1'"
+                                                                          pfx='tmp.aai.domainG.esr-thirdparty-sdnc' local-only='false' >
+                                                                <outcome value='success'>
+                                                                    <block>
+                                                                        <set>
+                                                                            <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.url' value="`$tmp.aai.domainG.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
+                                                                            <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.user' value="`$tmp.aai.domainG.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
+                                                                            <parameter name='prop.sdncRestApi.thirdpartySdnc.domainG.password' value="`$tmp.aai.domainG.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
+                                                                            <!--<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >-->
+                                                                            <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />-->
+                                                                            <!--<parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />-->
+                                                                            <!--<parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />-->
+                                                                            <!--<parameter name="format" value="json"/>-->
+                                                                            <!--<parameter name="httpMethod" value="get"/>-->
+                                                                            <!--<parameter name="responsePrefix" value="topology"/>-->
+                                                                            <!--<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>-->
+                                                                            <!--<parameter name="trustStorePassword" value="adminadmin"/>-->
+                                                                            <!--<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>-->
+                                                                            <!--<parameter name="keyStorePassword" value="adminadmin"/>-->
+                                                                        </set>
+                                                                    </block>
+                                                                </outcome>
+                                                                <outcome value='not-found'>
+                                                                    <return status='failure'>
+                                                                        <parameter name='ack-final' value='Y'/>
+                                                                        <parameter name="error-code" value="500" />
+                                                                        <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
+                                                                    </return>
+                                                                </outcome>
+                                                                <outcome value='Other'>
+                                                                    <return status='failure'>
+                                                                        <parameter name='ack-final' value='Y'/>
+                                                                        <parameter name="error-code" value="500" />
+                                                                        <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
+                                                                    </return>
+                                                                </outcome>
+                                                            </get-resource>
+                                                        </block>
+                                                    </outcome>
+                                                </switch>
+                                            </for>
+                                        </block>
+                                    </outcome>
+                                    <outcome value='not-found'>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="error-code" value="500" />
+                                            <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
+                                        </return>
+                                    </outcome>
+                                    <outcome value='Other'>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="error-code" value="500" />
+                                            <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
+                                        </return>
+                                    </outcome>
+                                </get-resource>
+                                <switch test='`$otnidx == 0`'>
+                                    <outcome value='true'>
+                                        <block>
+                                            <set>
+                                                <parameter name='tmp.domainG-src-access-node-id' value='`$param-prefix-domainA[$param-prefix-domainA_length -3]`' />
+                                                <parameter name='tmp.domainG-dst-access-node-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-node-id`' />
+                                            </set>
+                                        </block>
+                                    </outcome>
+                                    <outcome value='false'>
+                                        <switch test='`$otnidx == $tmp.otninfoProtect_length - 1`'>
+                                            <outcome value='true'>
+                                                <block>
+                                                    <set>
+                                                        <parameter name='tmp.domainG-src-access-node-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-node-id`' />
+                                                        <parameter name='tmp.domainG-dst-access-node-id' value='`$param-prefix-domainC[$param-prefix-domainC_length -3]`' />
+                                                    </set>
+                                                </block>
+                                            </outcome>
+                                            <outcome value='false'>
+                                                <set>
+                                                    <parameter name='tmp.domainG-src-access-node-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-access-node-id`' />
+                                                    <parameter name='tmp.domainG-dst-access-node-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-access-node-id`' />
+                                                </set>
+                                            </outcome>
+                                        </switch>
+                                    </outcome>
+                                </switch>
+                                <set>
+                                    <parameter name='tmp.srcTtpdstTtpPair' value="`$tmp.otninfoProtect[$otnidx].srcPort.src-tunnel-tp-id + ',' +
+                                               $tmp.otninfootninfoProtect.dstPort.dst-tunnel-tp-id`" />
+                                </set>
+                                <set>
+                                    <parameter name='tmp.current-provider-id' value='`$tmp.access-provider-id`' />
+                                    <parameter name='tmp.current-cvlan-id' value='`$tmp.aai.network-route-A.logical-interface-id`' />
+                                </set>
+                                <call module='GENERIC-RESOURCE-API' rpc='cll-vnf-topology-operation-cll-helper-find-connectivity' mode='sync' ></call>
+                                <set>
+                                    <parameter name='prop.ethernet-service-name' value='`$middle-man-conn.etht-svc-name`' />
+                                </set>
+                                <switch test="`$found-connectivity`">
+                                    <outcome value='false'>
+                                        <block>
+                                            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding'
+                                                  key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid' >
+                                                <parameter name='vpn-id' value='`$prop.vpn-binding-otnidx-uuid`' />
+                                                <parameter name='vpn-name' value="`$prop.otn-tunnel-name + '-protection'`" />
+                                                <!--<parameter name='customer-vpn-id' value='`($idx + 1) * 10`' />-->
+                                                <!--<parameter name='customer-vpn-id' value='`($maxtpn + $gfp)`' />-->
+                                                <parameter name='customer-vpn-id' value='`$newToBeUsedMaxtpn`' />
+                                                <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
+                                                <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
+                                                <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
+                                                <parameter name='access-client-id' value='`$tmp.access-client-id`' />
+                                                <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
+                                                <parameter name='access-topology-id' value='`$tmp.access-topology-id`' />
+                                                <!--<parameter name='src-access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />-->
+                                                <parameter name='src-access-node-id' value='`$tmp.domainG-src-access-node-id`' />
+                                                <parameter name='src-access-ltp-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-tunnel-tp-id`' />
+                                                <!--<parameter name='dst-access-node-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-node-id`' />-->
+                                                <parameter name='dst-access-node-id' value='`$tmp.domainG-dst-access-node-id`' />
+                                                <parameter name='dst-access-ltp-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-tunnel-tp-id`' />
+                                                <parameter name='route-distinguisher' value='`$gfp`' />
+                                                <parameter name='operational-status' value='Created' />
+                                                <parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />
+                                                <parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />
+                                                <parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />
+                                                <parameter name='vpn-region' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.url`' />
+                                                <parameter name='vpn-description' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.user`' />
+                                                <parameter name='vpn-platform' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.password`' />
+                                                <!-- The following line is in lieu of vpn-binding.slice-id (new attribute in latest AAI) -->
+                                                <!--<parameter name='ops-note' value='`$tmp.aai.service-instance.service-instance-id`' />-->
+                                                <parameter name='slice-id' value='`$tmp.aai.service-instance.service-instance-id`' />
+                                                <parameter name='ops-note' value='`$tmp.srcTtpOtnLayer`' />
+                                                <outcome value='success'>
+                                                    <block></block>
+                                                </outcome>
+                                            </save>
+                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
+                                                <parameter name="ctx-destination" value="uuid.connectivity-otnidx-uuid"/>
+                                            </execute>
+                                            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity'
+                                                  key='connectivity.connectivity-id = $uuid.connectivity-otnidx-uuid'>
+                                                <parameter name='connectivity-id' value='`$uuid.connectivity-otnidx-uuid`' />
+                                                <!--<parameter name='etht-svc-name' value='`$prop.ethernet-service-name`' />-->
+                                                <parameter name='operational-status' value='Created' />
+                                                <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
+                                                <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
+                                                <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
+                                                <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
+                                                <!--<parameter name='access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />-->
+                                                <!--<parameter name='access-ltp-id' value='``' />-->
+                                                <parameter name='cvlan' value='`$tmp.aai.network-route-A.logical-interface-id`' />
+                                                <parameter name='coupling-flag' value='`$srcTtpdstTtpPair`' />
+                                                <!--<parameter name='bandwidth-profile-name' value='`$prop.sotn.etht-svc-name`' />-->
+                                                <parameter name='bandwidth-profile-name' value='`$gfp`' />
+                                                <parameter name='vpn-type' value='dummy' />
+                                                <parameter name='cir' value='`$gfp *1000000`' />
+                                                <parameter name='eir' value='`$gfp *1000000`' />
+                                                <!--<parameter name='cbs' value='`$prop.sotn.cbs`' />-->
+                                                <!--<parameter name='ebs' value='`$prop.sotn.ebs`' />-->
+                                                <!--<parameter name='color-aware' value='`$prop.sotn.colorAware`' />-->
+                                                <!--<parameter name='etht-svc-name' value='`$prop.sotn.etht-svc-name`' />-->
+                                                <parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />
+                                                <parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />
+                                                <parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />
+                                                <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/'` " />
+                                            </save>
+                                            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity:relationship-list'
+                                                  key='connectivity.connectivity-id = $middle-man-conn.connectivity-id'
+                                                  force="true" pfx="tmp.AnAI-data">
+                                                <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
+                                                <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $uuid.connectivity-otnidx-uuid`" />
+                                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
+                                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$uuid.connectivity-otnidx-uuid`" />
+                                            </save>
+                                            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list'
+                                                  key='service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id
+         AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
+         AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type'
+                                                  force="true" pfx="tmp.AnAI-data">
+                                                <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
+                                                <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $uuid.connectivity-otnidx-uuid`" />
+                                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
+                                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$uuid.connectivity-otnidx-uuid`" />
+                                                <!--<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' -->
+                                                <!--      key='service-instance.service-instance-id = $service-data.service-information.service-instance-id -->
+                                                <!--         AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id -->
+                                                <!--         AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type' -->
+                                                <!--      force="true" pfx="tmp.AnAI-data">-->
+                                                <!--<parameter name="relationship-list.relationship[0].related-to" value="connectivity" />-->
+                                                <!--<parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $prop.sotn.network-id`" />-->
+                                                <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />-->
+                                                <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sotn.network-id`" />-->
+                                            </save>
+                                            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list'
+                                                  key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid'
+                                                  force="true" pfx="tmp.AnAI-data">
+                                                <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
+                                                <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $uuid.connectivity-otnidx-uuid`" />
+                                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
+                                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$uuid.connectivity-otnidx-uuid`" />
+                                            </save>
+                                        </block>
+                                    </outcome>
+                                    <outcome value='true'>
+                                        <block atomic='true'>
+                                            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding'
+                                                  key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid' >
+                                                <parameter name='vpn-id' value='`$prop.vpn-binding-otnidx-uuid`' />
+                                                <parameter name='vpn-name' value="`$prop.otn-tunnel-name + '-protection'`" />
+                                                <!--<parameter name='customer-vpn-id' value='`($idx + 1) * 10`' />-->
+                                                <!--<parameter name='customer-vpn-id' value='`($maxtpn + $gfp)`' />-->
+                                                <parameter name='customer-vpn-id' value='`$newToBeUsedMaxtpn`' />
+                                                <!--<parameter name='access-provider-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-provider-id`' />-->
+                                                <parameter name='access-provider-id' value='`$tmp.access-provider-id`' />
+                                                <!--<parameter name='access-client-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-client-id`' />-->
+                                                <parameter name='access-client-id' value='`$tmp.access-client-id`' />
+                                                <!--<parameter name='access-topology-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-topology-id`' />-->
+                                                <parameter name='access-topology-id' value='`$tmp.access-topology-id`' />
+                                                <!--<parameter name='src-access-node-id' value='`$tmp.otninfo[$otnidx].srcPort.src-access-node-id`' />-->
+                                                <parameter name='src-access-node-id' value='`$tmp.domainG-src-access-node-id`' />
+                                                <parameter name='src-access-ltp-id' value='`$tmp.otninfoProtect[$otnidx].srcPort.src-tunnel-tp-id`' />
+                                                <!--<parameter name='dst-access-node-id' value='`$tmp.otninfo[$otnidx].dstPort.dst-access-node-id`' />-->
+                                                <parameter name='dst-access-node-id' value='`$tmp.domainG-dst-access-node-id`' />
+                                                <parameter name='dst-access-ltp-id' value='`$tmp.otninfoProtect[$otnidx].dstPort.dst-tunnel-tp-id`' />
+                                                <parameter name='route-distinguisher' value='`$gfp`' />
+                                                <parameter name='operational-status' value='Created' />
+                                                <parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />
+                                                <parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />
+                                                <parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />
+                                                <parameter name='vpn-region' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.url`' />
+                                                <parameter name='vpn-description' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.user`' />
+                                                <parameter name='vpn-platform' value='`$prop.sdncRestApi.thirdpartySdnc.domainG.password`' />
+                                                <!-- The following line is in lieu of vpn-binding.slice-id (new attribute in latest AAI) -->
+                                                <!--<parameter name='ops-note' value='`$tmp.aai.service-instance.service-instance-id`' />-->
+                                                <parameter name='slice-id' value='`$tmp.aai.service-instance.service-instance-id`' />
+                                                <parameter name='ops-note' value='`$tmp.srcTtpOtnLayer`' />
+                                                <outcome value='success'>
+                                                    <block></block>
+                                                </outcome>
+                                            </save>
+                                            <set>
+                                                <parameter name='tmp.newFlag' value="`$tmp.the-connectivity.coupling-flag + '-' +
+                                               $tmp.srcTtpdstTtpPair`" />
+                                            </set>
+                                            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity'
+                                                    key='connectivity.connectivity-id = $tmp.the-connectivity.connectivity-id'>
+                                                <parameter name='connectivity-id' value='`$tmp.the-connectivity.connectivity-id`' />
+                                                <parameter name='etht-svc-name' value='`$prop.ethernet-service-name`' />
+                                                <parameter name='operational-status' value='Modified' />
+                                                <parameter name='coupling-flag' value='`$tmp.newFlag`' />
+                                            </update>
+                                            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list'
+                                                  key='vpn-binding.vpn-id = $prop.vpn-binding-otnidx-uuid'
+                                                  force="true" pfx="tmp.AnAI-data">
+                                                <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />
+                                                <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $tmp.the-connectivity.connectivity-id`" />
+                                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />
+                                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.the-connectivity.connectivity-id`" />
+                                            </save>
+                                        </block>
+                                    </outcome>
+                                </switch>
+                            </block>
+                        </for>
+                    </block>
+                </outcome>
+            </switch>
             <set>
                 <parameter name='domain-A.tunnel-tp-id' value='' />
                 <parameter name='domain-A.node-id' value='' />