You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2016/02/12 17:21:48 UTC

[3/3] airavata git commit: adding deleting storage resource data movements

adding deleting storage resource data movements


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/64a38753
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/64a38753
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/64a38753

Branch: refs/heads/develop
Commit: 64a387537fe6234b595cb4c94f6332021ca0825b
Parents: 4515718
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Fri Feb 12 11:23:54 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Fri Feb 12 11:23:54 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |  18 +-
 .../java/org/apache/airavata/api/Airavata.java  | 268 ++++++++++++++-----
 .../main/resources/lib/airavata/Airavata.cpp    | 193 +++++++------
 .../src/main/resources/lib/airavata/Airavata.h  |  37 +--
 .../lib/airavata/Airavata_server.skeleton.cpp   |   5 +-
 .../resources/lib/Airavata/API/Airavata.php     |  53 +++-
 .../lib/apache/airavata/api/Airavata-remote     |   8 +-
 .../lib/apache/airavata/api/Airavata.py         |  56 ++--
 .../apache/airavata/model/ComponentStatus.java  |   2 +-
 .../org/apache/airavata/model/EdgeModel.java    |   2 +-
 .../org/apache/airavata/model/NodeModel.java    |   2 +-
 .../org/apache/airavata/model/PortModel.java    |   2 +-
 .../apache/airavata/model/WorkflowModel.java    |   2 +-
 .../apache/airavata/model/WorkflowStatus.java   |   2 +-
 .../ApplicationDeploymentDescription.java       |   2 +-
 .../appdeployment/ApplicationModule.java        |   2 +-
 .../appcatalog/appdeployment/CommandObject.java |   2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |   2 +-
 .../ApplicationInterfaceDescription.java        |   2 +-
 .../appcatalog/computeresource/BatchQueue.java  |   2 +-
 .../computeresource/CloudJobSubmission.java     |   2 +-
 .../ComputeResourceDescription.java             |   2 +-
 .../computeresource/GlobusJobSubmission.java    |   2 +-
 .../computeresource/JobSubmissionInterface.java |   2 +-
 .../computeresource/LOCALSubmission.java        |   2 +-
 .../computeresource/ResourceJobManager.java     |   2 +-
 .../computeresource/SSHJobSubmission.java       |   2 +-
 .../computeresource/UnicoreJobSubmission.java   |   2 +-
 .../ComputeResourcePreference.java              |   2 +-
 .../gatewayprofile/GatewayResourceProfile.java  |   2 +-
 .../gatewayprofile/StoragePreference.java       |   2 +-
 .../StorageResourceDescription.java             |   2 +-
 .../application/io/InputDataObjectType.java     |   2 +-
 .../application/io/OutputDataObjectType.java    |   2 +-
 .../airavata/model/commons/ErrorModel.java      |   2 +-
 .../model/commons/ValidationResults.java        |   2 +-
 .../airavata/model/commons/ValidatorResult.java |   2 +-
 .../data/movement/DataMovementInterface.java    |   2 +-
 .../data/movement/GridFTPDataMovement.java      |   2 +-
 .../model/data/movement/LOCALDataMovement.java  |   2 +-
 .../model/data/movement/SCPDataMovement.java    |   2 +-
 .../data/movement/UnicoreDataMovement.java      |   2 +-
 .../data/resource/DataReplicaLocationModel.java |   2 +-
 .../model/data/resource/DataResourceModel.java  |   2 +-
 .../model/error/AiravataClientException.java    |   2 +-
 .../model/error/AiravataSystemException.java    |   2 +-
 .../model/error/AuthenticationException.java    |   2 +-
 .../model/error/AuthorizationException.java     |   2 +-
 .../error/ExperimentNotFoundException.java      |   2 +-
 .../model/error/InvalidRequestException.java    |   2 +-
 .../model/error/LaunchValidationException.java  |   2 +-
 .../model/error/ProjectNotFoundException.java   |   2 +-
 .../airavata/model/error/TimedOutException.java |   2 +-
 .../airavata/model/error/ValidationResults.java |   2 +-
 .../airavata/model/error/ValidatorResult.java   |   2 +-
 .../model/experiment/ExperimentModel.java       |   2 +-
 .../model/experiment/ExperimentStatistics.java  |   2 +-
 .../experiment/ExperimentSummaryModel.java      |   2 +-
 .../experiment/UserConfigurationDataModel.java  |   2 +-
 .../org/apache/airavata/model/job/JobModel.java |   2 +-
 .../event/ExperimentStatusChangeEvent.java      |   2 +-
 .../model/messaging/event/JobIdentifier.java    |   2 +-
 .../messaging/event/JobStatusChangeEvent.java   |   2 +-
 .../event/JobStatusChangeRequestEvent.java      |   2 +-
 .../airavata/model/messaging/event/Message.java |   2 +-
 .../messaging/event/ProcessIdentifier.java      |   2 +-
 .../event/ProcessStatusChangeEvent.java         |   2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |   2 +-
 .../messaging/event/ProcessSubmitEvent.java     |   2 +-
 .../messaging/event/ProcessTerminateEvent.java  |   2 +-
 .../model/messaging/event/TaskIdentifier.java   |   2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |   2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |   2 +-
 .../event/TaskStatusChangeRequestEvent.java     |   2 +-
 .../airavata/model/process/ProcessModel.java    |   2 +-
 .../ComputationalResourceSchedulingModel.java   |   2 +-
 .../airavata/model/security/AuthzToken.java     |   2 +-
 .../airavata/model/status/ExperimentStatus.java |   2 +-
 .../apache/airavata/model/status/JobStatus.java |   2 +-
 .../airavata/model/status/ProcessStatus.java    |   2 +-
 .../airavata/model/status/TaskStatus.java       |   2 +-
 .../model/task/DataStagingTaskModel.java        |   2 +-
 .../model/task/EnvironmentSetupTaskModel.java   |   2 +-
 .../model/task/JobSubmissionTaskModel.java      |   2 +-
 .../airavata/model/task/MonitorTaskModel.java   |   2 +-
 .../apache/airavata/model/task/TaskModel.java   |   2 +-
 .../airavata/model/workspace/Gateway.java       |   2 +-
 .../apache/airavata/model/workspace/Group.java  |   2 +-
 .../airavata/model/workspace/Project.java       |   2 +-
 .../apache/airavata/model/workspace/User.java   |   2 +-
 .../server/src/main/resources/gfac-config.yaml  |   2 +-
 .../app/catalog/impl/StorageResourceImpl.java   |  14 +
 .../airavata/registry/cpi/StorageResource.java  |   2 +
 .../airavata-apis/airavata_api.thrift           |   5 +-
 94 files changed, 524 insertions(+), 301 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/64a38753/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 03b4e11..8ab3466 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -3572,13 +3572,23 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     @SecurityCheck
-    public boolean deleteDataMovementInterface(AuthzToken authzToken, String computeResourceId, String dataMovementInterfaceId)
+    public boolean deleteDataMovementInterface(AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, DMType dmType)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            appCatalog.getComputeResource().removeDataMovementInterface(computeResourceId, dataMovementInterfaceId);
-            logger.info("Airavata deleted data movement interface with interface id : " + dataMovementInterfaceId);
-            return true;
+            switch (dmType){
+                case COMPUTE_RESOURCE:
+                    appCatalog.getComputeResource().removeDataMovementInterface(resourceId, dataMovementInterfaceId);
+                    logger.info("Airavata deleted data movement interface with interface id : " + dataMovementInterfaceId);
+                    return true;
+                case STORAGE_RESOURCE:
+                    appCatalog.getStorageResource().removeDataMovementInterface(resourceId, dataMovementInterfaceId);
+                    logger.info("Airavata deleted data movement interface with interface id : " + dataMovementInterfaceId);
+                    return true;
+                default:
+                    logger.error("Unsupported data movement type specifies.. Please provide the correct data movement type... ");
+                    return false;
+            }
         } catch (AppCatalogException e) {
             logger.error(dataMovementInterfaceId, "Error while deleting data movement interface...", e);
             AiravataSystemException exception = new AiravataSystemException();

http://git-wip-us.apache.org/repos/asf/airavata/blob/64a38753/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 1ad3333..d666e2f 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-12")
 public class Airavata {
 
   public interface Iface {
@@ -2266,10 +2266,11 @@ public class Airavata {
      * 
      * 
      * @param authzToken
-     * @param computeResourceId
+     * @param resourceId
      * @param dataMovementInterfaceId
+     * @param dataMoveType
      */
-    public boolean deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String dataMovementInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     public String registerResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
@@ -2854,7 +2855,7 @@ public class Airavata {
 
     public void deleteJobSubmissionInterface(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String jobSubmissionInterfaceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String dataMovementInterfaceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void registerResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -6813,18 +6814,19 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteJobSubmissionInterface failed: unknown result");
     }
 
-    public boolean deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String dataMovementInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_deleteDataMovementInterface(authzToken, computeResourceId, dataMovementInterfaceId);
+      send_deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
       return recv_deleteDataMovementInterface();
     }
 
-    public void send_deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String dataMovementInterfaceId) throws org.apache.thrift.TException
+    public void send_deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) throws org.apache.thrift.TException
     {
       deleteDataMovementInterface_args args = new deleteDataMovementInterface_args();
       args.setAuthzToken(authzToken);
-      args.setComputeResourceId(computeResourceId);
+      args.setResourceId(resourceId);
       args.setDataMovementInterfaceId(dataMovementInterfaceId);
+      args.setDataMoveType(dataMoveType);
       sendBase("deleteDataMovementInterface", args);
     }
 
@@ -12025,30 +12027,33 @@ public class Airavata {
       }
     }
 
-    public void deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String dataMovementInterfaceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deleteDataMovementInterface_call method_call = new deleteDataMovementInterface_call(authzToken, computeResourceId, dataMovementInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
+      deleteDataMovementInterface_call method_call = new deleteDataMovementInterface_call(authzToken, resourceId, dataMovementInterfaceId, dataMoveType, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deleteDataMovementInterface_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String computeResourceId;
+      private String resourceId;
       private String dataMovementInterfaceId;
-      public deleteDataMovementInterface_call(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String dataMovementInterfaceId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.model.data.movement.DMType dataMoveType;
+      public deleteDataMovementInterface_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.computeResourceId = computeResourceId;
+        this.resourceId = resourceId;
         this.dataMovementInterfaceId = dataMovementInterfaceId;
+        this.dataMoveType = dataMoveType;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteDataMovementInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteDataMovementInterface_args args = new deleteDataMovementInterface_args();
         args.setAuthzToken(authzToken);
-        args.setComputeResourceId(computeResourceId);
+        args.setResourceId(resourceId);
         args.setDataMovementInterfaceId(dataMovementInterfaceId);
+        args.setDataMoveType(dataMoveType);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -16641,7 +16646,7 @@ public class Airavata {
       public deleteDataMovementInterface_result getResult(I iface, deleteDataMovementInterface_args args) throws org.apache.thrift.TException {
         deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
         try {
-          result.success = iface.deleteDataMovementInterface(args.authzToken, args.computeResourceId, args.dataMovementInterfaceId);
+          result.success = iface.deleteDataMovementInterface(args.authzToken, args.resourceId, args.dataMovementInterfaceId, args.dataMoveType);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
@@ -25489,7 +25494,7 @@ public class Airavata {
       }
 
       public void start(I iface, deleteDataMovementInterface_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteDataMovementInterface(args.authzToken, args.computeResourceId, args.dataMovementInterfaceId,resultHandler);
+        iface.deleteDataMovementInterface(args.authzToken, args.resourceId, args.dataMovementInterfaceId, args.dataMoveType,resultHandler);
       }
     }
 
@@ -170397,8 +170402,9 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteDataMovementInterface_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField COMPUTE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("computeResourceId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceId", org.apache.thrift.protocol.TType.STRING, (short)2);
     private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_INTERFACE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovementInterfaceId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField DATA_MOVE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMoveType", org.apache.thrift.protocol.TType.I32, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -170407,14 +170413,24 @@ public class Airavata {
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String computeResourceId; // required
+    public String resourceId; // required
     public String dataMovementInterfaceId; // required
+    /**
+     * 
+     * @see org.apache.airavata.model.data.movement.DMType
+     */
+    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      COMPUTE_RESOURCE_ID((short)2, "computeResourceId"),
-      DATA_MOVEMENT_INTERFACE_ID((short)3, "dataMovementInterfaceId");
+      RESOURCE_ID((short)2, "resourceId"),
+      DATA_MOVEMENT_INTERFACE_ID((short)3, "dataMovementInterfaceId"),
+      /**
+       * 
+       * @see org.apache.airavata.model.data.movement.DMType
+       */
+      DATA_MOVE_TYPE((short)4, "dataMoveType");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -170431,10 +170447,12 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // COMPUTE_RESOURCE_ID
-            return COMPUTE_RESOURCE_ID;
+          case 2: // RESOURCE_ID
+            return RESOURCE_ID;
           case 3: // DATA_MOVEMENT_INTERFACE_ID
             return DATA_MOVEMENT_INTERFACE_ID;
+          case 4: // DATA_MOVE_TYPE
+            return DATA_MOVE_TYPE;
           default:
             return null;
         }
@@ -170480,10 +170498,12 @@ public class Airavata {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.COMPUTE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("computeResourceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.DATA_MOVEMENT_INTERFACE_ID, new org.apache.thrift.meta_data.FieldMetaData("dataMovementInterfaceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.DATA_MOVE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("dataMoveType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.data.movement.DMType.class)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteDataMovementInterface_args.class, metaDataMap);
     }
@@ -170493,13 +170513,15 @@ public class Airavata {
 
     public deleteDataMovementInterface_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      String computeResourceId,
-      String dataMovementInterfaceId)
+      String resourceId,
+      String dataMovementInterfaceId,
+      org.apache.airavata.model.data.movement.DMType dataMoveType)
     {
       this();
       this.authzToken = authzToken;
-      this.computeResourceId = computeResourceId;
+      this.resourceId = resourceId;
       this.dataMovementInterfaceId = dataMovementInterfaceId;
+      this.dataMoveType = dataMoveType;
     }
 
     /**
@@ -170509,12 +170531,15 @@ public class Airavata {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetComputeResourceId()) {
-        this.computeResourceId = other.computeResourceId;
+      if (other.isSetResourceId()) {
+        this.resourceId = other.resourceId;
       }
       if (other.isSetDataMovementInterfaceId()) {
         this.dataMovementInterfaceId = other.dataMovementInterfaceId;
       }
+      if (other.isSetDataMoveType()) {
+        this.dataMoveType = other.dataMoveType;
+      }
     }
 
     public deleteDataMovementInterface_args deepCopy() {
@@ -170524,8 +170549,9 @@ public class Airavata {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.computeResourceId = null;
+      this.resourceId = null;
       this.dataMovementInterfaceId = null;
+      this.dataMoveType = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
@@ -170552,27 +170578,27 @@ public class Airavata {
       }
     }
 
-    public String getComputeResourceId() {
-      return this.computeResourceId;
+    public String getResourceId() {
+      return this.resourceId;
     }
 
-    public deleteDataMovementInterface_args setComputeResourceId(String computeResourceId) {
-      this.computeResourceId = computeResourceId;
+    public deleteDataMovementInterface_args setResourceId(String resourceId) {
+      this.resourceId = resourceId;
       return this;
     }
 
-    public void unsetComputeResourceId() {
-      this.computeResourceId = null;
+    public void unsetResourceId() {
+      this.resourceId = null;
     }
 
-    /** Returns true if field computeResourceId is set (has been assigned a value) and false otherwise */
-    public boolean isSetComputeResourceId() {
-      return this.computeResourceId != null;
+    /** Returns true if field resourceId is set (has been assigned a value) and false otherwise */
+    public boolean isSetResourceId() {
+      return this.resourceId != null;
     }
 
-    public void setComputeResourceIdIsSet(boolean value) {
+    public void setResourceIdIsSet(boolean value) {
       if (!value) {
-        this.computeResourceId = null;
+        this.resourceId = null;
       }
     }
 
@@ -170600,6 +170626,38 @@ public class Airavata {
       }
     }
 
+    /**
+     * 
+     * @see org.apache.airavata.model.data.movement.DMType
+     */
+    public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
+      return this.dataMoveType;
+    }
+
+    /**
+     * 
+     * @see org.apache.airavata.model.data.movement.DMType
+     */
+    public deleteDataMovementInterface_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+      this.dataMoveType = dataMoveType;
+      return this;
+    }
+
+    public void unsetDataMoveType() {
+      this.dataMoveType = null;
+    }
+
+    /** Returns true if field dataMoveType is set (has been assigned a value) and false otherwise */
+    public boolean isSetDataMoveType() {
+      return this.dataMoveType != null;
+    }
+
+    public void setDataMoveTypeIsSet(boolean value) {
+      if (!value) {
+        this.dataMoveType = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -170610,11 +170668,11 @@ public class Airavata {
         }
         break;
 
-      case COMPUTE_RESOURCE_ID:
+      case RESOURCE_ID:
         if (value == null) {
-          unsetComputeResourceId();
+          unsetResourceId();
         } else {
-          setComputeResourceId((String)value);
+          setResourceId((String)value);
         }
         break;
 
@@ -170626,6 +170684,14 @@ public class Airavata {
         }
         break;
 
+      case DATA_MOVE_TYPE:
+        if (value == null) {
+          unsetDataMoveType();
+        } else {
+          setDataMoveType((org.apache.airavata.model.data.movement.DMType)value);
+        }
+        break;
+
       }
     }
 
@@ -170634,12 +170700,15 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case COMPUTE_RESOURCE_ID:
-        return getComputeResourceId();
+      case RESOURCE_ID:
+        return getResourceId();
 
       case DATA_MOVEMENT_INTERFACE_ID:
         return getDataMovementInterfaceId();
 
+      case DATA_MOVE_TYPE:
+        return getDataMoveType();
+
       }
       throw new IllegalStateException();
     }
@@ -170653,10 +170722,12 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case COMPUTE_RESOURCE_ID:
-        return isSetComputeResourceId();
+      case RESOURCE_ID:
+        return isSetResourceId();
       case DATA_MOVEMENT_INTERFACE_ID:
         return isSetDataMovementInterfaceId();
+      case DATA_MOVE_TYPE:
+        return isSetDataMoveType();
       }
       throw new IllegalStateException();
     }
@@ -170683,12 +170754,12 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_computeResourceId = true && this.isSetComputeResourceId();
-      boolean that_present_computeResourceId = true && that.isSetComputeResourceId();
-      if (this_present_computeResourceId || that_present_computeResourceId) {
-        if (!(this_present_computeResourceId && that_present_computeResourceId))
+      boolean this_present_resourceId = true && this.isSetResourceId();
+      boolean that_present_resourceId = true && that.isSetResourceId();
+      if (this_present_resourceId || that_present_resourceId) {
+        if (!(this_present_resourceId && that_present_resourceId))
           return false;
-        if (!this.computeResourceId.equals(that.computeResourceId))
+        if (!this.resourceId.equals(that.resourceId))
           return false;
       }
 
@@ -170701,6 +170772,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_dataMoveType = true && this.isSetDataMoveType();
+      boolean that_present_dataMoveType = true && that.isSetDataMoveType();
+      if (this_present_dataMoveType || that_present_dataMoveType) {
+        if (!(this_present_dataMoveType && that_present_dataMoveType))
+          return false;
+        if (!this.dataMoveType.equals(that.dataMoveType))
+          return false;
+      }
+
       return true;
     }
 
@@ -170713,16 +170793,21 @@ public class Airavata {
       if (present_authzToken)
         list.add(authzToken);
 
-      boolean present_computeResourceId = true && (isSetComputeResourceId());
-      list.add(present_computeResourceId);
-      if (present_computeResourceId)
-        list.add(computeResourceId);
+      boolean present_resourceId = true && (isSetResourceId());
+      list.add(present_resourceId);
+      if (present_resourceId)
+        list.add(resourceId);
 
       boolean present_dataMovementInterfaceId = true && (isSetDataMovementInterfaceId());
       list.add(present_dataMovementInterfaceId);
       if (present_dataMovementInterfaceId)
         list.add(dataMovementInterfaceId);
 
+      boolean present_dataMoveType = true && (isSetDataMoveType());
+      list.add(present_dataMoveType);
+      if (present_dataMoveType)
+        list.add(dataMoveType.getValue());
+
       return list.hashCode();
     }
 
@@ -170744,12 +170829,12 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetComputeResourceId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.computeResourceId, other.computeResourceId);
+      if (isSetResourceId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceId, other.resourceId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -170764,6 +170849,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetDataMoveType()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataMoveType, other.dataMoveType);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -170792,11 +170887,11 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("computeResourceId:");
-      if (this.computeResourceId == null) {
+      sb.append("resourceId:");
+      if (this.resourceId == null) {
         sb.append("null");
       } else {
-        sb.append(this.computeResourceId);
+        sb.append(this.resourceId);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -170807,6 +170902,14 @@ public class Airavata {
         sb.append(this.dataMovementInterfaceId);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("dataMoveType:");
+      if (this.dataMoveType == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dataMoveType);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -170816,12 +170919,15 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (computeResourceId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'computeResourceId' was not present! Struct: " + toString());
+      if (resourceId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourceId' was not present! Struct: " + toString());
       }
       if (dataMovementInterfaceId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMovementInterfaceId' was not present! Struct: " + toString());
       }
+      if (dataMoveType == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMoveType' was not present! Struct: " + toString());
+      }
       // check for sub-struct validity
       if (authzToken != null) {
         authzToken.validate();
@@ -170871,10 +170977,10 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // COMPUTE_RESOURCE_ID
+            case 2: // RESOURCE_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.computeResourceId = iprot.readString();
-                struct.setComputeResourceIdIsSet(true);
+                struct.resourceId = iprot.readString();
+                struct.setResourceIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -170887,6 +170993,14 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // DATA_MOVE_TYPE
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.dataMoveType = org.apache.airavata.model.data.movement.DMType.findByValue(iprot.readI32());
+                struct.setDataMoveTypeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -170907,9 +171021,9 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.computeResourceId != null) {
-          oprot.writeFieldBegin(COMPUTE_RESOURCE_ID_FIELD_DESC);
-          oprot.writeString(struct.computeResourceId);
+        if (struct.resourceId != null) {
+          oprot.writeFieldBegin(RESOURCE_ID_FIELD_DESC);
+          oprot.writeString(struct.resourceId);
           oprot.writeFieldEnd();
         }
         if (struct.dataMovementInterfaceId != null) {
@@ -170917,6 +171031,11 @@ public class Airavata {
           oprot.writeString(struct.dataMovementInterfaceId);
           oprot.writeFieldEnd();
         }
+        if (struct.dataMoveType != null) {
+          oprot.writeFieldBegin(DATA_MOVE_TYPE_FIELD_DESC);
+          oprot.writeI32(struct.dataMoveType.getValue());
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -170935,8 +171054,9 @@ public class Airavata {
       public void write(org.apache.thrift.protocol.TProtocol prot, deleteDataMovementInterface_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.computeResourceId);
+        oprot.writeString(struct.resourceId);
         oprot.writeString(struct.dataMovementInterfaceId);
+        oprot.writeI32(struct.dataMoveType.getValue());
       }
 
       @Override
@@ -170945,10 +171065,12 @@ public class Airavata {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.computeResourceId = iprot.readString();
-        struct.setComputeResourceIdIsSet(true);
+        struct.resourceId = iprot.readString();
+        struct.setResourceIdIsSet(true);
         struct.dataMovementInterfaceId = iprot.readString();
         struct.setDataMovementInterfaceIdIsSet(true);
+        struct.dataMoveType = org.apache.airavata.model.data.movement.DMType.findByValue(iprot.readI32());
+        struct.setDataMoveTypeIsSet(true);
       }
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/64a38753/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index 8d4b714..f56ab9b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -33185,8 +33185,9 @@ uint32_t Airavata_deleteDataMovementInterface_args::read(::apache::thrift::proto
   using ::apache::thrift::protocol::TProtocolException;
 
   bool isset_authzToken = false;
-  bool isset_computeResourceId = false;
+  bool isset_resourceId = false;
   bool isset_dataMovementInterfaceId = false;
+  bool isset_dataMoveType = false;
 
   while (true)
   {
@@ -33206,8 +33207,8 @@ uint32_t Airavata_deleteDataMovementInterface_args::read(::apache::thrift::proto
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->computeResourceId);
-          isset_computeResourceId = true;
+          xfer += iprot->readString(this->resourceId);
+          isset_resourceId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -33220,6 +33221,16 @@ uint32_t Airavata_deleteDataMovementInterface_args::read(::apache::thrift::proto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast369;
+          xfer += iprot->readI32(ecast369);
+          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast369;
+          isset_dataMoveType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -33231,10 +33242,12 @@ uint32_t Airavata_deleteDataMovementInterface_args::read(::apache::thrift::proto
 
   if (!isset_authzToken)
     throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_computeResourceId)
+  if (!isset_resourceId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_dataMovementInterfaceId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_dataMoveType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -33247,14 +33260,18 @@ uint32_t Airavata_deleteDataMovementInterface_args::write(::apache::thrift::prot
   xfer += this->authzToken.write(oprot);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->computeResourceId);
+  xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->resourceId);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->dataMovementInterfaceId);
   xfer += oprot->writeFieldEnd();
 
+  xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeI32((int32_t)this->dataMoveType);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -33274,14 +33291,18 @@ uint32_t Airavata_deleteDataMovementInterface_pargs::write(::apache::thrift::pro
   xfer += (*(this->authzToken)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString((*(this->computeResourceId)));
+  xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->resourceId)));
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->dataMovementInterfaceId)));
   xfer += oprot->writeFieldEnd();
 
+  xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeI32((int32_t)(*(this->dataMoveType)));
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -37534,14 +37555,14 @@ uint32_t Airavata_getAllGatewayComputeResourcePreferences_result::read(::apache:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size369;
-            ::apache::thrift::protocol::TType _etype372;
-            xfer += iprot->readListBegin(_etype372, _size369);
-            this->success.resize(_size369);
-            uint32_t _i373;
-            for (_i373 = 0; _i373 < _size369; ++_i373)
+            uint32_t _size370;
+            ::apache::thrift::protocol::TType _etype373;
+            xfer += iprot->readListBegin(_etype373, _size370);
+            this->success.resize(_size370);
+            uint32_t _i374;
+            for (_i374 = 0; _i374 < _size370; ++_i374)
             {
-              xfer += this->success[_i373].read(iprot);
+              xfer += this->success[_i374].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -37604,10 +37625,10 @@ uint32_t Airavata_getAllGatewayComputeResourcePreferences_result::write(::apache
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> ::const_iterator _iter374;
-      for (_iter374 = this->success.begin(); _iter374 != this->success.end(); ++_iter374)
+      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> ::const_iterator _iter375;
+      for (_iter375 = this->success.begin(); _iter375 != this->success.end(); ++_iter375)
       {
-        xfer += (*_iter374).write(oprot);
+        xfer += (*_iter375).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -37664,14 +37685,14 @@ uint32_t Airavata_getAllGatewayComputeResourcePreferences_presult::read(::apache
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size375;
-            ::apache::thrift::protocol::TType _etype378;
-            xfer += iprot->readListBegin(_etype378, _size375);
-            (*(this->success)).resize(_size375);
-            uint32_t _i379;
-            for (_i379 = 0; _i379 < _size375; ++_i379)
+            uint32_t _size376;
+            ::apache::thrift::protocol::TType _etype379;
+            xfer += iprot->readListBegin(_etype379, _size376);
+            (*(this->success)).resize(_size376);
+            uint32_t _i380;
+            for (_i380 = 0; _i380 < _size376; ++_i380)
             {
-              xfer += (*(this->success))[_i379].read(iprot);
+              xfer += (*(this->success))[_i380].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -37855,14 +37876,14 @@ uint32_t Airavata_getAllGatewayStoragePreferences_result::read(::apache::thrift:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size380;
-            ::apache::thrift::protocol::TType _etype383;
-            xfer += iprot->readListBegin(_etype383, _size380);
-            this->success.resize(_size380);
-            uint32_t _i384;
-            for (_i384 = 0; _i384 < _size380; ++_i384)
+            uint32_t _size381;
+            ::apache::thrift::protocol::TType _etype384;
+            xfer += iprot->readListBegin(_etype384, _size381);
+            this->success.resize(_size381);
+            uint32_t _i385;
+            for (_i385 = 0; _i385 < _size381; ++_i385)
             {
-              xfer += this->success[_i384].read(iprot);
+              xfer += this->success[_i385].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -37925,10 +37946,10 @@ uint32_t Airavata_getAllGatewayStoragePreferences_result::write(::apache::thrift
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference> ::const_iterator _iter385;
-      for (_iter385 = this->success.begin(); _iter385 != this->success.end(); ++_iter385)
+      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference> ::const_iterator _iter386;
+      for (_iter386 = this->success.begin(); _iter386 != this->success.end(); ++_iter386)
       {
-        xfer += (*_iter385).write(oprot);
+        xfer += (*_iter386).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -37985,14 +38006,14 @@ uint32_t Airavata_getAllGatewayStoragePreferences_presult::read(::apache::thrift
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size386;
-            ::apache::thrift::protocol::TType _etype389;
-            xfer += iprot->readListBegin(_etype389, _size386);
-            (*(this->success)).resize(_size386);
-            uint32_t _i390;
-            for (_i390 = 0; _i390 < _size386; ++_i390)
+            uint32_t _size387;
+            ::apache::thrift::protocol::TType _etype390;
+            xfer += iprot->readListBegin(_etype390, _size387);
+            (*(this->success)).resize(_size387);
+            uint32_t _i391;
+            for (_i391 = 0; _i391 < _size387; ++_i391)
             {
-              xfer += (*(this->success))[_i390].read(iprot);
+              xfer += (*(this->success))[_i391].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -38157,14 +38178,14 @@ uint32_t Airavata_getAllGatewayResourceProfiles_result::read(::apache::thrift::p
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size391;
-            ::apache::thrift::protocol::TType _etype394;
-            xfer += iprot->readListBegin(_etype394, _size391);
-            this->success.resize(_size391);
-            uint32_t _i395;
-            for (_i395 = 0; _i395 < _size391; ++_i395)
+            uint32_t _size392;
+            ::apache::thrift::protocol::TType _etype395;
+            xfer += iprot->readListBegin(_etype395, _size392);
+            this->success.resize(_size392);
+            uint32_t _i396;
+            for (_i396 = 0; _i396 < _size392; ++_i396)
             {
-              xfer += this->success[_i395].read(iprot);
+              xfer += this->success[_i396].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -38227,10 +38248,10 @@ uint32_t Airavata_getAllGatewayResourceProfiles_result::write(::apache::thrift::
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> ::const_iterator _iter396;
-      for (_iter396 = this->success.begin(); _iter396 != this->success.end(); ++_iter396)
+      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> ::const_iterator _iter397;
+      for (_iter397 = this->success.begin(); _iter397 != this->success.end(); ++_iter397)
       {
-        xfer += (*_iter396).write(oprot);
+        xfer += (*_iter397).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -38287,14 +38308,14 @@ uint32_t Airavata_getAllGatewayResourceProfiles_presult::read(::apache::thrift::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size397;
-            ::apache::thrift::protocol::TType _etype400;
-            xfer += iprot->readListBegin(_etype400, _size397);
-            (*(this->success)).resize(_size397);
-            uint32_t _i401;
-            for (_i401 = 0; _i401 < _size397; ++_i401)
+            uint32_t _size398;
+            ::apache::thrift::protocol::TType _etype401;
+            xfer += iprot->readListBegin(_etype401, _size398);
+            (*(this->success)).resize(_size398);
+            uint32_t _i402;
+            for (_i402 = 0; _i402 < _size398; ++_i402)
             {
-              xfer += (*(this->success))[_i401].read(iprot);
+              xfer += (*(this->success))[_i402].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -39748,14 +39769,14 @@ uint32_t Airavata_getAllWorkflows_result::read(::apache::thrift::protocol::TProt
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size402;
-            ::apache::thrift::protocol::TType _etype405;
-            xfer += iprot->readListBegin(_etype405, _size402);
-            this->success.resize(_size402);
-            uint32_t _i406;
-            for (_i406 = 0; _i406 < _size402; ++_i406)
+            uint32_t _size403;
+            ::apache::thrift::protocol::TType _etype406;
+            xfer += iprot->readListBegin(_etype406, _size403);
+            this->success.resize(_size403);
+            uint32_t _i407;
+            for (_i407 = 0; _i407 < _size403; ++_i407)
             {
-              xfer += iprot->readString(this->success[_i406]);
+              xfer += iprot->readString(this->success[_i407]);
             }
             xfer += iprot->readListEnd();
           }
@@ -39818,10 +39839,10 @@ uint32_t Airavata_getAllWorkflows_result::write(::apache::thrift::protocol::TPro
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter407;
-      for (_iter407 = this->success.begin(); _iter407 != this->success.end(); ++_iter407)
+      std::vector<std::string> ::const_iterator _iter408;
+      for (_iter408 = this->success.begin(); _iter408 != this->success.end(); ++_iter408)
       {
-        xfer += oprot->writeString((*_iter407));
+        xfer += oprot->writeString((*_iter408));
       }
       xfer += oprot->writeListEnd();
     }
@@ -39878,14 +39899,14 @@ uint32_t Airavata_getAllWorkflows_presult::read(::apache::thrift::protocol::TPro
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size408;
-            ::apache::thrift::protocol::TType _etype411;
-            xfer += iprot->readListBegin(_etype411, _size408);
-            (*(this->success)).resize(_size408);
-            uint32_t _i412;
-            for (_i412 = 0; _i412 < _size408; ++_i412)
+            uint32_t _size409;
+            ::apache::thrift::protocol::TType _etype412;
+            xfer += iprot->readListBegin(_etype412, _size409);
+            (*(this->success)).resize(_size409);
+            uint32_t _i413;
+            for (_i413 = 0; _i413 < _size409; ++_i413)
             {
-              xfer += iprot->readString((*(this->success))[_i412]);
+              xfer += iprot->readString((*(this->success))[_i413]);
             }
             xfer += iprot->readListEnd();
           }
@@ -50989,21 +51010,22 @@ bool AiravataClient::recv_deleteJobSubmissionInterface()
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteJobSubmissionInterface failed: unknown result");
 }
 
-bool AiravataClient::deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId)
+bool AiravataClient::deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
 {
-  send_deleteDataMovementInterface(authzToken, computeResourceId, dataMovementInterfaceId);
+  send_deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
   return recv_deleteDataMovementInterface();
 }
 
-void AiravataClient::send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId)
+void AiravataClient::send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("deleteDataMovementInterface", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_deleteDataMovementInterface_pargs args;
   args.authzToken = &authzToken;
-  args.computeResourceId = &computeResourceId;
+  args.resourceId = &resourceId;
   args.dataMovementInterfaceId = &dataMovementInterfaceId;
+  args.dataMoveType = &dataMoveType;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -60385,7 +60407,7 @@ void AiravataProcessor::process_deleteDataMovementInterface(int32_t seqid, ::apa
 
   Airavata_deleteDataMovementInterface_result result;
   try {
-    result.success = iface_->deleteDataMovementInterface(args.authzToken, args.computeResourceId, args.dataMovementInterfaceId);
+    result.success = iface_->deleteDataMovementInterface(args.authzToken, args.resourceId, args.dataMovementInterfaceId, args.dataMoveType);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -73287,13 +73309,13 @@ bool AiravataConcurrentClient::recv_deleteJobSubmissionInterface(const int32_t s
   } // end while(true)
 }
 
-bool AiravataConcurrentClient::deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId)
+bool AiravataConcurrentClient::deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
 {
-  int32_t seqid = send_deleteDataMovementInterface(authzToken, computeResourceId, dataMovementInterfaceId);
+  int32_t seqid = send_deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
   return recv_deleteDataMovementInterface(seqid);
 }
 
-int32_t AiravataConcurrentClient::send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId)
+int32_t AiravataConcurrentClient::send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
 {
   int32_t cseqid = this->sync_.generateSeqId();
   ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -73301,8 +73323,9 @@ int32_t AiravataConcurrentClient::send_deleteDataMovementInterface(const  ::apac
 
   Airavata_deleteDataMovementInterface_pargs args;
   args.authzToken = &authzToken;
-  args.computeResourceId = &computeResourceId;
+  args.resourceId = &resourceId;
   args.dataMovementInterfaceId = &dataMovementInterfaceId;
+  args.dataMoveType = &dataMoveType;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();

http://git-wip-us.apache.org/repos/asf/airavata/blob/64a38753/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index a8e91cc..4aa735f 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -2247,10 +2247,11 @@ class AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param computeResourceId
+   * @param resourceId
    * @param dataMovementInterfaceId
+   * @param dataMoveType
    */
-  virtual bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId) = 0;
+  virtual bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType) = 0;
   virtual void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager) = 0;
   virtual bool updateResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& updatedResourceJobManager) = 0;
   virtual void getResourceJobManager( ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId) = 0;
@@ -2979,7 +2980,7 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* computeResourceId */, const std::string& /* dataMovementInterfaceId */) {
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const std::string& /* dataMovementInterfaceId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */) {
     bool _return = false;
     return _return;
   }
@@ -17964,28 +17965,33 @@ class Airavata_deleteDataMovementInterface_args {
 
   Airavata_deleteDataMovementInterface_args(const Airavata_deleteDataMovementInterface_args&);
   Airavata_deleteDataMovementInterface_args& operator=(const Airavata_deleteDataMovementInterface_args&);
-  Airavata_deleteDataMovementInterface_args() : computeResourceId(), dataMovementInterfaceId() {
+  Airavata_deleteDataMovementInterface_args() : resourceId(), dataMovementInterfaceId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0) {
   }
 
   virtual ~Airavata_deleteDataMovementInterface_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string computeResourceId;
+  std::string resourceId;
   std::string dataMovementInterfaceId;
+   ::apache::airavata::model::data::movement::DMType::type dataMoveType;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  void __set_computeResourceId(const std::string& val);
+  void __set_resourceId(const std::string& val);
 
   void __set_dataMovementInterfaceId(const std::string& val);
 
+  void __set_dataMoveType(const  ::apache::airavata::model::data::movement::DMType::type val);
+
   bool operator == (const Airavata_deleteDataMovementInterface_args & rhs) const
   {
     if (!(authzToken == rhs.authzToken))
       return false;
-    if (!(computeResourceId == rhs.computeResourceId))
+    if (!(resourceId == rhs.resourceId))
       return false;
     if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
       return false;
+    if (!(dataMoveType == rhs.dataMoveType))
+      return false;
     return true;
   }
   bool operator != (const Airavata_deleteDataMovementInterface_args &rhs) const {
@@ -18006,8 +18012,9 @@ class Airavata_deleteDataMovementInterface_pargs {
 
   virtual ~Airavata_deleteDataMovementInterface_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* computeResourceId;
+  const std::string* resourceId;
   const std::string* dataMovementInterfaceId;
+  const  ::apache::airavata::model::data::movement::DMType::type* dataMoveType;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
@@ -23022,8 +23029,8 @@ class AiravataClient : virtual public AiravataIf {
   bool deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId);
   void send_deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId);
   bool recv_deleteJobSubmissionInterface();
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId);
-  void send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId);
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
+  void send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
   bool recv_deleteDataMovementInterface();
   void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager);
   void send_registerResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager);
@@ -24462,13 +24469,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->deleteJobSubmissionInterface(authzToken, computeResourceId, jobSubmissionInterfaceId);
   }
 
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId) {
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->deleteDataMovementInterface(authzToken, computeResourceId, dataMovementInterfaceId);
+      ifaces_[i]->deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
     }
-    return ifaces_[i]->deleteDataMovementInterface(authzToken, computeResourceId, dataMovementInterfaceId);
+    return ifaces_[i]->deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
   }
 
   void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager) {
@@ -25130,8 +25137,8 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   bool deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId);
   int32_t send_deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId);
   bool recv_deleteJobSubmissionInterface(const int32_t seqid);
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId);
-  int32_t send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId);
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
+  int32_t send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
   bool recv_deleteDataMovementInterface(const int32_t seqid);
   void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager);
   int32_t send_registerResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager);

http://git-wip-us.apache.org/repos/asf/airavata/blob/64a38753/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index ee0d60d..f64fda3 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -2564,10 +2564,11 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param computeResourceId
+   * @param resourceId
    * @param dataMovementInterfaceId
+   * @param dataMoveType
    */
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId) {
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType) {
     // Your implementation goes here
     printf("deleteDataMovementInterface\n");
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/64a38753/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index df39f6f..25e814c 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -2839,15 +2839,16 @@ interface AiravataIf {
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
+   * @param string $resourceId
    * @param string $dataMovementInterfaceId
+   * @param int $dataMoveType
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $dataMovementInterfaceId);
+  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType);
   /**
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $resourceJobManager
@@ -10289,18 +10290,19 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("deleteJobSubmissionInterface failed: unknown result");
   }
 
-  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $dataMovementInterfaceId)
+  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType)
   {
-    $this->send_deleteDataMovementInterface($authzToken, $computeResourceId, $dataMovementInterfaceId);
+    $this->send_deleteDataMovementInterface($authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType);
     return $this->recv_deleteDataMovementInterface();
   }
 
-  public function send_deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $dataMovementInterfaceId)
+  public function send_deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType)
   {
     $args = new \Airavata\API\Airavata_deleteDataMovementInterface_args();
     $args->authzToken = $authzToken;
-    $args->computeResourceId = $computeResourceId;
+    $args->resourceId = $resourceId;
     $args->dataMovementInterfaceId = $dataMovementInterfaceId;
+    $args->dataMoveType = $dataMoveType;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
     {
@@ -45026,11 +45028,15 @@ class Airavata_deleteDataMovementInterface_args {
   /**
    * @var string
    */
-  public $computeResourceId = null;
+  public $resourceId = null;
   /**
    * @var string
    */
   public $dataMovementInterfaceId = null;
+  /**
+   * @var int
+   */
+  public $dataMoveType = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -45041,25 +45047,32 @@ class Airavata_deleteDataMovementInterface_args {
           'class' => '\Airavata\Model\Security\AuthzToken',
           ),
         2 => array(
-          'var' => 'computeResourceId',
+          'var' => 'resourceId',
           'type' => TType::STRING,
           ),
         3 => array(
           'var' => 'dataMovementInterfaceId',
           'type' => TType::STRING,
           ),
+        4 => array(
+          'var' => 'dataMoveType',
+          'type' => TType::I32,
+          ),
         );
     }
     if (is_array($vals)) {
       if (isset($vals['authzToken'])) {
         $this->authzToken = $vals['authzToken'];
       }
-      if (isset($vals['computeResourceId'])) {
-        $this->computeResourceId = $vals['computeResourceId'];
+      if (isset($vals['resourceId'])) {
+        $this->resourceId = $vals['resourceId'];
       }
       if (isset($vals['dataMovementInterfaceId'])) {
         $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
       }
+      if (isset($vals['dataMoveType'])) {
+        $this->dataMoveType = $vals['dataMoveType'];
+      }
     }
   }
 
@@ -45092,7 +45105,7 @@ class Airavata_deleteDataMovementInterface_args {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->computeResourceId);
+            $xfer += $input->readString($this->resourceId);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -45104,6 +45117,13 @@ class Airavata_deleteDataMovementInterface_args {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->dataMoveType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -45125,9 +45145,9 @@ class Airavata_deleteDataMovementInterface_args {
       $xfer += $this->authzToken->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->computeResourceId !== null) {
-      $xfer += $output->writeFieldBegin('computeResourceId', TType::STRING, 2);
-      $xfer += $output->writeString($this->computeResourceId);
+    if ($this->resourceId !== null) {
+      $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2);
+      $xfer += $output->writeString($this->resourceId);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->dataMovementInterfaceId !== null) {
@@ -45135,6 +45155,11 @@ class Airavata_deleteDataMovementInterface_args {
       $xfer += $output->writeString($this->dataMovementInterfaceId);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->dataMoveType !== null) {
+      $xfer += $output->writeFieldBegin('dataMoveType', TType::I32, 4);
+      $xfer += $output->writeI32($this->dataMoveType);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/64a38753/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index f75c290..869a10d 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -129,7 +129,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  bool changeJobSubmissionPriorities(AuthzToken authzToken,  jobSubmissionPriorityMap)')
   print('  bool changeDataMovementPriorities(AuthzToken authzToken,  dataMovementPriorityMap)')
   print('  bool deleteJobSubmissionInterface(AuthzToken authzToken, string computeResourceId, string jobSubmissionInterfaceId)')
-  print('  bool deleteDataMovementInterface(AuthzToken authzToken, string computeResourceId, string dataMovementInterfaceId)')
+  print('  bool deleteDataMovementInterface(AuthzToken authzToken, string resourceId, string dataMovementInterfaceId, DMType dataMoveType)')
   print('  string registerResourceJobManager(AuthzToken authzToken, ResourceJobManager resourceJobManager)')
   print('  bool updateResourceJobManager(AuthzToken authzToken, string resourceJobManagerId, ResourceJobManager updatedResourceJobManager)')
   print('  ResourceJobManager getResourceJobManager(AuthzToken authzToken, string resourceJobManagerId)')
@@ -850,10 +850,10 @@ elif cmd == 'deleteJobSubmissionInterface':
   pp.pprint(client.deleteJobSubmissionInterface(eval(args[0]),args[1],args[2],))
 
 elif cmd == 'deleteDataMovementInterface':
-  if len(args) != 3:
-    print('deleteDataMovementInterface requires 3 args')
+  if len(args) != 4:
+    print('deleteDataMovementInterface requires 4 args')
     sys.exit(1)
-  pp.pprint(client.deleteDataMovementInterface(eval(args[0]),args[1],args[2],))
+  pp.pprint(client.deleteDataMovementInterface(eval(args[0]),args[1],args[2],eval(args[3]),))
 
 elif cmd == 'registerResourceJobManager':
   if len(args) != 2:

http://git-wip-us.apache.org/repos/asf/airavata/blob/64a38753/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index cb51ff6..54b33d6 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -2437,7 +2437,7 @@ class Iface:
     """
     pass
 
-  def deleteDataMovementInterface(self, authzToken, computeResourceId, dataMovementInterfaceId):
+  def deleteDataMovementInterface(self, authzToken, resourceId, dataMovementInterfaceId, dataMoveType):
     """
     Delete a given data movement interface
 
@@ -2451,8 +2451,9 @@ class Iface:
 
     Parameters:
      - authzToken
-     - computeResourceId
+     - resourceId
      - dataMovementInterfaceId
+     - dataMoveType
     """
     pass
 
@@ -8937,7 +8938,7 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteJobSubmissionInterface failed: unknown result")
 
-  def deleteDataMovementInterface(self, authzToken, computeResourceId, dataMovementInterfaceId):
+  def deleteDataMovementInterface(self, authzToken, resourceId, dataMovementInterfaceId, dataMoveType):
     """
     Delete a given data movement interface
 
@@ -8951,18 +8952,20 @@ class Client(Iface):
 
     Parameters:
      - authzToken
-     - computeResourceId
+     - resourceId
      - dataMovementInterfaceId
+     - dataMoveType
     """
-    self.send_deleteDataMovementInterface(authzToken, computeResourceId, dataMovementInterfaceId)
+    self.send_deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType)
     return self.recv_deleteDataMovementInterface()
 
-  def send_deleteDataMovementInterface(self, authzToken, computeResourceId, dataMovementInterfaceId):
+  def send_deleteDataMovementInterface(self, authzToken, resourceId, dataMovementInterfaceId, dataMoveType):
     self._oprot.writeMessageBegin('deleteDataMovementInterface', TMessageType.CALL, self._seqid)
     args = deleteDataMovementInterface_args()
     args.authzToken = authzToken
-    args.computeResourceId = computeResourceId
+    args.resourceId = resourceId
     args.dataMovementInterfaceId = dataMovementInterfaceId
+    args.dataMoveType = dataMoveType
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
@@ -14027,7 +14030,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = deleteDataMovementInterface_result()
     try:
-      result.success = self._handler.deleteDataMovementInterface(args.authzToken, args.computeResourceId, args.dataMovementInterfaceId)
+      result.success = self._handler.deleteDataMovementInterface(args.authzToken, args.resourceId, args.dataMovementInterfaceId, args.dataMoveType)
       msg_type = TMessageType.REPLY
     except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
       raise
@@ -38135,21 +38138,24 @@ class deleteDataMovementInterface_args:
   """
   Attributes:
    - authzToken
-   - computeResourceId
+   - resourceId
    - dataMovementInterfaceId
+   - dataMoveType
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
-    (2, TType.STRING, 'computeResourceId', None, None, ), # 2
+    (2, TType.STRING, 'resourceId', None, None, ), # 2
     (3, TType.STRING, 'dataMovementInterfaceId', None, None, ), # 3
+    (4, TType.I32, 'dataMoveType', None, None, ), # 4
   )
 
-  def __init__(self, authzToken=None, computeResourceId=None, dataMovementInterfaceId=None,):
+  def __init__(self, authzToken=None, resourceId=None, dataMovementInterfaceId=None, dataMoveType=None,):
     self.authzToken = authzToken
-    self.computeResourceId = computeResourceId
+    self.resourceId = resourceId
     self.dataMovementInterfaceId = dataMovementInterfaceId
+    self.dataMoveType = dataMoveType
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -38168,7 +38174,7 @@ class deleteDataMovementInterface_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.computeResourceId = iprot.readString()
+          self.resourceId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
@@ -38176,6 +38182,11 @@ class deleteDataMovementInterface_args:
           self.dataMovementInterfaceId = iprot.readString()
         else:
           iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I32:
+          self.dataMoveType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -38190,32 +38201,39 @@ class deleteDataMovementInterface_args:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.computeResourceId is not None:
-      oprot.writeFieldBegin('computeResourceId', TType.STRING, 2)
-      oprot.writeString(self.computeResourceId)
+    if self.resourceId is not None:
+      oprot.writeFieldBegin('resourceId', TType.STRING, 2)
+      oprot.writeString(self.resourceId)
       oprot.writeFieldEnd()
     if self.dataMovementInterfaceId is not None:
       oprot.writeFieldBegin('dataMovementInterfaceId', TType.STRING, 3)
       oprot.writeString(self.dataMovementInterfaceId)
       oprot.writeFieldEnd()
+    if self.dataMoveType is not None:
+      oprot.writeFieldBegin('dataMoveType', TType.I32, 4)
+      oprot.writeI32(self.dataMoveType)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.computeResourceId is None:
-      raise TProtocol.TProtocolException(message='Required field computeResourceId is unset!')
+    if self.resourceId is None:
+      raise TProtocol.TProtocolException(message='Required field resourceId is unset!')
     if self.dataMovementInterfaceId is None:
       raise TProtocol.TProtocolException(message='Required field dataMovementInterfaceId is unset!')
+    if self.dataMoveType is None:
+      raise TProtocol.TProtocolException(message='Required field dataMoveType is unset!')
     return
 
 
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.computeResourceId)
+    value = (value * 31) ^ hash(self.resourceId)
     value = (value * 31) ^ hash(self.dataMovementInterfaceId)
+    value = (value * 31) ^ hash(self.dataMoveType)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/64a38753/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
index f26fd55..8c1f084 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-12")
 public class ComponentStatus implements org.apache.thrift.TBase<ComponentStatus, ComponentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ComponentStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComponentStatus");