Patched DCI overlay DG to main DG
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation.xml
index cb82d32..00848f9 100755 (executable)
-<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"?>\r
+<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}">\r
+    <method rpc="network-topology-operation" mode="sync">\r
+        <block atomic="true">\r
+            <call module="GENERIC-RESOURCE-API" rpc="validate-network-input" mode="sync" />\r
+            <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">\r
+                <outcome value="assign">\r
+                    <block atomic="true">\r
+                        <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-assign" mode="sync" />\r
+                    </block>\r
+                </outcome>\r
+                <outcome value="activate">\r
+                    <switch test="`$network-topology-operation-input.request-information.request-action`">\r
+                        <outcome value="ActivateDCINetworkInstance">\r
+                            <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-activate" mode="sync" />\r
+                        </outcome>\r
+                        <outcome value="other">\r
+                            <block atomic="true">\r
+                                <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>\r
+                                    </outcome>\r
+                                    <outcome value="Other">\r
+                                        <block atomic="true">\r
+                                            <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
+                                                    <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>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </for>\r
+                                            <switch test="`$tmp.nidx`">\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>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                                <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
+                                    </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="`'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`" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </block>\r
+                        </outcome>\r
+                    </switch>\r
+                </outcome>\r
+                <outcome value="deactivate">\r
+                    <switch test="`$network-topology-operation-input.request-information.request-action`">\r
+                        <outcome value="DeActivateDCINetworkInstance">\r
+                            <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-deactivate" mode="sync" />\r
+                        </outcome>\r
+                        <outcome value="other">\r
+                            <block atomic="true">\r
+                                <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>\r
+                                    </outcome>\r
+                                    <outcome value="Other">\r
+                                        <block atomic="true">\r
+                                            <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
+                                                    <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>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </for>\r
+                                            <switch test="`$tmp.nidx`">\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>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                                <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
+                                    </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="`'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`" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </block>\r
+                        </outcome>\r
+                    </switch>\r
+                </outcome>\r
+                <outcome value="unassign">\r
+                    <block atomic="true">\r
+                        <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>\r
+                            </outcome>\r
+                            <outcome value="Other">\r
+                                <block atomic="true">\r
+                                    <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
+                                            <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>\r
+                                            </outcome>\r
+                                        </switch>\r
+                                    </for>\r
+                                    <switch test="`$tmp.nidx`">\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>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </block>\r
+                            </outcome>\r
+                        </switch>\r
+                        <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
+                            </outcome>\r
+                            <outcome value="PendingDelete">\r
+                                <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync" />\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="`'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`" />\r
+                                </return>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\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="sdnc-request-header.svc-action is a required input" />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value="create">\r
+                    <block atomic="true">\r
+                        <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-create" mode="sync" />\r
+                    </block>\r
+                </outcome>\r
+                <outcome value="delete">\r
+                    <block atomic="true">\r
+                        <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-delete" mode="sync" />\r
+                    </block>\r
+                </outcome>\r
+            </switch>\r
+            <set>\r
+                <parameter name="ack-final" value="Y" />\r
+            </set>\r
+            <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>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file