diff options
author | prakash.e <prakash.e@huawei.com> | 2018-09-12 17:17:09 +0530 |
---|---|---|
committer | prakash.e <prakash.e@huawei.com> | 2018-09-12 17:17:09 +0530 |
commit | 3ad0f7037db572577b42784c2fc9bca13a4d6f11 (patch) | |
tree | 998a0fccdd7b140c2de458cc6d133f881055bd00 /platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml | |
parent | 4e2db0d6e56bc19425e6afa3efc7011820942e9e (diff) |
SOTN reoptimization DGs
SOTN Reoptimization DGs added to support policy
Change-Id: Id9bfa483fcc83011ed76ee040f2cbc909e0da03f
Issue-ID: SDNC-357
Signed-off-by: Prakash.E <prakash.e@huawei.com>
Former-commit-id: 97357d818c41c853d295359b843448dcaa2e52f0
Diffstat (limited to 'platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml')
-rw-r--r-- | platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml | 833 |
1 files changed, 420 insertions, 413 deletions
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml index 88377fc5..05328d29 100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml @@ -1,413 +1,420 @@ -<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'>
- <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'>
- <parameter name='' value='' />
- </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>
- </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'>
- <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'>
- <parameter name='' value='' />
- </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>
- </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'>
- <parameter name='' value='' />
- </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'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' ></call>
- </block>
- </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'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' ></call>
- </block>
- </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>
+<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'> + <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'> + <parameter name='' value='' /> + </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> + </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'> + <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'> + <parameter name='' value='' /> + </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> + </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'> + <parameter name='' value='' /> + </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'> + <block atomic="true"> + <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' ></call> + </block> + </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'> + <block atomic="true"> + <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' ></call> + </block> + </outcome> + </switch> + </outcome> + <outcome value='reoptimize'> + <switch test='`$network-topology-operation-input.request-information.request-action`'> + <outcome value='ReoptimizeSOTNInstance'> + <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-reoptimize' mode='sync' ></call> + </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> |