Support for integration of E-Line based Cloud Leased Line service with hardware domai...
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / p2p_eline / GENERIC-RESOURCE-API_p2p-vnf-topology-operation-p2p-get-otn-tunnel-path-from-oof.xml
diff --git a/platform-logic/generic-resource-api/src/main/xml/p2p_eline/GENERIC-RESOURCE-API_p2p-vnf-topology-operation-p2p-get-otn-tunnel-path-from-oof.xml b/platform-logic/generic-resource-api/src/main/xml/p2p_eline/GENERIC-RESOURCE-API_p2p-vnf-topology-operation-p2p-get-otn-tunnel-path-from-oof.xml
new file mode 100644 (file)
index 0000000..a3249b3
--- /dev/null
@@ -0,0 +1,762 @@
+<service-logic\r
+        xmlns='http://www.onap.org/sdnc/svclogic'\r
+        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>\r
+    <method rpc='p2p-vnf-topology-operation-p2p-get-otn-tunnel-path-from-oof' mode='sync'>\r
+        <block atomic="true">\r
+            <block atomic='true'>\r
+                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                              resource="network-resources"\r
+                              key="selflink = 'https://aai.onap:8443/aai/v21/network/network-resources?depth=0'"\r
+                              local-only="false"\r
+                              pfx="allNetworksList" >\r
+                    <outcome value='success'></outcome>\r
+                    <outcome value='Other'></outcome>\r
+                    <outcome value='not-found'></outcome>\r
+                </get-resource>\r
+                <for index='netwidx' start='0' end='`$allNetworksList.network-resource_length`' >\r
+                    <switch test='`$allNetworksList.network-resource[$netwidx].provider-id == $param-prefix-domainA-pnfName[2]`'>\r
+                        <outcome value='true'>\r
+                            <switch test='`$allNetworksList.network-resource[$netwidx].te-topo-id != $param-prefix-domainA-pnfName[6]`'>\r
+                                <outcome value='true'>\r
+                                    <set>\r
+                                        <parameter name='otnTopoIdSrc' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
+                                    </set>\r
+                                </outcome>\r
+                            </switch>\r
+                        </outcome>\r
+                        <outcome value='false'>\r
+                            <switch test='`$allNetworksList.network-resource[$netwidx].provider-id == $param-prefix-domainB-pnfName[2]`'>\r
+                                <outcome value='true'>\r
+                                    <switch test='`$allNetworksList.network-resource[$netwidx].te-topo-id != $param-prefix-domainB-pnfName[6]`'>\r
+                                        <outcome value='true'>\r
+                                            <block>\r
+                                                <switch test='`$hasSecondary`'>\r
+                                                    <outcome value='true'>\r
+                                                        <block>\r
+                                                            <!-- This is to check the provider-id of ROOt and SECONDARY-ROOT-->\r
+                                                            <switch test='`$param-prefix-domainB[$param-prefix-domainB_length -9] == $param-prefix-domainC[$param-prefix-domainC_length -9]`'>\r
+                                                                <outcome value='true'>\r
+                                                                    <block>\r
+                                                                        <set>\r
+                                                                            <parameter name='otnTopoIdDst' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
+                                                                        </set>\r
+                                                                        <set>\r
+                                                                            <parameter name='otnTopoIdDstBackup' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
+                                                                        </set>\r
+                                                                    </block>\r
+                                                                </outcome>\r
+                                                                <outcome value='false'>\r
+                                                                    <block>\r
+                                                                        <set>\r
+                                                                            <parameter name='otnTopoIdDst' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
+                                                                        </set>\r
+                                                                    </block>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                    <outcome value='Other'>\r
+                                                        <set>\r
+                                                            <parameter name='otnTopoIdDst' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </block>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </outcome>\r
+                                <outcome value='false'>\r
+                                    <switch test='`$allNetworksList.network-resource[$netwidx].provider-id == $param-prefix-domainC-pnfName[2]`'>\r
+                                        <outcome value='true'>\r
+                                            <block>\r
+                                                <switch test='`$hasSecondary`'>\r
+                                                    <outcome value='true'>\r
+                                                        <block>\r
+                                                            <set>\r
+                                                                <parameter name='otnTopoIdDstBackup' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
+                                                            </set>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </block>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </outcome>\r
+                            </switch>\r
+                        </outcome>\r
+                    </switch>\r
+                </for>\r
+                <set>\r
+                    <parameter name='tmp.pce-src-node.' value='' />\r
+                </set>\r
+                <set>\r
+                    <parameter name='tmp.pce-dst-node.' value='' />\r
+                </set>\r
+                <set>\r
+                    <parameter name='tmp.pce-dst-node-backup.' value='' />\r
+                </set>\r
+                <set>\r
+                    <!--<parameter name='`otn-oof`' value='' />-->\r
+                    <parameter name='otn-oof.' value='' />\r
+                    <!--<parameter name='`otn-oof.solutions`' value='' />-->\r
+                    <!--<parameter name='`otn-oof.solutions.`' value='' />-->\r
+                    <!--<parameter name='`otn-oof.solutions_length`' value='0' />-->\r
+                </set>\r
+                <set>\r
+                    <!--<parameter name='tmp.pce-src-node' value="`$param-prefix-domainA-pnfName[0] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[1] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[2] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[3] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[4] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[5] + '-' +-->\r
+                    <!--                                                   1 + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[7] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[8]`" />-->\r
+                    <parameter name='tmp.pce-src-node' value="`$param-prefix-domainA-pnfName[0] + '-' +\r
+                                                   $param-prefix-domainA-pnfName[1] + '-' +\r
+                                                   $param-prefix-domainA-pnfName[2] + '-' +\r
+                                                   $param-prefix-domainA-pnfName[3] + '-' +\r
+                                                   $param-prefix-domainA-pnfName[4] + '-' +\r
+                                                   $param-prefix-domainA-pnfName[5] + '-' +\r
+                                                   $otnTopoIdSrc + '-' +\r
+                                                   $param-prefix-domainA-pnfName[7] + '-' +\r
+                                                   $param-prefix-domainA-pnfName[8]`" />\r
+                </set>\r
+                <set>\r
+                    <!--<parameter name='$tmp.pce-dst-node' value="`$param-prefix-domainB-pnfName[0] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[1] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[2] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[3] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[4] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[5] + '-' +-->\r
+                    <!--                                                   1 + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[7] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[8]`" />-->\r
+                    <parameter name='tmp.pce-dst-node' value="`$param-prefix-domainB-pnfName[0] + '-' +\r
+                                                   $param-prefix-domainB-pnfName[1] + '-' +\r
+                                                   $param-prefix-domainB-pnfName[2] + '-' +\r
+                                                   $param-prefix-domainB-pnfName[3] + '-' +\r
+                                                   $param-prefix-domainB-pnfName[4] + '-' +\r
+                                                   $param-prefix-domainB-pnfName[5] + '-' +\r
+                                                   $otnTopoIdDst + '-' +\r
+                                                   $param-prefix-domainB-pnfName[7] + '-' +\r
+                                                   $param-prefix-domainB-pnfName[8]`" />\r
+                </set>\r
+                <set>\r
+                    <!--<parameter name='$tmp.pce-dst-node' value="`$param-prefix-domainB-pnfName[0] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[1] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[2] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[3] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[4] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[5] + '-' +-->\r
+                    <!--                                                   1 + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[7] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainB-pnfName[8]`" />-->\r
+                    <parameter name='tmp.pce-dst-node-backup' value="`$param-prefix-domainC-pnfName[0] + '-' +\r
+                                                   $param-prefix-domainC-pnfName[1] + '-' +\r
+                                                   $param-prefix-domainC-pnfName[2] + '-' +\r
+                                                   $param-prefix-domainC-pnfName[3] + '-' +\r
+                                                   $param-prefix-domainC-pnfName[4] + '-' +\r
+                                                   $param-prefix-domainC-pnfName[5] + '-' +\r
+                                                   $otnTopoIdDstBackup + '-' +\r
+                                                   $param-prefix-domainC-pnfName[7] + '-' +\r
+                                                   $param-prefix-domainC-pnfName[8]`" />\r
+                </set>\r
+                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                    <parameter name="logger" value="message-log" />\r
+                    <parameter name="level" value="info" />\r
+                    <!--<parameter name="field1" value="Path computation succeed!"/>-->\r
+                    <!--<parameter name="field2" value="`$ccsdkTopo.resp.solutions_length`"/>-->\r
+                    <!--<parameter name="field1" value="`$tmp.src.domainA.pnf-name`"/>-->\r
+                    <!--<parameter name="field2" value="`$tmp.dst.domainB.pnf-name`"/>-->\r
+                    <parameter name="field1" value="`$tmp.pce-src-node`"/>\r
+                    <parameter name="field2" value="`$tmp.pce-dst-node`"/>\r
+                    <parameter name="field3" value="`$tmp.pce-dst-node-backup`"/>\r
+                </record>\r
+                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                    <parameter name="logger" value="message-log" />\r
+                    <parameter name="level" value="info" />\r
+                    <parameter name="field1" value="`$otn-oof.`"/>\r
+                </record>\r
+                <set>\r
+                    <!--<parameter name='tmp.pce-src-node' value="`$param-prefix-domainA-pnfName[0] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[1] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[2] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[3] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[4] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[5] + '-' +-->\r
+                    <!--                                                   1 + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[7] + '-' +-->\r
+                    <!--                                                   $param-prefix-domainA-pnfName[8]`" />-->\r
+                    <parameter name='filenamemm' value="`$tmp.pce-src-node + $tmp.pce-dst-node + $tmp.pce-dst-node-backup`" />\r
+                </set>\r
+                <switch test='`$hasSecondary`'>\r
+                    <outcome value='true'>\r
+                        <block>\r
+                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliTopologyUtils' method='computePaths' >\r
+                                <parameter name="pnfs-pfx" value='ccsdkTopopnfs'/>\r
+                                <parameter name="links-pfx" value="ccsdkTopologicalLinks"/>\r
+                                <parameter name="response-pfx" value="otn-oof"/>\r
+                                <parameter name="output-end-to-end-path" value="false"/>\r
+                                <!--<parameter name="src-node" value="`$tmp.src.domainA.pnf-name`"/>-->\r
+                                <!--<parameter name="dst-node" value="`$tmp.dst.domainB.pnf-name`"/>-->\r
+                                <parameter name="src-node" value="`$tmp.pce-src-node`"/>\r
+                                <parameter name="dst-node" value="`$tmp.pce-dst-node`"/>\r
+                                <parameter name="dst-node-backup" value="`$tmp.pce-dst-node-backup`"/>\r
+                                <parameter name="require-backuppath" value="`$hasSecondary`"/>\r
+                                <outcome value='success'></outcome>\r
+                                <outcome value='Other'></outcome>\r
+                                <outcome value='not-found'></outcome>\r
+                            </execute>\r
+                        </block>\r
+                    </outcome>\r
+                    <outcome value='Other'>\r
+                        <block>\r
+                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliTopologyUtils' method='computePath' >\r
+                                <parameter name="pnfs-pfx" value='ccsdkTopopnfs'/>\r
+                                <parameter name="links-pfx" value="ccsdkTopologicalLinks"/>\r
+                                <parameter name="response-pfx" value="otn-oof"/>\r
+                                <parameter name="output-end-to-end-path" value="false"/>\r
+                                <!--<parameter name="src-node" value="`$tmp.src.domainA.pnf-name`"/>-->\r
+                                <!--<parameter name="dst-node" value="`$tmp.dst.domainB.pnf-name`"/>-->\r
+                                <parameter name="src-node" value="`$tmp.pce-src-node`"/>\r
+                                <parameter name="dst-node" value="`$tmp.pce-dst-node`"/>\r
+                                <outcome value='success'></outcome>\r
+                                <outcome value='Other'></outcome>\r
+                                <outcome value='not-found'></outcome>\r
+                            </execute>\r
+                        </block>\r
+                    </outcome>\r
+                </switch>\r
+            </block>\r
+            <set>\r
+                <parameter name='`tmp.otninfo.`' value='' />\r
+                <!--<parameter name='`tmp.otninfo_length`' value='0' />-->\r
+                <parameter name='`tmp.otninfoProtect.`' value='' />\r
+            </set>\r
+            <for index='vidx' start='0' end='`$otn-oof.solutions_length`' >\r
+                <block atomic="true">\r
+                    <set>\r
+                        <parameter name='otn-oof.link-name' value='' />\r
+                        <!--<parameter name='tmp.aai.cross-link' value='' />-->\r
+                        <parameter name='tmp.aai.cross-link.' value='' />\r
+                        <!--<parameter name='tmp.aai.cross-link.link-role' value='' />-->\r
+                    </set>\r
+                    <set>\r
+                        <parameter name='otn-oof.link-name' value='`$otn-oof.solutions[$vidx].original_link`' />\r
+                        <parameter name='otn-oof.start-node' value='`$otn-oof.solutions[$vidx].src_node`' />\r
+                        <parameter name='otn-oof.end-node' value='`$otn-oof.solutions[$vidx].dst_node`' />\r
+                    </set>\r
+                    <set>\r
+                        <parameter name='tmp.cross-link.src-ltpId' value="`$otn-oof.solutions[$vidx].src_pinterface`" />\r
+                        <parameter name='tmp.src-pnf-name' value="`$otn-oof.solutions[$vidx].src_node`" />\r
+                    </set>\r
+                    <set>\r
+                        <parameter name='tmp.cross-link.dst-ltpId' value="`$otn-oof.solutions[$vidx].dst_pinterface`" />\r
+                        <parameter name='tmp.dst-pnf-name' value="`$otn-oof.solutions[$vidx].dst_node`" />\r
+                    </set>\r
+                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                        <parameter name="logger" value="message-log" />\r
+                        <parameter name="level" value="info" />\r
+                        <!--<parameter name="field1" value="Path computation succeed!"/>-->\r
+                        <!--<parameter name="field2" value="`$ccsdkTopo.resp.solutions_length`"/>-->\r
+                        <!--<parameter name="field1" value="`$tmp.src.domainA.pnf-name`"/>-->\r
+                        <!--<parameter name="field2" value="`$tmp.dst.domainB.pnf-name`"/>-->\r
+                        <parameter name="field1" value="`$tmp.cross-link.src-ltpId`"/>\r
+                        <parameter name="field2" value="`$tmp.src-pnf-name`"/>\r
+                        <parameter name="field3" value="`$tmp.cross-link.dst-ltpId`"/>\r
+                        <parameter name="field4" value="`$tmp.dst-pnf-name`"/>\r
+                    </record>\r
+                    <block atomic="true">\r
+                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                      resource="p-interface"\r
+                                      key="pnf.pnf-name = $tmp.src-pnf-name\r
+                   AND p-interface.interface-name = $tmp.cross-link.src-ltpId"\r
+                                      pfx='tmp.aai.src-tp' local-only='false' >\r
+                            <!--AND depth = '0'"-->\r
+                            <outcome value='success'>\r
+                                <block atomic="true">\r
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+                                        <!--<parameter name="original_string" value='`$tmp.aai.src-tp`'/>-->\r
+                                        <parameter name="original_string" value='`$tmp.aai.src-tp.interface-name`'/>\r
+                                        <!--<parameter name="regex" value="[^-]+$"/>-->\r
+                                        <parameter name="regex" value="[-]+"/>\r
+                                        <parameter name="ctx_memory_result_key" value="param-prefix-src-tp"/>\r
+                                        <outcome value='success'>\r
+                                            <block atomic="true">\r
+                                                <set>\r
+                                                    <parameter name='domain-A.ltpId' value='`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`' />\r
+                                                    <parameter name='`tmp.otninfo[$vidx].dstPort.dst-ltp-id`' value="`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`" />\r
+                                                    <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
+                                                </set>\r
+                                            </block>\r
+                                        </outcome>\r
+                                        <outcome value='failure'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='error-code' value='' />\r
+                                                <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </execute>\r
+                                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                  resource="pnf"\r
+                                                  key="pnf.pnf-name = $tmp.src-pnf-name"\r
+                                                  pfx='tmp.aai.src-pnf' local-only='false' >\r
+                                        <!--AND depth = '0'"-->\r
+                                        <outcome value='success'>\r
+                                            <block>\r
+                                                <set>\r
+                                                    <parameter name='domain-A.node-id' value="`$tmp.aai.src-pnf.pnf-id`" />\r
+                                                    <parameter name='domain-A.tpn' value='1' />\r
+                                                    <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-node-id`' value="`$tmp.aai.src-pnf.pnf-id`" />\r
+                                                    <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
+                                                </set>\r
+                                                <for silentFailure='true' index='pvidx' start='0' end='`$tmp.aai.src-pnf.relationship-list.relationship_length`' >\r
+                                                    <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].related-to`'>\r
+                                                        <outcome value='network-resource'>\r
+                                                            <block atomic="true">\r
+                                                                <set>\r
+                                                                    <parameter name='tmp.domain-A.network-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].relationship-data[0].relationship-value`" />\r
+                                                                </set>\r
+                                                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                              resource="network-resource"\r
+                                                                              key="network-resource.network-id = $tmp.domain-A.network-id\r
+               AND depth = '0'"\r
+                                                                              pfx='tmp.aai.src-network-resource' local-only='false' >\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='domain-A.network-id' value="`$tmp.aai.src-network-resource.network-id`" />\r
+                                                                            <parameter name='domain-A.provider-id' value="`$tmp.aai.src-network-resource.provider-id`" />\r
+                                                                            <parameter name='domain-A.client-id' value="`$tmp.aai.src-network-resource.client-id`" />\r
+                                                                            <parameter name='domain-A.te-topo-id' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
+                                                                            <parameter name='domain-A.network-type' value="`$tmp.aai.src-network-resource.network-type`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-network-id`' value="`$tmp.aai.src-network-resource.network-id`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-provider-id`' value="`$tmp.aai.src-network-resource.provider-id`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-client-id`' value="`$tmp.aai.src-network-resource.client-id`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-topology-id`' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-network-type`' value="`$tmp.aai.src-network-resource.network-type`" />\r
+                                                                            <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </get-resource>\r
+                                                                <break/>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </for>\r
+                                            </block>\r
+                                        </outcome>\r
+                                        <outcome value='not-found'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                        <outcome value='Other'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </get-resource>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                </return>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                </return>\r
+                            </outcome>\r
+                        </get-resource>\r
+                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                      resource="p-interface"\r
+                                      key="pnf.pnf-name = $tmp.dst-pnf-name\r
+                   AND p-interface.interface-name = $tmp.cross-link.dst-ltpId"\r
+                                      pfx='tmp.aai.dst-tp' local-only='false' >\r
+                            <!--AND depth = '0'"-->\r
+                            <outcome value='success'>\r
+                                <block atomic="true">\r
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+                                        <parameter name="original_string" value='`$tmp.aai.dst-tp.interface-name`'/>\r
+                                        <!--<parameter name="regex" value="[^-]+$"/>-->\r
+                                        <parameter name="regex" value="[-]+"/>\r
+                                        <parameter name="ctx_memory_result_key" value="param-prefix-dst-tp"/>\r
+                                        <outcome value='success'>\r
+                                            <block atomic="true">\r
+                                                <set>\r
+                                                    <parameter name='domain-B.ltpId' value='`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`' />\r
+                                                    <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-ltp-id`' value="`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`" />\r
+                                                    <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
+                                                </set>\r
+                                            </block>\r
+                                        </outcome>\r
+                                        <outcome value='failure'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='error-code' value='' />\r
+                                                <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </execute>\r
+                                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                  resource="pnf"\r
+                                                  key="pnf.pnf-name = $tmp.dst-pnf-name"\r
+                                                  pfx='tmp.aai.dst-pnf' local-only='false' >\r
+                                        <!--AND depth = '0'"-->\r
+                                        <outcome value='success'>\r
+                                            <block>\r
+                                                <set>\r
+                                                    <parameter name='domain-B.node-id' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
+                                                    <parameter name='domain-B.tpn' value='1' />\r
+                                                    <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-node-id`' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
+                                                    <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
+                                                </set>\r
+                                                <for silentFailure='true' index='mvidx' start='0' end='`$tmp.aai.dst-pnf.relationship-list.relationship_length`' >\r
+                                                    <switch test='`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].related-to`'>\r
+                                                        <outcome value='network-resource'>\r
+                                                            <block atomic="true">\r
+                                                                <set>\r
+                                                                    <parameter name='tmp.domain-B.network-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].relationship-data[0].relationship-value`" />\r
+                                                                </set>\r
+                                                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                              resource="network-resource"\r
+                                                                              key="network-resource.network-id = $tmp.domain-B.network-id\r
+               AND depth = '0'"\r
+                                                                              pfx='tmp.aai.dst-network-resource' local-only='false' >\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='domain-B.network-id' value="`$tmp.aai.dst-network-resource.network-id`" />\r
+                                                                            <parameter name='domain-B.provider-id' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
+                                                                            <parameter name='domain-B.client-id' value="`$tmp.aai.dst-network-resource.client-id`" />\r
+                                                                            <parameter name='domain-B.te-topo-id' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
+                                                                            <parameter name='domain-B.network-type' value="`$tmp.aai.dst-network-resource.network-type`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-network-id`' value="`$tmp.aai.dst-network-resource.network-id`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-provider-id`' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-client-id`' value="`$tmp.aai.dst-network-resource.client-id`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-topology-id`' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
+                                                                            <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-network-type`' value="`$tmp.aai.dst-network-resource.network-type`" />\r
+                                                                            <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </get-resource>\r
+                                                                <break/>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </for>\r
+                                            </block>\r
+                                        </outcome>\r
+                                        <outcome value='not-found'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                        <outcome value='Other'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </get-resource>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                </return>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                </return>\r
+                            </outcome>\r
+                        </get-resource>\r
+                    </block>\r
+                </block>\r
+            </for>\r
+            <switch test='`$hasSecondary`'>\r
+                <outcome value='true'>\r
+                    <block>\r
+                        <for index='vidx' start='0' end='`$otn-oof.secondarySolutions_length`' >\r
+                            <block atomic="true">\r
+                                <set>\r
+                                    <parameter name='otn-oof.link-name' value='' />\r
+                                    <!--<parameter name='tmp.aai.cross-link' value='' />-->\r
+                                    <parameter name='tmp.aai.cross-link.' value='' />\r
+                                    <!--<parameter name='tmp.aai.cross-link.link-role' value='' />-->\r
+                                    <parameter name='tmp.src-pnf-name' value='' />\r
+                                    <parameter name='tmp.cross-link.' value='' />\r
+                                    <parameter name='tmp.dst-pnf-name' value='' />\r
+                                    <parameter name='tmp.aai.src-tp.' value='' />\r
+                                    <parameter name='param-prefix-src-tp.' value='' />\r
+                                    <parameter name='tmp.aai.src-pnf.' value='' />\r
+                                    <parameter name='tmp.domain-A.network-id' value='' />\r
+                                    <parameter name='tmp.aai.src-network-resource.' value='' />\r
+                                    <parameter name='tmp.domain-A.ttp-id' value='' />\r
+                                    <parameter name='tmp.aai.src-ttp.' value='' />\r
+                                    <parameter name='tmp.aai.dst-tp.' value='' />\r
+                                    <parameter name='param-prefix-dst-tp.' value='' />\r
+                                    <parameter name='tmp.aai.dst-pnf.' value='' />\r
+                                    <parameter name='tmp.domain-C.network-id' value='' />\r
+                                    <parameter name='tmp.aai.dst-network-resource.' value='' />\r
+                                    <parameter name='tmp.domain-C.ttp-id' value='' />\r
+                                    <parameter name='tmp.aai.dst-ttp.' value='' />\r
+                                </set>\r
+                                <set>\r
+                                    <parameter name='otn-oof.link-name' value='`$otn-oof.secondarySolutions[$vidx].original_link`' />\r
+                                    <parameter name='otn-oof.start-node' value='`$otn-oof.secondarySolutions[$vidx].src_node`' />\r
+                                    <parameter name='otn-oof.end-node' value='`$otn-oof.secondarySolutions[$vidx].dst_node`' />\r
+                                </set>\r
+                                <set>\r
+                                    <parameter name='tmp.cross-link.src-ltpId' value="`$otn-oof.secondarySolutions[$vidx].src_pinterface`" />\r
+                                    <parameter name='tmp.src-pnf-name' value="`$otn-oof.secondarySolutions[$vidx].src_node`" />\r
+                                </set>\r
+                                <set>\r
+                                    <parameter name='tmp.cross-link.dst-ltpId' value="`$otn-oof.secondarySolutions[$vidx].dst_pinterface`" />\r
+                                    <parameter name='tmp.dst-pnf-name' value="`$otn-oof.secondarySolutions[$vidx].dst_node`" />\r
+                                </set>\r
+                                <block atomic="true">\r
+                                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                  resource="p-interface"\r
+                                                  key="pnf.pnf-name = $tmp.src-pnf-name\r
+                   AND p-interface.interface-name = $tmp.cross-link.src-ltpId"\r
+                                                  pfx='tmp.aai.src-tp' local-only='false' >\r
+                                        <!--AND depth = '0'"-->\r
+                                        <outcome value='success'>\r
+                                            <block atomic="true">\r
+                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+                                                    <!--<parameter name="original_string" value='`$tmp.aai.src-tp`'/>-->\r
+                                                    <parameter name="original_string" value='`$tmp.aai.src-tp.interface-name`'/>\r
+                                                    <!--<parameter name="regex" value="[^-]+$"/>-->\r
+                                                    <parameter name="regex" value="[-]+"/>\r
+                                                    <parameter name="ctx_memory_result_key" value="param-prefix-src-tp"/>\r
+                                                    <outcome value='success'>\r
+                                                        <block atomic="true">\r
+                                                            <set>\r
+                                                                <parameter name='domain-A.ltpId' value='`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`' />\r
+                                                                <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-ltp-id`' value="`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`" />\r
+                                                                <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 1`' />\r
+                                                            </set>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                    <outcome value='failure'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='error-code' value='' />\r
+                                                            <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                </execute>\r
+                                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                              resource="pnf"\r
+                                                              key="pnf.pnf-name = $tmp.src-pnf-name"\r
+                                                              pfx='tmp.aai.src-pnf' local-only='false' >\r
+                                                    <!--AND depth = '0'"-->\r
+                                                    <outcome value='success'>\r
+                                                        <block>\r
+                                                            <set>\r
+                                                                <parameter name='domain-A.node-id' value="`$tmp.aai.src-pnf.pnf-id`" />\r
+                                                                <parameter name='domain-A.tpn' value='1' />\r
+                                                                <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-node-id`' value="`$tmp.aai.src-pnf.pnf-id`" />\r
+                                                                <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 1`' />\r
+                                                            </set>\r
+                                                            <for silentFailure='true' index='pvidx' start='0' end='`$tmp.aai.src-pnf.relationship-list.relationship_length`' >\r
+                                                                <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].related-to`'>\r
+                                                                    <outcome value='network-resource'>\r
+                                                                        <block atomic="true">\r
+                                                                            <set>\r
+                                                                                <parameter name='tmp.domain-A.network-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].relationship-data[0].relationship-value`" />\r
+                                                                            </set>\r
+                                                                            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                                          resource="network-resource"\r
+                                                                                          key="network-resource.network-id = $tmp.domain-A.network-id\r
+               AND depth = '0'"\r
+                                                                                          pfx='tmp.aai.src-network-resource' local-only='false' >\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='domain-A.network-id' value="`$tmp.aai.src-network-resource.network-id`" />\r
+                                                                                        <parameter name='domain-A.provider-id' value="`$tmp.aai.src-network-resource.provider-id`" />\r
+                                                                                        <parameter name='domain-A.client-id' value="`$tmp.aai.src-network-resource.client-id`" />\r
+                                                                                        <parameter name='domain-A.te-topo-id' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
+                                                                                        <parameter name='domain-A.network-type' value="`$tmp.aai.src-network-resource.network-type`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-network-id`' value="`$tmp.aai.src-network-resource.network-id`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-provider-id`' value="`$tmp.aai.src-network-resource.provider-id`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-client-id`' value="`$tmp.aai.src-network-resource.client-id`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-topology-id`' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-network-type`' value="`$tmp.aai.src-network-resource.network-type`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect`' value='`$vidx + 1`' />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </get-resource>\r
+                                                                            <break/>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </for>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                    <outcome value='not-found'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='ack-final' value='Y'/>\r
+                                                            <parameter name="error-code" value="500" />\r
+                                                            <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                    <outcome value='Other'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='ack-final' value='Y'/>\r
+                                                            <parameter name="error-code" value="500" />\r
+                                                            <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                </get-resource>\r
+                                            </block>\r
+                                        </outcome>\r
+                                        <outcome value='not-found'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                        <outcome value='Other'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </get-resource>\r
+                                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                  resource="p-interface"\r
+                                                  key="pnf.pnf-name = $tmp.dst-pnf-name\r
+                   AND p-interface.interface-name = $tmp.cross-link.dst-ltpId"\r
+                                                  pfx='tmp.aai.dst-tp' local-only='false' >\r
+                                        <!--AND depth = '0'"-->\r
+                                        <outcome value='success'>\r
+                                            <block atomic="true">\r
+                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+                                                    <parameter name="original_string" value='`$tmp.aai.dst-tp.interface-name`'/>\r
+                                                    <!--<parameter name="regex" value="[^-]+$"/>-->\r
+                                                    <parameter name="regex" value="[-]+"/>\r
+                                                    <parameter name="ctx_memory_result_key" value="param-prefix-dst-tp"/>\r
+                                                    <outcome value='success'>\r
+                                                        <block atomic="true">\r
+                                                            <set>\r
+                                                                <parameter name='domain-C.ltpId' value='`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`' />\r
+                                                                <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-ltp-id`' value="`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`" />\r
+                                                                <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 2`' />\r
+                                                            </set>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                    <outcome value='failure'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='error-code' value='' />\r
+                                                            <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                </execute>\r
+                                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                              resource="pnf"\r
+                                                              key="pnf.pnf-name = $tmp.dst-pnf-name"\r
+                                                              pfx='tmp.aai.dst-pnf' local-only='false' >\r
+                                                    <!--AND depth = '0'"-->\r
+                                                    <outcome value='success'>\r
+                                                        <block>\r
+                                                            <set>\r
+                                                                <parameter name='domain-C.node-id' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
+                                                                <parameter name='domain-C.tpn' value='1' />\r
+                                                                <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-node-id`' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
+                                                                <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 2`' />\r
+                                                            </set>\r
+                                                            <for silentFailure='true' index='mvidx' start='0' end='`$tmp.aai.dst-pnf.relationship-list.relationship_length`' >\r
+                                                                <switch test='`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].related-to`'>\r
+                                                                    <outcome value='network-resource'>\r
+                                                                        <block atomic="true">\r
+                                                                            <set>\r
+                                                                                <parameter name='tmp.domain-C.network-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].relationship-data[0].relationship-value`" />\r
+                                                                            </set>\r
+                                                                            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                                          resource="network-resource"\r
+                                                                                          key="network-resource.network-id = $tmp.domain-C.network-id\r
+               AND depth = '0'"\r
+                                                                                          pfx='tmp.aai.dst-network-resource' local-only='false' >\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='domain-C.network-id' value="`$tmp.aai.dst-network-resource.network-id`" />\r
+                                                                                        <parameter name='domain-C.provider-id' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
+                                                                                        <parameter name='domain-C.client-id' value="`$tmp.aai.dst-network-resource.client-id`" />\r
+                                                                                        <parameter name='domain-C.te-topo-id' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
+                                                                                        <parameter name='domain-C.network-type' value="`$tmp.aai.dst-network-resource.network-type`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-network-id`' value="`$tmp.aai.dst-network-resource.network-id`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-provider-id`' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-client-id`' value="`$tmp.aai.dst-network-resource.client-id`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-topology-id`' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-network-type`' value="`$tmp.aai.dst-network-resource.network-type`" />\r
+                                                                                        <parameter name='`tmp.otninfoProtect`' value='`$vidx + 2`' />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </get-resource>\r
+                                                                            <break/>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </for>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                    <outcome value='not-found'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='ack-final' value='Y'/>\r
+                                                            <parameter name="error-code" value="500" />\r
+                                                            <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                    <outcome value='Other'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='ack-final' value='Y'/>\r
+                                                            <parameter name="error-code" value="500" />\r
+                                                            <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                </get-resource>\r
+                                            </block>\r
+                                        </outcome>\r
+                                        <outcome value='not-found'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                        <outcome value='Other'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </get-resource>\r
+                                </block>\r
+                            </block>\r
+                        </for>\r
+                    </block>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file