[SDNC-5] Rebase SDN-C oam
[sdnc/oam.git] / platform-logic / vnfapi / src / main / xml / VNF-API_vnf-topology-operation.xml
diff --git a/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-operation.xml b/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-operation.xml
new file mode 100644 (file)
index 0000000..db0f8cb
--- /dev/null
@@ -0,0 +1,105 @@
+<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='vnf-topology-operation' mode='sync'>\r
+<block atomic="true"><record plugin="com.att.sdnctl.sli.recording.FileRecorder">\r
+<parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>\r
+<parameter name="field1" value="__TIMESTAMP__"/>\r
+<parameter name="field2" value="svc-topology-operation"/>\r
+<parameter name="field3" value="`$vnf-topology-operation-input.sdnc-request-header.svc-action`"/>\r
+<parameter name="field4" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
+<parameter name="field5" value="`$vnf-topology-operation-input.service-information.service-instance-id`"/>\r
+<parameter name="field6" value="`$vnf-topology-operation-input.request-information.request-id`"/>\r
+<parameter name="field7" value="`$vnf-topology-operation-input.request-information.request-action`"/>\r
+<parameter name="field8" value="`$vnf-topology-operation-input.request-information.source`"/>\r
+<parameter name="field9" value="`$vnf-topology-operation-input.vnf-request-information.vnf-name`"/>\r
+<parameter name="field10" value="`$vnf-topology-operation-input.vnf-request-information.vnf-type`"/>\r
+<parameter name="field11" value="`$vnf-topology-operation-input.vnf-request-information.vnf-id`"/>\r
+<parameter name="field12" value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"/>\r
+<parameter name="field13" value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"/>\r
+<parameter name="field14" value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/>\r
+<parameter name="field15" value="`$vnf-topology-operation-input.vnf-request-information.tenant`"/>\r
+<parameter name="field16" value="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"/>\r
+<parameter name="field17" value="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"/>\r
+<parameter name="field18" value="`$preload-data.oper-status.order-status`"/></record><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-name`"><outcome value='Other'><switch test="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"><outcome value='Other'><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-name == $preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"><outcome value='false'>\r
+<return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='request.vnf-name not found in preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='No preload data found to match vnf-name'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='vnf-name is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-type`"><outcome value='Other'><switch test="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"><outcome value='Other'><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-type == $preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"><outcome value='false'>\r
+<return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='request.vnf-type not found in preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='No preload data found to match vnf-type'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='vnf-type is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id`"><outcome value='0'><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.sdnc-request-header.svc-action`">\r
+<!--\r
+leaf svc-action { \r
+       type enumeration { \r
+               enum "reserve";\r
+               enum "assign";\r
+               enum "activate";  // equal to commit\r
+               enum "delete";    // equal to commit\r
+               enum "changeassign";\r
+               enum "changedelete";\r
+               enum "rollback";\r
+       }\r
+}\r
+-->\r
+\r
+<outcome value='assign'><block>\r
+<block atomic="true">\r
+<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-assign' mode='sync' ></call></block></outcome><outcome value='changeassign'><block>\r
+<block atomic="true">\r
+<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-changeassign' mode='sync' ></call></block></outcome><outcome value='activate'><block>\r
+<block atomic="true">\r
+<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-activate' mode='sync' ></call></block></outcome><outcome value='rollback'><block>\r
+<block atomic="true">\r
+<switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-rollback' mode='sync' ></call></block></outcome><outcome value='delete'><call module='VNF-API' rpc='vnf-topology-delete' mode='sync' ></call></outcome><outcome value='Other'><return status='failure'>\r
+       <parameter name='error-code' value='400'/>\r
+       <parameter name='error-message' value='svc-action not recognized'/>\r
+</return></outcome></switch></block></method></service-logic>
\ No newline at end of file