Initial commit for OpenECOMP SDN-C OA&M
[sdnc/oam.git] / platform-logic / vnfapi / src / main / xml / dg-network-topology-operation.xml
diff --git a/platform-logic/vnfapi/src/main/xml/dg-network-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/dg-network-topology-operation.xml
new file mode 100644 (file)
index 0000000..70c5994
--- /dev/null
@@ -0,0 +1,109 @@
+<!--
+  ============LICENSE_START=======================================================
+  openECOMP : SDN-C
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights
+              reserved.
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+       http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  ============LICENSE_END=========================================================
+  -->
+
+<service-logic xmlns="http://www.openecomp.org/sdnc/svclogic"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module='VNF-API' version='${project.version}'><method rpc="network-topology-operation" mode="sync"><block atomic="true"><record plugin="org.openecomp.sdnc.sli.recording.FileRecorder">
+<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
+<parameter name="field1" value="__TIMESTAMP__"/>
+<parameter name="field2" value="network-topology-operation"/>
+<parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-action`"/>
+<parameter name="field4" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+<parameter name="field5" value="`$network-topology-operation-input.service-information.service-id`"/>
+<parameter name="field6" value="`$network-topology-operation-input.service-information.service-type`"/>
+<parameter name="field7" value="`$network-topology-operation-input.service-information.subscriber-name`"/>
+<parameter name="field8" value="`$network-topology-operation-input.service-information.service-instance-id`"/>
+<parameter name="field9" value="`$network-topology-operation-input.request-information.request-id`"/>
+<parameter name="field10" value="`$network-topology-operation-input.request-information.request-action`"/>
+<parameter name="field11" value="`$network-topology-operation-input.request-information.source`"/>
+<parameter name="field12" value="`$network-topology-operation-input.network-request-information.network-name`"/>
+<parameter name="field13" value="`$network-topology-operation-input.network-request-information.network-type`"/>
+<parameter name="field14" value="`$network-topology-operation-input.network-request-information.tenant`"/>
+<parameter name="field15" value="`$network-topology-operation-input.network-request-information.aic-cloud-region`"/>
+<parameter name="field16" value="`$network-topology-operation-input.network-request-information.aic-clli`"/>
+<parameter name="field17" value="`$network-topology-operation-input.network-request-information.network-id`"/></record><switch test="`$network-topology-operation-input.request-information.request-action`">
+<outcome value='NetworkActivateRequest'><block atomic="true">
+<switch test="`$network-topology-operation-input.network-request-information.network-name`"><outcome value='Other'><switch test="`$preload-data.network-topology-information.network-topology-identifier.network-name`"><outcome value='Other'><switch test="`$network-topology-operation-input.network-request-information.network-name == $preload-data.network-topology-information.network-topology-identifier.network-name`"><outcome value='false'>
+<return status='failure'>
+    <parameter name='error-code' value='400'/>
+    <parameter name='error-message' value="`'No preload-data found to match input network-name = ' + $network-topology-operation-input.network-request-information.network-name`"/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+    <parameter name='error-code' value='400'/>
+    <parameter name='error-message' value='network-name not found from preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+    <parameter name='error-code' value='400'/>
+    <parameter name='error-message' value='network-name is required from input'/></return></outcome></switch><switch test="`$network-topology-operation-input.network-request-information.network-type`"><outcome value='Other'><switch test="`$preload-data.network-topology-information.network-topology-identifier.network-type`"><outcome value='Other'><switch test="`$network-topology-operation-input.network-request-information.network-type == $preload-data.network-topology-information.network-topology-identifier.network-type`"><outcome value='false'>
+<return status='failure'>
+    <parameter name='error-code' value='400'/>
+    <parameter name='error-message' value="`'No preload-data found to match input network-type = ' + $network-topology-operation-input.network-request-information.network-type`"/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+    <parameter name='error-code' value='400'/>
+    <parameter name='error-message' value='network-type not found from preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>
+    <parameter name='error-code' value='400'/>
+    <parameter name='error-message' value='network-type is required from input'/></return></outcome></switch><switch test="`$network-topology-operation-input.service-information.service-instance-id`"><outcome value=''><return status='failure'>
+    <parameter name='error-code' value='500'/>
+    <parameter name='error-message' value='service-instance-id is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.network-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>
+    <parameter name='error-code' value='500'/>
+    <parameter name='error-message' value='aic-cloud-region is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.network-request-information.tenant`"><outcome value=''><return status='failure'>
+    <parameter name='error-code' value='500'/>
+    <parameter name='error-message' value='tenant is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.service-information.service-id`"><outcome value=''><return status='failure'>
+    <parameter name='error-code' value='500'/>
+    <parameter name='error-message' value='service-id is required.'/></return></outcome></switch><switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
+<!--
+leaf svc-action {
+    type enumeration {
+        enum "reserve";
+        enum "assign";
+        enum "activate";  // equal to commit
+        enum "delete";      // equal to commit
+        enum "changeassign";
+        enum "changedelete";
+        enum "rollback";
+    }
+}
+-->
+
+<outcome value='Other'>
+<return status='failure'>
+    <parameter name='error-code' value='400'/>
+    <parameter name='error-message' value='svc-action is not found'/></return></outcome><outcome value='assign'><call module="VNF-API" rpc="network-topology-assign" mode="sync" >
+</call></outcome><outcome value='changeassign'><call module="VNF-API" rpc="network-topology-changeassign" mode="sync" >
+</call></outcome><outcome value='rollback'><call module="VNF-API" rpc="network-topology-rollback" mode="sync" >
+</call></outcome></switch></block></outcome><outcome value='DisconnectNetworkRequest'><switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
+<!--
+leaf svc-action {
+    type enumeration {
+        enum "reserve";
+        enum "assign";
+        enum "activate";  // equal to commit
+        enum "delete";      // equal to commit
+        enum "changeassign";
+        enum "changedelete";
+        enum "rollback";
+    }
+}
+-->
+
+<outcome value='rollback'><call module="VNF-API" rpc="network-topology-rollback" mode="sync" >
+</call></outcome><outcome value='delete'><call module="VNF-API" rpc="network-topology-delete" mode="sync" >
+</call></outcome><outcome value='Other'>
+<return status='failure'>
+    <parameter name='error-code' value='400'/>
+    <parameter name='error-message' value='svc-action is not found'/></return></outcome></switch></outcome><outcome value="Other">
+
+<return status='failure'>
+    <parameter name='error-code' value='400'/>
+    <parameter name='error-message' value='request-action is not found'/></return></outcome></switch></block></method></service-logic>