-<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'><method rpc='network-topology-operation' mode='sync'>\r
-<block atomic="true"><call module='GENERIC-RESOURCE-API' rpc='validate-network-input' mode='sync' >\r
-</call><switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\r
-<outcome value='assign'>\r
-<block atomic="true"><call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign' mode='sync' >\r
-</call></block></outcome><outcome value='activate'>\r
-<block atomic="true"><switch test='`$service-data.networks.network_length`'>\r
-<outcome value=''>\r
-<return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
-</return></outcome><outcome value='Other'>\r
-<block atomic="true"><for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
-<switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
-\r
-<outcome value='true'>\r
-<set>\r
-<parameter name='tmp.nidx' value='`$nidx`' />\r
-<parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\r
-</set></outcome></switch></for><switch test="`$tmp.nidx`">\r
-\r
-<outcome value=''>\r
-<return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
-</return></outcome></switch></block></outcome></switch><switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
-<outcome value='PendingCreate'>\r
-<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-activate' mode='sync' >\r
-</call></outcome><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="`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" /></return></outcome></switch></block></outcome><outcome value='deactivate'>\r
-<block atomic="true"><switch test='`$service-data.networks.network_length`'>\r
-<outcome value=''>\r
-<return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
-</return></outcome><outcome value='Other'>\r
-<block atomic="true"><for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
-<switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
-\r
-<outcome value='true'>\r
-<set>\r
-<parameter name='tmp.nidx' value='`$nidx`' />\r
-<parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\r
-</set></outcome></switch></for><switch test="`$tmp.nidx`">\r
-\r
-<outcome value=''>\r
-<return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
-</return></outcome></switch></block></outcome></switch><switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
-<outcome value='Created'>\r
-<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-deactivate' mode='sync' >\r
-</call></outcome><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="`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" /></return></outcome></switch></block></outcome><outcome value='unassign'>\r
-<block atomic="true"><switch test='`$service-data.networks.network_length`'>\r
-<outcome value=''>\r
-<return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
-</return></outcome><outcome value='Other'>\r
-<block atomic="true"><for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
-<switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
-\r
-<outcome value='true'>\r
-<set>\r
-<parameter name='tmp.nidx' value='`$nidx`' />\r
-<parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].`' />\r
-</set></outcome></switch></for><switch test="`$tmp.nidx`">\r
-\r
-<outcome value=''>\r
-<return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
-</return></outcome></switch></block></outcome></switch><switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
-<outcome value='PendingCreate'>\r
-<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' >\r
-</call></outcome><outcome value='PendingDelete'>\r
-<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' >\r
-</call></outcome><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="`'Network is not in appropriate state for unassign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" /></return></outcome></switch></block></outcome><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="sdnc-request-header.svc-action is a required input" />\r
-</return></outcome><outcome value='create'>\r
-<block atomic="true"><call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' >\r
-</call></block></outcome><outcome value='delete'>\r
-<block atomic="true"><call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' >\r
-</call></block></outcome></switch><set>\r
-<parameter name="ack-final" value="Y"/></set><return status='success'>\r
-<parameter name="ack-final-indicator" value="Y" />\r
-<parameter name="error-code" value="200" />\r
-<parameter name="error-message" value="`$error-message`" />\r
-</return></block></method></service-logic>
+<?xml version="1.0" encoding="utf-8"?>
+
+<service-logic xmlns="http://www.onap.org/sdnc/svclogic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="GENERIC-RESOURCE-API" version="${project.version}">
+ <method rpc="network-topology-operation" mode="sync">
+ <block atomic="true">
+ <call module="GENERIC-RESOURCE-API" rpc="validate-network-input" mode="sync"></call>
+ <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
+ <outcome value="assign">
+ <block atomic="true">
+ <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
+ <outcome value="Created">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`"/>
+ </return>
+ </outcome>
+ <outcome value="PendingDelete">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`"/>
+ </return>
+ </outcome>
+ <outcome value="PendingCreate">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-assign" mode="sync"></call>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value="activate">
+ <switch test="`$network-topology-operation-input.request-information.request-action`">
+ <outcome value="ActivateSOTNConnectivityInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="sotn-network-topology-operation-activate" mode="sync"></call>
+ </outcome>
+ <outcome value="ActivateDCINetworkInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-activate" mode="sync"></call>
+ </outcome>
+ <outcome value="ActivateSDWANConnectivityInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="sdwan-network-topology-operation-activate" mode="sync"></call>
+ </outcome>
+ <outcome value="other">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
+ <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
+ <parameter name="target" value="wan-connection"/>
+ <outcome value="true">
+ <call module="GENERIC-RESOURCE-API" rpc="wan-connection-topology-operation-activate" mode="sync"></call>
+ </outcome>
+ <outcome value="false">
+ <block atomic="true">
+ <switch test="`$service-data.networks.network_length`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <block atomic="true">
+ <for index="nidx" start="0" end="`$service-data.networks.network_length`">
+ <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
+ <outcome value="true">
+ <set>
+ <parameter name="tmp.nidx" value="`$nidx`"/>
+ <parameter name="network-data." value="`$service-data.networks.network[$nidx].`"/>
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.nidx`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <set>
+ <parameter name="nidx" value="`$tmp.nidx`"/>
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-information.network-instance-group-id`">
+ <outcome value="">
+ <return status="success"></return>
+ </outcome>
+ <outcome value="Other">
+ <block>
+ <switch test="`$service-data.network-instance-groups.network-instance-group_length`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <block atomic="true">
+ <for index="ngidx" start="0" end="`$service-data.network-instance-groups.network-instance-_length`">
+ <switch test="`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`">
+ <outcome value="true">
+ <block atomic="true">
+ <set>
+ <parameter name="tmp.ngidx" value="`$ngidx`"/>
+ <parameter name="ctx.network-instance-group-data." value="`$service-data.network-instance-groups.network-instance-group[$ngidx].`"/>
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
+ <outcome value="PendingCreate">
+ <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-activate" mode="sync"></call>
+ </outcome>
+ <outcome value="Other">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`"/>
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value="changeassign">
+ <block atomic="true">
+ <switch test="`$service-data.networks.network_length`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <block atomic="true">
+ <for index="nidx" start="0" end="`$service-data.networks.network_length`">
+ <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
+ <outcome value="true">
+ <set>
+ <parameter name="tmp.nidx" value="`$nidx`"/>
+ <parameter name="network-data." value="`$service-data.networks.network[$nidx].`"/>
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.nidx`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <set>
+ <parameter name="nidx" value="`$tmp.nidx`"/>
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-changeassign" mode="sync"></call>
+ </block>
+ </outcome>
+ <outcome value="deactivate">
+ <switch test="`$network-topology-operation-input.request-information.request-action`">
+ <outcome value="DeactivateSOTNConnectivityInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="sotn-network-topology-operation-deactivate" mode="sync"></call>
+ </outcome>
+ <outcome value="DeActivateDCINetworkInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-deactivate" mode="sync"></call>
+ </outcome>
+ <outcome value="DeactivateSDWANConnectivityInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="sdwan-network-topology-operation-deactivate" mode="sync"></call>
+ </outcome>
+ <outcome value="Other">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
+ <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
+ <parameter name="target" value="wan-connection"/>
+ <outcome value="true">
+ <call module="GENERIC-RESOURCE-API" rpc="wan-connection-topology-operation-deactivate" mode="sync"></call>
+ </outcome>
+ <outcome value="false">
+ <block atomic="true">
+ <switch test="`$service-data.networks.network_length`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <block atomic="true">
+ <for index="nidx" start="0" end="`$service-data.networks.network_length`">
+ <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
+ <outcome value="true">
+ <set>
+ <parameter name="tmp.nidx" value="`$nidx`"/>
+ <parameter name="network-data." value="`$service-data.networks.network[$nidx].`"/>
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.nidx`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <set>
+ <parameter name="nidx" value="`$tmp.nidx`"/>
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-information.network-instance-group-id`">
+ <outcome value="">
+ <return status="success"></return>
+ </outcome>
+ <outcome value="Other">
+ <block>
+ <switch test="`$service-data.network-instance-groups.network-instance-group_length`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <block atomic="true">
+ <for index="ngidx" start="0" end="`$service-data.network-instance-groups.network-instance-_length`">
+ <switch test="`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`">
+ <outcome value="true">
+ <block atomic="true">
+ <set>
+ <parameter name="tmp.ngidx" value="`$ngidx`"/>
+ <parameter name="ctx.network-instance-group-data." value="`$service-data.network-instance-groups.network-instance-group[$ngidx].`"/>
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-deactivate" mode="sync"></call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value="unassign">
+ <block atomic="true">
+ <switch test="`$service-data.networks.network_length`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <block atomic="true">
+ <for index="nidx" start="0" end="`$service-data.networks.network_length`">
+ <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
+ <outcome value="true">
+ <set>
+ <parameter name="tmp.nidx" value="`$nidx`"/>
+ <parameter name="network-data." value="`$service-data.networks.network[$nidx].`"/>
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.nidx`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <set>
+ <parameter name="nidx" value="`$tmp.nidx`"/>
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$network-topology-operation-input.network-information.network-instance-group-id`">
+ <outcome value="">
+ <return status="success"></return>
+ </outcome>
+ <outcome value="Other">
+ <block>
+ <switch test="`$service-data.network-instance-groups.network-instance-group_length`">
+ <outcome value="">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data"/>
+ </return>
+ </outcome>
+ <outcome value="Other">
+ <block atomic="true">
+ <for index="ngidx" start="0" end="`$service-data.network-instance-groups.network-instance-_length`">
+ <switch test="`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`">
+ <outcome value="true">
+ <block atomic="true">
+ <set>
+ <parameter name="tmp.ngidx" value="`$ngidx`"/>
+ <parameter name="ctx.network-instance-group-data." value="`$service-data.network-instance-groups.network-instance-group[$ngidx].`"/>
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
+ <outcome value="PendingCreate">
+ <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync"></call>
+ </outcome>
+ <outcome value="PendingDelete">
+ <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync"></call>
+ </outcome>
+ <outcome value="Other">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="`'Network is not in appropriate state for unassign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`"/>
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value="create">
+ <switch test="`$network-topology-operation-input.request-information.request-action`">
+ <outcome value="CreateSOTNConnectivityInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="sotn-network-topology-operation-create" mode="sync"></call>
+ </outcome>
+ <outcome value="CreateSDWANConnectivityInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="sdwan-network-topology-operation-create" mode="sync"></call>
+ </outcome>
+ <outcome value="other">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
+ <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
+ <parameter name="target" value="wan-connection"/>
+ <outcome value="true">
+ <call module="GENERIC-RESOURCE-API" rpc="wan-connection-topology-operation-create" mode="sync"></call>
+ </outcome>
+ <outcome value="false">
+ <block atomic="true">
+ <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-create" mode="sync"></call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value="delete">
+ <switch test="`$network-topology-operation-input.request-information.request-action`">
+ <outcome value="DeleteSOTNConnectivityInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="sotn-network-topology-operation-delete" mode="sync"></call>
+ </outcome>
+ <outcome value="DeleteSDWANConnectivityInstance">
+ <call module="GENERIC-RESOURCE-API" rpc="sdwan-network-topology-operation-delete" mode="sync"></call>
+ </outcome>
+ <outcome value="other">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
+ <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
+ <parameter name="target" value="wan-connection"/>
+ <outcome value="true">
+ <call module="GENERIC-RESOURCE-API" rpc="wan-connection-topology-operation-deactivate" mode="sync"></call>
+ </outcome>
+ <outcome value="false">
+ <block atomic="true">
+ <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-delete" mode="sync"></call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value="Other">
+ <return status="failure">
+ <parameter name="ack-final" value="Y"/>
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="sdnc-request-header.svc-action is a required input"/>
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name="ack-final" value="Y"/>
+ </set>
+ <return status="success">
+ <parameter name="ack-final-indicator" value="Y"/>
+ <parameter name="error-code" value="200"/>
+ <parameter name="error-message" value="`$error-message`"/>
+ </return>
+ </block>
+ </method>
+</service-logic>