You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2018/05/21 21:30:41 UTC

[airavata] branch group-based-auth updated (d279ebc -> 803773c)

This is an automated email from the ASF dual-hosted git repository.

machristie pushed a change to branch group-based-auth
in repository https://gitbox.apache.org/repos/asf/airavata.git.


    from d279ebc  AIRAVATA-2793 Adding @SecurityCheck annotations
     new d5fd415  AIRAVATA-2794 Thrift stubs: getGatewayGroups method
     new 803773c  AIRAVATA-2794 getGatewayGroups implementation

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../api/server/handler/AiravataServerHandler.java  |    21 +-
 .../java/org/apache/airavata/api/Airavata.java     | 52480 ++++++++++---------
 .../resources/lib/airavata/api/Airavata-remote     |    21 +
 .../main/resources/lib/airavata/api/Airavata.py    |  9815 ++--
 .../src/main/resources/lib/airavata/api/ttypes.py  |     1 +
 .../appcatalog/gatewaygroups}/__init__.py          |     0
 .../appcatalog/gatewaygroups}/constants.py         |     0
 .../model/appcatalog/gatewaygroups/ttypes.py       |   117 +
 .../main/resources/lib/airavata/model/ttypes.py    |     1 +
 .../airavata-apis/airavata_api.thrift              |     9 +
 10 files changed, 32424 insertions(+), 30041 deletions(-)
 copy airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/airavata/{service/profile/user/cpi/error => model/appcatalog/gatewaygroups}/__init__.py (100%)
 copy airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/airavata/{service/profile/user/cpi/error => model/appcatalog/gatewaygroups}/constants.py (100%)
 create mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/airavata/model/appcatalog/gatewaygroups/ttypes.py

-- 
To stop receiving notification emails like this one, please contact
machristie@apache.org.

[airavata] 02/02: AIRAVATA-2794 getGatewayGroups implementation

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch group-based-auth
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 803773c6f9220067aa3243236be06f5abbfea51d
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Mon May 21 16:53:30 2018 -0400

    AIRAVATA-2794 getGatewayGroups implementation
---
 .../api/server/handler/AiravataServerHandler.java   | 21 ++++++++++++++++++++-
 .../airavata-apis/airavata_api.thrift               |  9 +++++++++
 2 files changed, 29 insertions(+), 1 deletion(-)

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 9b6aae9..5d0d062 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
@@ -5621,7 +5621,26 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
     }
 
-    private void submitExperiment(String gatewayId,String experimentId) throws AiravataException {
+    @Override
+    public GatewayGroups getGatewayGroups(AuthzToken authzToken) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID);
+
+        RegistryService.Client regClient = registryClientPool.getResource();
+        try {
+            GatewayGroups gatewayGroups = retrieveGatewayGroups(regClient, gatewayId);
+            registryClientPool.returnResource(regClient);
+            return gatewayGroups;
+        } catch (Exception e) {
+            String msg = "Error retrieving GatewayGroups for gateway: " + gatewayId;
+            logger.error(msg, e);
+            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage(msg+" More info : " + e.getMessage());
+            registryClientPool.returnBrokenResource(regClient);
+            throw exception;
+        }
+    }
+
+    private void submitExperiment(String gatewayId, String experimentId) throws AiravataException {
         ExperimentSubmitEvent event = new ExperimentSubmitEvent(experimentId, gatewayId);
         MessageContext messageContext = new MessageContext(event, MessageType.EXPERIMENT, "LAUNCH.EXP-" + UUID.randomUUID().toString(), gatewayId);
         messageContext.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index 46f4d73..8cba91e 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -43,6 +43,7 @@ include "../data-models/resource-catalog-models/gateway_resource_profile_model.t
 include "../data-models/resource-catalog-models/group_resource_profile_model.thrift"
 include "../data-models/resource-catalog-models/user_resource_profile_model.thrift"
 include "../data-models/resource-catalog-models/data_movement_models.thrift"
+include "../data-models/resource-catalog-models/gateway_groups_model.thrift"
 include "../data-models/workflow-models/workflow_data_model.thrift"
 include "../data-models/replica-catalog-models/replica_catalog_models.thrift"
 include "../data-models/user-tenant-group-models/group_manager_model.thrift"
@@ -3603,6 +3604,14 @@ service Airavata {
                                                                                          2: airavata_errors.AiravataClientException ace,
                                                                                          3: airavata_errors.AiravataSystemException ase,
                                                                                          4: airavata_errors.AuthorizationException ae)
+  /**
+   * GatewayGroups API methods
+   */
+  gateway_groups_model.GatewayGroups getGatewayGroups(1: required security_model.AuthzToken authzToken)
+        throws (1: airavata_errors.InvalidRequestException ire,
+                2: airavata_errors.AiravataClientException ace,
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
  //
  //End of API
  }

-- 
To stop receiving notification emails like this one, please contact
machristie@apache.org.

[airavata] 01/02: AIRAVATA-2794 Thrift stubs: getGatewayGroups method

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch group-based-auth
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit d5fd41511eadd25dabf85f7a2e7214d135abd8d8
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Mon May 21 16:51:43 2018 -0400

    AIRAVATA-2794 Thrift stubs: getGatewayGroups method
---
 .../java/org/apache/airavata/api/Airavata.java     | 52480 ++++++++++---------
 .../resources/lib/airavata/api/Airavata-remote     |    21 +
 .../main/resources/lib/airavata/api/Airavata.py    |  9815 ++--
 .../src/main/resources/lib/airavata/api/ttypes.py  |     1 +
 .../model/appcatalog/gatewaygroups/__init__.py     |     1 +
 .../model/appcatalog/gatewaygroups/constants.py    |    12 +
 .../model/appcatalog/gatewaygroups/ttypes.py       |   117 +
 .../main/resources/lib/airavata/model/ttypes.py    |     1 +
 8 files changed, 32408 insertions(+), 30040 deletions(-)

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 2aeb681..d7813be 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
@@ -3079,6 +3079,13 @@ public class Airavata {
 
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getGroupComputeResourcePolicyList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId) 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. [...]
 
+    /**
+     * GatewayGroups API methods
+     * 
+     * @param authzToken
+     */
+    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups(org.apache.airavata.model.security.AuthzToken authzToken) 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 interface AsyncIface {
@@ -3453,6 +3460,8 @@ public class Airavata {
 
     public void getGroupComputeResourcePolicyList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> resultHandler) throws org.apache.thrift.TException;
 
+    public void getGatewayGroups(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> resultHandler) throws org.apache.thrift.TException;
+
   }
 
   public static class Client extends org.apache.thrift.TServiceClient implements Iface {
@@ -10270,6 +10279,41 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupComputeResourcePolicyList failed: unknown result");
     }
 
+    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups(org.apache.airavata.model.security.AuthzToken authzToken) 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_getGatewayGroups(authzToken);
+      return recv_getGatewayGroups();
+    }
+
+    public void send_getGatewayGroups(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.thrift.TException
+    {
+      getGatewayGroups_args args = new getGatewayGroups_args();
+      args.setAuthzToken(authzToken);
+      sendBase("getGatewayGroups", args);
+    }
+
+    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups recv_getGatewayGroups() 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
+    {
+      getGatewayGroups_result result = new getGatewayGroups_result();
+      receiveBase(result, "getGatewayGroups");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.ire != null) {
+        throw result.ire;
+      }
+      if (result.ace != null) {
+        throw result.ace;
+      }
+      if (result.ase != null) {
+        throw result.ase;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayGroups failed: unknown result");
+    }
+
   }
   public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
     public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
@@ -17204,6 +17248,38 @@ public class Airavata {
       }
     }
 
+    public void getGatewayGroups(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getGatewayGroups_call method_call = new getGatewayGroups_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getGatewayGroups_call extends org.apache.thrift.async.TAsyncMethodCall<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      public getGatewayGroups_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> 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;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getGatewayGroups_args args = new getGatewayGroups_args();
+        args.setAuthzToken(authzToken);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getResult() 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 {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getGatewayGroups();
+      }
+    }
+
   }
 
   public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
@@ -17402,6 +17478,7 @@ public class Airavata {
       processMap.put("getGroupComputeResourcePrefList", new getGroupComputeResourcePrefList());
       processMap.put("getGroupBatchQueueResourcePolicyList", new getGroupBatchQueueResourcePolicyList());
       processMap.put("getGroupComputeResourcePolicyList", new getGroupComputeResourcePolicyList());
+      processMap.put("getGatewayGroups", new getGatewayGroups());
       return processMap;
     }
 
@@ -23029,6 +23106,36 @@ public class Airavata {
       }
     }
 
+    public static class getGatewayGroups<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getGatewayGroups_args> {
+      public getGatewayGroups() {
+        super("getGatewayGroups");
+      }
+
+      public getGatewayGroups_args getEmptyArgsInstance() {
+        return new getGatewayGroups_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getGatewayGroups_result getResult(I iface, getGatewayGroups_args args) throws org.apache.thrift.TException {
+        getGatewayGroups_result result = new getGatewayGroups_result();
+        try {
+          result.success = iface.getGatewayGroups(args.authzToken);
+        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
+          result.ire = ire;
+        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
+          result.ace = ace;
+        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
+          result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
   }
 
   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
@@ -23227,6 +23334,7 @@ public class Airavata {
       processMap.put("getGroupComputeResourcePrefList", new getGroupComputeResourcePrefList());
       processMap.put("getGroupBatchQueueResourcePolicyList", new getGroupBatchQueueResourcePolicyList());
       processMap.put("getGroupComputeResourcePolicyList", new getGroupComputeResourcePolicyList());
+      processMap.put("getGatewayGroups", new getGatewayGroups());
       return processMap;
     }
 
@@ -37550,393 +37658,98 @@ public class Airavata {
       }
     }
 
-  }
-
-  public static class getAPIVersion_args implements org.apache.thrift.TBase<getAPIVersion_args, getAPIVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_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.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_argsTupleSchemeFactory();
-
-    public org.apache.airavata.model.security.AuthzToken authzToken; // 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");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_args.class, metaDataMap);
-    }
-
-    public getAPIVersion_args() {
-    }
-
-    public getAPIVersion_args(
-      org.apache.airavata.model.security.AuthzToken authzToken)
-    {
-      this();
-      this.authzToken = authzToken;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAPIVersion_args(getAPIVersion_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-    }
-
-    public getAPIVersion_args deepCopy() {
-      return new getAPIVersion_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public getAPIVersion_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getAPIVersion_args)
-        return this.equals((getAPIVersion_args)that);
-      return false;
-    }
-
-    public boolean equals(getAPIVersion_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
-      if (isSetAuthzToken())
-        hashCode = hashCode * 8191 + authzToken.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getAPIVersion_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
+    public static class getGatewayGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayGroups_args, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> {
+      public getGatewayGroups() {
+        super("getGatewayGroups");
       }
 
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
+      public getGatewayGroups_args getEmptyArgsInstance() {
+        return new getGatewayGroups_args();
       }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAPIVersion_args(");
-      boolean first = true;
 
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getAPIVersion_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_argsStandardScheme getScheme() {
-        return new getAPIVersion_argsStandardScheme();
-      }
-    }
-
-    private static class getAPIVersion_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAPIVersion_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getAPIVersion_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups o) {
+            getGatewayGroups_result result = new getGatewayGroups_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
           }
-          switch (schemeField.id) {
-            case 1: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getGatewayGroups_result result = new getGatewayGroups_result();
+            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
+              result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
+              result.setIreIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
+              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
+              result.setAceIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
+              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
+              result.setAseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
           }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getAPIVersion_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.authzToken != null) {
-          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
-          struct.authzToken.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAPIVersion_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_argsTupleScheme getScheme() {
-        return new getAPIVersion_argsTupleScheme();
+        };
       }
-    }
-
-    private static class getAPIVersion_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAPIVersion_args> {
 
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken.write(oprot);
+      protected boolean isOneway() {
+        return false;
       }
 
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-        struct.authzToken.read(iprot);
-        struct.setAuthzTokenIsSet(true);
+      public void start(I iface, getGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> resultHandler) throws org.apache.thrift.TException {
+        iface.getGatewayGroups(args.authzToken,resultHandler);
       }
     }
 
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
   }
 
-  public static class getAPIVersion_result implements org.apache.thrift.TBase<getAPIVersion_result, getAPIVersion_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_result");
+  public static class getAPIVersion_args implements org.apache.thrift.TBase<getAPIVersion_args, getAPIVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_args");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
-    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+    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.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_argsTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.AiravataClientException ace; // required
-    public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
-      SUCCESS((short)0, "success"),
-      IRE((short)1, "ire"),
-      ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
+      AUTHZ_TOKEN((short)1, "authzToken");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -37951,16 +37764,388 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // IRE
-            return IRE;
-          case 2: // ACE
-            return ACE;
-          case 3: // ASE
-            return ASE;
-          case 4: // AE
-            return AE;
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_args.class, metaDataMap);
+    }
+
+    public getAPIVersion_args() {
+    }
+
+    public getAPIVersion_args(
+      org.apache.airavata.model.security.AuthzToken authzToken)
+    {
+      this();
+      this.authzToken = authzToken;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getAPIVersion_args(getAPIVersion_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+    }
+
+    public getAPIVersion_args deepCopy() {
+      return new getAPIVersion_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public getAPIVersion_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getAPIVersion_args)
+        return this.equals((getAPIVersion_args)that);
+      return false;
+    }
+
+    public boolean equals(getAPIVersion_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
+      if (isSetAuthzToken())
+        hashCode = hashCode * 8191 + authzToken.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getAPIVersion_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAPIVersion_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class getAPIVersion_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAPIVersion_argsStandardScheme getScheme() {
+        return new getAPIVersion_argsStandardScheme();
+      }
+    }
+
+    private static class getAPIVersion_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAPIVersion_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAPIVersion_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAPIVersion_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getAPIVersion_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAPIVersion_argsTupleScheme getScheme() {
+        return new getAPIVersion_argsTupleScheme();
+      }
+    }
+
+    private static class getAPIVersion_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAPIVersion_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class getAPIVersion_result implements org.apache.thrift.TBase<getAPIVersion_result, getAPIVersion_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
+    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_resultTupleSchemeFactory();
+
+    public java.lang.String success; // required
+    public org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public org.apache.airavata.model.error.AiravataClientException ace; // required
+    public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // 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 {
+      SUCCESS((short)0, "success"),
+      IRE((short)1, "ire"),
+      ACE((short)2, "ace"),
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // IRE
+            return IRE;
+          case 2: // ACE
+            return ACE;
+          case 3: // ASE
+            return ASE;
+          case 4: // AE
+            return AE;
           default:
             return null;
         }
@@ -92849,7 +93034,1430 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("validateExperiment_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("validateExperiment_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("airavataExperimentId:");
+      if (this.airavataExperimentId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.airavataExperimentId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
+      if (airavataExperimentId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataExperimentId' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class validateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public validateExperiment_argsStandardScheme getScheme() {
+        return new validateExperiment_argsStandardScheme();
+      }
+    }
+
+    private static class validateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateExperiment_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, validateExperiment_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // AIRAVATA_EXPERIMENT_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.airavataExperimentId = iprot.readString();
+                struct.setAiravataExperimentIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, validateExperiment_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.airavataExperimentId != null) {
+          oprot.writeFieldBegin(AIRAVATA_EXPERIMENT_ID_FIELD_DESC);
+          oprot.writeString(struct.airavataExperimentId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class validateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public validateExperiment_argsTupleScheme getScheme() {
+        return new validateExperiment_argsTupleScheme();
+      }
+    }
+
+    private static class validateExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<validateExperiment_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, validateExperiment_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
+        oprot.writeString(struct.airavataExperimentId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, validateExperiment_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
+        struct.airavataExperimentId = iprot.readString();
+        struct.setAiravataExperimentIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class validateExperiment_result implements org.apache.thrift.TBase<validateExperiment_result, validateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<validateExperiment_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateExperiment_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new validateExperiment_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new validateExperiment_resultTupleSchemeFactory();
+
+    public boolean success; // required
+    public org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public org.apache.airavata.model.error.AiravataClientException ace; // required
+    public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // 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 {
+      SUCCESS((short)0, "success"),
+      IRE((short)1, "ire"),
+      ENF((short)2, "enf"),
+      ACE((short)3, "ace"),
+      ASE((short)4, "ase"),
+      AE((short)5, "ae");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // IRE
+            return IRE;
+          case 2: // ENF
+            return ENF;
+          case 3: // ACE
+            return ACE;
+          case 4: // ASE
+            return ASE;
+          case 5: // AE
+            return AE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+      tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
+      tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.ExperimentNotFoundException.class)));
+      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
+      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateExperiment_result.class, metaDataMap);
+    }
+
+    public validateExperiment_result() {
+    }
+
+    public validateExperiment_result(
+      boolean success,
+      org.apache.airavata.model.error.InvalidRequestException ire,
+      org.apache.airavata.model.error.ExperimentNotFoundException enf,
+      org.apache.airavata.model.error.AiravataClientException ace,
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.AuthorizationException ae)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+      this.ire = ire;
+      this.enf = enf;
+      this.ace = ace;
+      this.ase = ase;
+      this.ae = ae;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public validateExperiment_result(validateExperiment_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+      if (other.isSetIre()) {
+        this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
+      }
+      if (other.isSetEnf()) {
+        this.enf = new org.apache.airavata.model.error.ExperimentNotFoundException(other.enf);
+      }
+      if (other.isSetAce()) {
+        this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
+      }
+      if (other.isSetAse()) {
+        this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
+      }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
+    }
+
+    public validateExperiment_result deepCopy() {
+      return new validateExperiment_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+      this.ire = null;
+      this.enf = null;
+      this.ace = null;
+      this.ase = null;
+      this.ae = null;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public validateExperiment_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    public org.apache.airavata.model.error.InvalidRequestException getIre() {
+      return this.ire;
+    }
+
+    public validateExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+      this.ire = ire;
+      return this;
+    }
+
+    public void unsetIre() {
+      this.ire = null;
+    }
+
+    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
+    public boolean isSetIre() {
+      return this.ire != null;
+    }
+
+    public void setIreIsSet(boolean value) {
+      if (!value) {
+        this.ire = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
+      return this.enf;
+    }
+
+    public validateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+      this.enf = enf;
+      return this;
+    }
+
+    public void unsetEnf() {
+      this.enf = null;
+    }
+
+    /** Returns true if field enf is set (has been assigned a value) and false otherwise */
+    public boolean isSetEnf() {
+      return this.enf != null;
+    }
+
+    public void setEnfIsSet(boolean value) {
+      if (!value) {
+        this.enf = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AiravataClientException getAce() {
+      return this.ace;
+    }
+
+    public validateExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+      this.ace = ace;
+      return this;
+    }
+
+    public void unsetAce() {
+      this.ace = null;
+    }
+
+    /** Returns true if field ace is set (has been assigned a value) and false otherwise */
+    public boolean isSetAce() {
+      return this.ace != null;
+    }
+
+    public void setAceIsSet(boolean value) {
+      if (!value) {
+        this.ace = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AiravataSystemException getAse() {
+      return this.ase;
+    }
+
+    public validateExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+      this.ase = ase;
+      return this;
+    }
+
+    public void unsetAse() {
+      this.ase = null;
+    }
+
+    /** Returns true if field ase is set (has been assigned a value) and false otherwise */
+    public boolean isSetAse() {
+      return this.ase != null;
+    }
+
+    public void setAseIsSet(boolean value) {
+      if (!value) {
+        this.ase = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public validateExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Boolean)value);
+        }
+        break;
+
+      case IRE:
+        if (value == null) {
+          unsetIre();
+        } else {
+          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
+        }
+        break;
+
+      case ENF:
+        if (value == null) {
+          unsetEnf();
+        } else {
+          setEnf((org.apache.airavata.model.error.ExperimentNotFoundException)value);
+        }
+        break;
+
+      case ACE:
+        if (value == null) {
+          unsetAce();
+        } else {
+          setAce((org.apache.airavata.model.error.AiravataClientException)value);
+        }
+        break;
+
+      case ASE:
+        if (value == null) {
+          unsetAse();
+        } else {
+          setAse((org.apache.airavata.model.error.AiravataSystemException)value);
+        }
+        break;
+
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
+      case IRE:
+        return getIre();
+
+      case ENF:
+        return getEnf();
+
+      case ACE:
+        return getAce();
+
+      case ASE:
+        return getAse();
+
+      case AE:
+        return getAe();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case IRE:
+        return isSetIre();
+      case ENF:
+        return isSetEnf();
+      case ACE:
+        return isSetAce();
+      case ASE:
+        return isSetAse();
+      case AE:
+        return isSetAe();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof validateExperiment_result)
+        return this.equals((validateExperiment_result)that);
+      return false;
+    }
+
+    public boolean equals(validateExperiment_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      boolean this_present_ire = true && this.isSetIre();
+      boolean that_present_ire = true && that.isSetIre();
+      if (this_present_ire || that_present_ire) {
+        if (!(this_present_ire && that_present_ire))
+          return false;
+        if (!this.ire.equals(that.ire))
+          return false;
+      }
+
+      boolean this_present_enf = true && this.isSetEnf();
+      boolean that_present_enf = true && that.isSetEnf();
+      if (this_present_enf || that_present_enf) {
+        if (!(this_present_enf && that_present_enf))
+          return false;
+        if (!this.enf.equals(that.enf))
+          return false;
+      }
+
+      boolean this_present_ace = true && this.isSetAce();
+      boolean that_present_ace = true && that.isSetAce();
+      if (this_present_ace || that_present_ace) {
+        if (!(this_present_ace && that_present_ace))
+          return false;
+        if (!this.ace.equals(that.ace))
+          return false;
+      }
+
+      boolean this_present_ase = true && this.isSetAse();
+      boolean that_present_ase = true && that.isSetAse();
+      if (this_present_ase || that_present_ase) {
+        if (!(this_present_ase && that_present_ase))
+          return false;
+        if (!this.ase.equals(that.ase))
+          return false;
+      }
+
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
+      hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
+      if (isSetIre())
+        hashCode = hashCode * 8191 + ire.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetEnf()) ? 131071 : 524287);
+      if (isSetEnf())
+        hashCode = hashCode * 8191 + enf.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAce()) ? 131071 : 524287);
+      if (isSetAce())
+        hashCode = hashCode * 8191 + ace.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAse()) ? 131071 : 524287);
+      if (isSetAse())
+        hashCode = hashCode * 8191 + ase.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
+      if (isSetAe())
+        hashCode = hashCode * 8191 + ae.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(validateExperiment_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetIre()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetEnf()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.enf, other.enf);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAce()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, other.ace);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ase, other.ase);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("validateExperiment_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ire:");
+      if (this.ire == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ire);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("enf:");
+      if (this.enf == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.enf);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ace:");
+      if (this.ace == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ace);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ase:");
+      if (this.ase == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ase);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class validateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public validateExperiment_resultStandardScheme getScheme() {
+        return new validateExperiment_resultStandardScheme();
+      }
+    }
+
+    private static class validateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateExperiment_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, validateExperiment_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // IRE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
+                struct.ire.read(iprot);
+                struct.setIreIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // ENF
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
+                struct.enf.read(iprot);
+                struct.setEnfIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // ACE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ace = new org.apache.airavata.model.error.AiravataClientException();
+                struct.ace.read(iprot);
+                struct.setAceIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 4: // ASE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
+                struct.ase.read(iprot);
+                struct.setAseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 5: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, validateExperiment_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ire != null) {
+          oprot.writeFieldBegin(IRE_FIELD_DESC);
+          struct.ire.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.enf != null) {
+          oprot.writeFieldBegin(ENF_FIELD_DESC);
+          struct.enf.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ace != null) {
+          oprot.writeFieldBegin(ACE_FIELD_DESC);
+          struct.ace.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ase != null) {
+          oprot.writeFieldBegin(ASE_FIELD_DESC);
+          struct.ase.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class validateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public validateExperiment_resultTupleScheme getScheme() {
+        return new validateExperiment_resultTupleScheme();
+      }
+    }
+
+    private static class validateExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<validateExperiment_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, validateExperiment_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetIre()) {
+          optionals.set(1);
+        }
+        if (struct.isSetEnf()) {
+          optionals.set(2);
+        }
+        if (struct.isSetAce()) {
+          optionals.set(3);
+        }
+        if (struct.isSetAse()) {
+          optionals.set(4);
+        }
+        if (struct.isSetAe()) {
+          optionals.set(5);
+        }
+        oprot.writeBitSet(optionals, 6);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+        if (struct.isSetIre()) {
+          struct.ire.write(oprot);
+        }
+        if (struct.isSetEnf()) {
+          struct.enf.write(oprot);
+        }
+        if (struct.isSetAce()) {
+          struct.ace.write(oprot);
+        }
+        if (struct.isSetAse()) {
+          struct.ase.write(oprot);
+        }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, validateExperiment_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(6);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
+          struct.ire.read(iprot);
+          struct.setIreIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
+          struct.enf.read(iprot);
+          struct.setEnfIsSet(true);
+        }
+        if (incoming.get(3)) {
+          struct.ace = new org.apache.airavata.model.error.AiravataClientException();
+          struct.ace.read(iprot);
+          struct.setAceIsSet(true);
+        }
+        if (incoming.get(4)) {
+          struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
+          struct.ase.read(iprot);
+          struct.setAseIsSet(true);
+        }
+        if (incoming.get(5)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class launchExperiment_args implements org.apache.thrift.TBase<launchExperiment_args, launchExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<launchExperiment_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchExperiment_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 AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new launchExperiment_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new launchExperiment_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public java.lang.String airavataExperimentId; // required
+    public java.lang.String gatewayId; // 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"),
+      AIRAVATA_EXPERIMENT_ID((short)2, "airavataExperimentId"),
+      GATEWAY_ID((short)3, "gatewayId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // AIRAVATA_EXPERIMENT_ID
+            return AIRAVATA_EXPERIMENT_ID;
+          case 3: // GATEWAY_ID
+            return GATEWAY_ID;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(launchExperiment_args.class, metaDataMap);
+    }
+
+    public launchExperiment_args() {
+    }
+
+    public launchExperiment_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
+      java.lang.String airavataExperimentId,
+      java.lang.String gatewayId)
+    {
+      this();
+      this.authzToken = authzToken;
+      this.airavataExperimentId = airavataExperimentId;
+      this.gatewayId = gatewayId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public launchExperiment_args(launchExperiment_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+      if (other.isSetAiravataExperimentId()) {
+        this.airavataExperimentId = other.airavataExperimentId;
+      }
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
+      }
+    }
+
+    public launchExperiment_args deepCopy() {
+      return new launchExperiment_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+      this.airavataExperimentId = null;
+      this.gatewayId = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public launchExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public java.lang.String getAiravataExperimentId() {
+      return this.airavataExperimentId;
+    }
+
+    public launchExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+      this.airavataExperimentId = airavataExperimentId;
+      return this;
+    }
+
+    public void unsetAiravataExperimentId() {
+      this.airavataExperimentId = null;
+    }
+
+    /** Returns true if field airavataExperimentId is set (has been assigned a value) and false otherwise */
+    public boolean isSetAiravataExperimentId() {
+      return this.airavataExperimentId != null;
+    }
+
+    public void setAiravataExperimentIdIsSet(boolean value) {
+      if (!value) {
+        this.airavataExperimentId = null;
+      }
+    }
+
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
+    }
+
+    public launchExperiment_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
+      return this;
+    }
+
+    public void unsetGatewayId() {
+      this.gatewayId = null;
+    }
+
+    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayId() {
+      return this.gatewayId != null;
+    }
+
+    public void setGatewayIdIsSet(boolean value) {
+      if (!value) {
+        this.gatewayId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
+      case AIRAVATA_EXPERIMENT_ID:
+        if (value == null) {
+          unsetAiravataExperimentId();
+        } else {
+          setAiravataExperimentId((java.lang.String)value);
+        }
+        break;
+
+      case GATEWAY_ID:
+        if (value == null) {
+          unsetGatewayId();
+        } else {
+          setGatewayId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      case AIRAVATA_EXPERIMENT_ID:
+        return getAiravataExperimentId();
+
+      case GATEWAY_ID:
+        return getGatewayId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      case AIRAVATA_EXPERIMENT_ID:
+        return isSetAiravataExperimentId();
+      case GATEWAY_ID:
+        return isSetGatewayId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof launchExperiment_args)
+        return this.equals((launchExperiment_args)that);
+      return false;
+    }
+
+    public boolean equals(launchExperiment_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
+      boolean this_present_airavataExperimentId = true && this.isSetAiravataExperimentId();
+      boolean that_present_airavataExperimentId = true && that.isSetAiravataExperimentId();
+      if (this_present_airavataExperimentId || that_present_airavataExperimentId) {
+        if (!(this_present_airavataExperimentId && that_present_airavataExperimentId))
+          return false;
+        if (!this.airavataExperimentId.equals(that.airavataExperimentId))
+          return false;
+      }
+
+      boolean this_present_gatewayId = true && this.isSetGatewayId();
+      boolean that_present_gatewayId = true && that.isSetGatewayId();
+      if (this_present_gatewayId || that_present_gatewayId) {
+        if (!(this_present_gatewayId && that_present_gatewayId))
+          return false;
+        if (!this.gatewayId.equals(that.gatewayId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
+      if (isSetAuthzToken())
+        hashCode = hashCode * 8191 + authzToken.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAiravataExperimentId()) ? 131071 : 524287);
+      if (isSetAiravataExperimentId())
+        hashCode = hashCode * 8191 + airavataExperimentId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+      if (isSetGatewayId())
+        hashCode = hashCode * 8191 + gatewayId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(launchExperiment_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAiravataExperimentId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataExperimentId, other.airavataExperimentId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("launchExperiment_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -92867,6 +94475,14 @@ public class Airavata {
         sb.append(this.airavataExperimentId);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayId);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -92879,6 +94495,9 @@ public class Airavata {
       if (airavataExperimentId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataExperimentId' was not present! Struct: " + toString());
       }
+      if (gatewayId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
+      }
       // check for sub-struct validity
       if (authzToken != null) {
         authzToken.validate();
@@ -92901,15 +94520,15 @@ public class Airavata {
       }
     }
 
-    private static class validateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public validateExperiment_argsStandardScheme getScheme() {
-        return new validateExperiment_argsStandardScheme();
+    private static class launchExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public launchExperiment_argsStandardScheme getScheme() {
+        return new launchExperiment_argsStandardScheme();
       }
     }
 
-    private static class validateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateExperiment_args> {
+    private static class launchExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchExperiment_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, validateExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, launchExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -92936,6 +94555,14 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 3: // GATEWAY_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -92947,7 +94574,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, validateExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, launchExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -92961,35 +94588,43 @@ public class Airavata {
           oprot.writeString(struct.airavataExperimentId);
           oprot.writeFieldEnd();
         }
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class validateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public validateExperiment_argsTupleScheme getScheme() {
-        return new validateExperiment_argsTupleScheme();
+    private static class launchExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public launchExperiment_argsTupleScheme getScheme() {
+        return new launchExperiment_argsTupleScheme();
       }
     }
 
-    private static class validateExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<validateExperiment_args> {
+    private static class launchExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<launchExperiment_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, validateExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, launchExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         oprot.writeString(struct.airavataExperimentId);
+        oprot.writeString(struct.gatewayId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, validateExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, launchExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
         struct.airavataExperimentId = iprot.readString();
         struct.setAiravataExperimentIdIsSet(true);
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
       }
     }
 
@@ -92998,20 +94633,18 @@ public class Airavata {
     }
   }
 
-  public static class validateExperiment_result implements org.apache.thrift.TBase<validateExperiment_result, validateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<validateExperiment_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateExperiment_result");
+  public static class launchExperiment_result implements org.apache.thrift.TBase<launchExperiment_result, launchExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<launchExperiment_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchExperiment_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new validateExperiment_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new validateExperiment_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new launchExperiment_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new launchExperiment_resultTupleSchemeFactory();
 
-    public boolean success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
@@ -93020,7 +94653,6 @@ public class Airavata {
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ENF((short)2, "enf"),
       ACE((short)3, "ace"),
@@ -93040,8 +94672,6 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
           case 1: // IRE
             return IRE;
           case 2: // ENF
@@ -93092,13 +94722,9 @@ public class Airavata {
     }
 
     // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -93110,14 +94736,13 @@ public class Airavata {
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateExperiment_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(launchExperiment_result.class, metaDataMap);
     }
 
-    public validateExperiment_result() {
+    public launchExperiment_result() {
     }
 
-    public validateExperiment_result(
-      boolean success,
+    public launchExperiment_result(
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
@@ -93125,8 +94750,6 @@ public class Airavata {
       org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
-      this.success = success;
-      setSuccessIsSet(true);
       this.ire = ire;
       this.enf = enf;
       this.ace = ace;
@@ -93137,9 +94760,7 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public validateExperiment_result(validateExperiment_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
+    public launchExperiment_result(launchExperiment_result other) {
       if (other.isSetIre()) {
         this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
       }
@@ -93157,14 +94778,12 @@ public class Airavata {
       }
     }
 
-    public validateExperiment_result deepCopy() {
-      return new validateExperiment_result(this);
+    public launchExperiment_result deepCopy() {
+      return new launchExperiment_result(this);
     }
 
     @Override
     public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
       this.ire = null;
       this.enf = null;
       this.ace = null;
@@ -93172,34 +94791,11 @@ public class Airavata {
       this.ae = null;
     }
 
-    public boolean isSuccess() {
-      return this.success;
-    }
-
-    public validateExperiment_result setSuccess(boolean success) {
-      this.success = success;
-      setSuccessIsSet(true);
-      return this;
-    }
-
-    public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
-    }
-
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public validateExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public launchExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -93223,7 +94819,7 @@ public class Airavata {
       return this.enf;
     }
 
-    public validateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public launchExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -93247,7 +94843,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public validateExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public launchExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -93271,7 +94867,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public validateExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public launchExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -93295,7 +94891,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public validateExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public launchExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -93317,14 +94913,6 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.lang.Boolean)value);
-        }
-        break;
-
       case IRE:
         if (value == null) {
           unsetIre();
@@ -93370,9 +94958,6 @@ public class Airavata {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case SUCCESS:
-        return isSuccess();
-
       case IRE:
         return getIre();
 
@@ -93399,8 +94984,6 @@ public class Airavata {
       }
 
       switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
       case IRE:
         return isSetIre();
       case ENF:
@@ -93419,26 +95002,17 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof validateExperiment_result)
-        return this.equals((validateExperiment_result)that);
+      if (that instanceof launchExperiment_result)
+        return this.equals((launchExperiment_result)that);
       return false;
     }
 
-    public boolean equals(validateExperiment_result that) {
+    public boolean equals(launchExperiment_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_success = true;
-      boolean that_present_success = true;
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (this.success != that.success)
-          return false;
-      }
-
       boolean this_present_ire = true && this.isSetIre();
       boolean that_present_ire = true && that.isSetIre();
       if (this_present_ire || that_present_ire) {
@@ -93491,8 +95065,6 @@ public class Airavata {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
-
       hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
       if (isSetIre())
         hashCode = hashCode * 8191 + ire.hashCode();
@@ -93517,23 +95089,13 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(validateExperiment_result other) {
+    public int compareTo(launchExperiment_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
@@ -93601,13 +95163,9 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("validateExperiment_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("launchExperiment_result(");
       boolean first = true;
 
-      sb.append("success:");
-      sb.append(this.success);
-      first = false;
-      if (!first) sb.append(", ");
       sb.append("ire:");
       if (this.ire == null) {
         sb.append("null");
@@ -93666,23 +95224,21 @@ public class Airavata {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class validateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public validateExperiment_resultStandardScheme getScheme() {
-        return new validateExperiment_resultStandardScheme();
+    private static class launchExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public launchExperiment_resultStandardScheme getScheme() {
+        return new launchExperiment_resultStandardScheme();
       }
     }
 
-    private static class validateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateExperiment_result> {
+    private static class launchExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchExperiment_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, validateExperiment_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, launchExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -93692,14 +95248,6 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             case 1: // IRE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
@@ -93756,15 +95304,10 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, validateExperiment_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, launchExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
-          oprot.writeFieldEnd();
-        }
         if (struct.ire != null) {
           oprot.writeFieldBegin(IRE_FIELD_DESC);
           struct.ire.write(oprot);
@@ -93796,40 +95339,34 @@ public class Airavata {
 
     }
 
-    private static class validateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public validateExperiment_resultTupleScheme getScheme() {
-        return new validateExperiment_resultTupleScheme();
+    private static class launchExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public launchExperiment_resultTupleScheme getScheme() {
+        return new launchExperiment_resultTupleScheme();
       }
     }
 
-    private static class validateExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<validateExperiment_result> {
+    private static class launchExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<launchExperiment_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, validateExperiment_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, launchExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
         if (struct.isSetIre()) {
-          optionals.set(1);
+          optionals.set(0);
         }
         if (struct.isSetEnf()) {
-          optionals.set(2);
+          optionals.set(1);
         }
         if (struct.isSetAce()) {
-          optionals.set(3);
+          optionals.set(2);
         }
         if (struct.isSetAse()) {
-          optionals.set(4);
+          optionals.set(3);
         }
         if (struct.isSetAe()) {
-          optionals.set(5);
-        }
-        oprot.writeBitSet(optionals, 6);
-        if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
+          optionals.set(4);
         }
+        oprot.writeBitSet(optionals, 5);
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
@@ -93848,34 +95385,30 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, validateExperiment_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, launchExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(6);
+        java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
-          struct.success = iprot.readBool();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
           struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
           struct.ire.read(iprot);
           struct.setIreIsSet(true);
         }
-        if (incoming.get(2)) {
+        if (incoming.get(1)) {
           struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
           struct.enf.read(iprot);
           struct.setEnfIsSet(true);
         }
-        if (incoming.get(3)) {
+        if (incoming.get(2)) {
           struct.ace = new org.apache.airavata.model.error.AiravataClientException();
           struct.ace.read(iprot);
           struct.setAceIsSet(true);
         }
-        if (incoming.get(4)) {
+        if (incoming.get(3)) {
           struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(5)) {
+        if (incoming.get(4)) {
           struct.ae = new org.apache.airavata.model.error.AuthorizationException();
           struct.ae.read(iprot);
           struct.setAeIsSet(true);
@@ -93888,25 +95421,22 @@ public class Airavata {
     }
   }
 
-  public static class launchExperiment_args implements org.apache.thrift.TBase<launchExperiment_args, launchExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<launchExperiment_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchExperiment_args");
+  public static class getExperimentStatus_args implements org.apache.thrift.TBase<getExperimentStatus_args, getExperimentStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatus_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatus_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 AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new launchExperiment_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new launchExperiment_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatus_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatus_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public java.lang.String airavataExperimentId; // required
-    public java.lang.String gatewayId; // 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"),
-      AIRAVATA_EXPERIMENT_ID((short)2, "airavataExperimentId"),
-      GATEWAY_ID((short)3, "gatewayId");
+      AIRAVATA_EXPERIMENT_ID((short)2, "airavataExperimentId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -93925,8 +95455,6 @@ public class Airavata {
             return AUTHZ_TOKEN;
           case 2: // AIRAVATA_EXPERIMENT_ID
             return AIRAVATA_EXPERIMENT_ID;
-          case 3: // GATEWAY_ID
-            return GATEWAY_ID;
           default:
             return null;
         }
@@ -93974,57 +95502,49 @@ public class Airavata {
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
       tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(launchExperiment_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperimentStatus_args.class, metaDataMap);
     }
 
-    public launchExperiment_args() {
+    public getExperimentStatus_args() {
     }
 
-    public launchExperiment_args(
+    public getExperimentStatus_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String airavataExperimentId,
-      java.lang.String gatewayId)
+      java.lang.String airavataExperimentId)
     {
       this();
       this.authzToken = authzToken;
       this.airavataExperimentId = airavataExperimentId;
-      this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public launchExperiment_args(launchExperiment_args other) {
+    public getExperimentStatus_args(getExperimentStatus_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
       if (other.isSetAiravataExperimentId()) {
         this.airavataExperimentId = other.airavataExperimentId;
       }
-      if (other.isSetGatewayId()) {
-        this.gatewayId = other.gatewayId;
-      }
     }
 
-    public launchExperiment_args deepCopy() {
-      return new launchExperiment_args(this);
+    public getExperimentStatus_args deepCopy() {
+      return new getExperimentStatus_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
       this.airavataExperimentId = null;
-      this.gatewayId = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public launchExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getExperimentStatus_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -94048,7 +95568,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public launchExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getExperimentStatus_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -94068,30 +95588,6 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getGatewayId() {
-      return this.gatewayId;
-    }
-
-    public launchExperiment_args setGatewayId(java.lang.String gatewayId) {
-      this.gatewayId = gatewayId;
-      return this;
-    }
-
-    public void unsetGatewayId() {
-      this.gatewayId = null;
-    }
-
-    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGatewayId() {
-      return this.gatewayId != null;
-    }
-
-    public void setGatewayIdIsSet(boolean value) {
-      if (!value) {
-        this.gatewayId = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -94110,14 +95606,6 @@ public class Airavata {
         }
         break;
 
-      case GATEWAY_ID:
-        if (value == null) {
-          unsetGatewayId();
-        } else {
-          setGatewayId((java.lang.String)value);
-        }
-        break;
-
       }
     }
 
@@ -94129,9 +95617,6 @@ public class Airavata {
       case AIRAVATA_EXPERIMENT_ID:
         return getAiravataExperimentId();
 
-      case GATEWAY_ID:
-        return getGatewayId();
-
       }
       throw new java.lang.IllegalStateException();
     }
@@ -94147,8 +95632,6 @@ public class Airavata {
         return isSetAuthzToken();
       case AIRAVATA_EXPERIMENT_ID:
         return isSetAiravataExperimentId();
-      case GATEWAY_ID:
-        return isSetGatewayId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -94157,12 +95640,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof launchExperiment_args)
-        return this.equals((launchExperiment_args)that);
+      if (that instanceof getExperimentStatus_args)
+        return this.equals((getExperimentStatus_args)that);
       return false;
     }
 
-    public boolean equals(launchExperiment_args that) {
+    public boolean equals(getExperimentStatus_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -94186,15 +95669,6 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_gatewayId = true && this.isSetGatewayId();
-      boolean that_present_gatewayId = true && that.isSetGatewayId();
-      if (this_present_gatewayId || that_present_gatewayId) {
-        if (!(this_present_gatewayId && that_present_gatewayId))
-          return false;
-        if (!this.gatewayId.equals(that.gatewayId))
-          return false;
-      }
-
       return true;
     }
 
@@ -94210,15 +95684,11 @@ public class Airavata {
       if (isSetAiravataExperimentId())
         hashCode = hashCode * 8191 + airavataExperimentId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
-      if (isSetGatewayId())
-        hashCode = hashCode * 8191 + gatewayId.hashCode();
-
       return hashCode;
     }
 
     @Override
-    public int compareTo(launchExperiment_args other) {
+    public int compareTo(getExperimentStatus_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -94245,16 +95715,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -94272,7 +95732,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("launchExperiment_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getExperimentStatus_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -94290,14 +95750,6 @@ public class Airavata {
         sb.append(this.airavataExperimentId);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.gatewayId);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -94310,9 +95762,6 @@ public class Airavata {
       if (airavataExperimentId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataExperimentId' was not present! Struct: " + toString());
       }
-      if (gatewayId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
-      }
       // check for sub-struct validity
       if (authzToken != null) {
         authzToken.validate();
@@ -94335,15 +95784,15 @@ public class Airavata {
       }
     }
 
-    private static class launchExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public launchExperiment_argsStandardScheme getScheme() {
-        return new launchExperiment_argsStandardScheme();
+    private static class getExperimentStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getExperimentStatus_argsStandardScheme getScheme() {
+        return new getExperimentStatus_argsStandardScheme();
       }
     }
 
-    private static class launchExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchExperiment_args> {
+    private static class getExperimentStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatus_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, launchExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -94370,14 +95819,6 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // GATEWAY_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -94389,7 +95830,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, launchExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -94403,43 +95844,35 @@ public class Airavata {
           oprot.writeString(struct.airavataExperimentId);
           oprot.writeFieldEnd();
         }
-        if (struct.gatewayId != null) {
-          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-          oprot.writeString(struct.gatewayId);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class launchExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public launchExperiment_argsTupleScheme getScheme() {
-        return new launchExperiment_argsTupleScheme();
+    private static class getExperimentStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getExperimentStatus_argsTupleScheme getScheme() {
+        return new getExperimentStatus_argsTupleScheme();
       }
     }
 
-    private static class launchExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<launchExperiment_args> {
+    private static class getExperimentStatus_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getExperimentStatus_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, launchExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         oprot.writeString(struct.airavataExperimentId);
-        oprot.writeString(struct.gatewayId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, launchExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
         struct.airavataExperimentId = iprot.readString();
         struct.setAiravataExperimentIdIsSet(true);
-        struct.gatewayId = iprot.readString();
-        struct.setGatewayIdIsSet(true);
       }
     }
 
@@ -94448,18 +95881,20 @@ public class Airavata {
     }
   }
 
-  public static class launchExperiment_result implements org.apache.thrift.TBase<launchExperiment_result, launchExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<launchExperiment_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchExperiment_result");
+  public static class getExperimentStatus_result implements org.apache.thrift.TBase<getExperimentStatus_result, getExperimentStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatus_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatus_result");
 
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new launchExperiment_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new launchExperiment_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatus_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatus_resultTupleSchemeFactory();
 
+    public org.apache.airavata.model.status.ExperimentStatus success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
@@ -94468,6 +95903,7 @@ public class Airavata {
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ENF((short)2, "enf"),
       ACE((short)3, "ace"),
@@ -94487,6 +95923,8 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
           case 1: // IRE
             return IRE;
           case 2: // ENF
@@ -94540,6 +95978,8 @@ public class Airavata {
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.ExperimentStatus.class)));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -94551,13 +95991,14 @@ public class Airavata {
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(launchExperiment_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperimentStatus_result.class, metaDataMap);
     }
 
-    public launchExperiment_result() {
+    public getExperimentStatus_result() {
     }
 
-    public launchExperiment_result(
+    public getExperimentStatus_result(
+      org.apache.airavata.model.status.ExperimentStatus success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
@@ -94565,6 +96006,7 @@ public class Airavata {
       org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
+      this.success = success;
       this.ire = ire;
       this.enf = enf;
       this.ace = ace;
@@ -94575,7 +96017,10 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public launchExperiment_result(launchExperiment_result other) {
+    public getExperimentStatus_result(getExperimentStatus_result other) {
+      if (other.isSetSuccess()) {
+        this.success = new org.apache.airavata.model.status.ExperimentStatus(other.success);
+      }
       if (other.isSetIre()) {
         this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
       }
@@ -94593,12 +96038,13 @@ public class Airavata {
       }
     }
 
-    public launchExperiment_result deepCopy() {
-      return new launchExperiment_result(this);
+    public getExperimentStatus_result deepCopy() {
+      return new getExperimentStatus_result(this);
     }
 
     @Override
     public void clear() {
+      this.success = null;
       this.ire = null;
       this.enf = null;
       this.ace = null;
@@ -94606,11 +96052,35 @@ public class Airavata {
       this.ae = null;
     }
 
+    public org.apache.airavata.model.status.ExperimentStatus getSuccess() {
+      return this.success;
+    }
+
+    public getExperimentStatus_result setSuccess(org.apache.airavata.model.status.ExperimentStatus success) {
+      this.success = success;
+      return this;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public launchExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getExperimentStatus_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -94634,7 +96104,7 @@ public class Airavata {
       return this.enf;
     }
 
-    public launchExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getExperimentStatus_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -94658,7 +96128,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public launchExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getExperimentStatus_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -94682,7 +96152,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public launchExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getExperimentStatus_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -94706,7 +96176,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public launchExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getExperimentStatus_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -94728,6 +96198,14 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((org.apache.airavata.model.status.ExperimentStatus)value);
+        }
+        break;
+
       case IRE:
         if (value == null) {
           unsetIre();
@@ -94773,6 +96251,9 @@ public class Airavata {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
       case IRE:
         return getIre();
 
@@ -94799,6 +96280,8 @@ public class Airavata {
       }
 
       switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
       case IRE:
         return isSetIre();
       case ENF:
@@ -94817,17 +96300,26 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof launchExperiment_result)
-        return this.equals((launchExperiment_result)that);
+      if (that instanceof getExperimentStatus_result)
+        return this.equals((getExperimentStatus_result)that);
       return false;
     }
 
-    public boolean equals(launchExperiment_result that) {
+    public boolean equals(getExperimentStatus_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (!this.success.equals(that.success))
+          return false;
+      }
+
       boolean this_present_ire = true && this.isSetIre();
       boolean that_present_ire = true && that.isSetIre();
       if (this_present_ire || that_present_ire) {
@@ -94880,6 +96372,10 @@ public class Airavata {
     public int hashCode() {
       int hashCode = 1;
 
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
       hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
       if (isSetIre())
         hashCode = hashCode * 8191 + ire.hashCode();
@@ -94904,13 +96400,23 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(launchExperiment_result other) {
+    public int compareTo(getExperimentStatus_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
@@ -94978,9 +96484,17 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("launchExperiment_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getExperimentStatus_result(");
       boolean first = true;
 
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
+      first = false;
+      if (!first) sb.append(", ");
       sb.append("ire:");
       if (this.ire == null) {
         sb.append("null");
@@ -95027,6 +96541,9 @@ public class Airavata {
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
       // check for sub-struct validity
+      if (success != null) {
+        success.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -95045,15 +96562,15 @@ public class Airavata {
       }
     }
 
-    private static class launchExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public launchExperiment_resultStandardScheme getScheme() {
-        return new launchExperiment_resultStandardScheme();
+    private static class getExperimentStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getExperimentStatus_resultStandardScheme getScheme() {
+        return new getExperimentStatus_resultStandardScheme();
       }
     }
 
-    private static class launchExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchExperiment_result> {
+    private static class getExperimentStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatus_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, launchExperiment_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -95063,6 +96580,15 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.success = new org.apache.airavata.model.status.ExperimentStatus();
+                struct.success.read(iprot);
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             case 1: // IRE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
@@ -95119,10 +96645,15 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, launchExperiment_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          struct.success.write(oprot);
+          oprot.writeFieldEnd();
+        }
         if (struct.ire != null) {
           oprot.writeFieldBegin(IRE_FIELD_DESC);
           struct.ire.write(oprot);
@@ -95154,34 +96685,40 @@ public class Airavata {
 
     }
 
-    private static class launchExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public launchExperiment_resultTupleScheme getScheme() {
-        return new launchExperiment_resultTupleScheme();
+    private static class getExperimentStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getExperimentStatus_resultTupleScheme getScheme() {
+        return new getExperimentStatus_resultTupleScheme();
       }
     }
 
-    private static class launchExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<launchExperiment_result> {
+    private static class getExperimentStatus_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getExperimentStatus_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, launchExperiment_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetIre()) {
+        if (struct.isSetSuccess()) {
           optionals.set(0);
         }
-        if (struct.isSetEnf()) {
+        if (struct.isSetIre()) {
           optionals.set(1);
         }
-        if (struct.isSetAce()) {
+        if (struct.isSetEnf()) {
           optionals.set(2);
         }
-        if (struct.isSetAse()) {
+        if (struct.isSetAce()) {
           optionals.set(3);
         }
-        if (struct.isSetAe()) {
+        if (struct.isSetAse()) {
           optionals.set(4);
         }
-        oprot.writeBitSet(optionals, 5);
+        if (struct.isSetAe()) {
+          optionals.set(5);
+        }
+        oprot.writeBitSet(optionals, 6);
+        if (struct.isSetSuccess()) {
+          struct.success.write(oprot);
+        }
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
@@ -95200,30 +96737,35 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, launchExperiment_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(5);
+        java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
+          struct.success = new org.apache.airavata.model.status.ExperimentStatus();
+          struct.success.read(iprot);
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
           struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
           struct.ire.read(iprot);
           struct.setIreIsSet(true);
         }
-        if (incoming.get(1)) {
+        if (incoming.get(2)) {
           struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
           struct.enf.read(iprot);
           struct.setEnfIsSet(true);
         }
-        if (incoming.get(2)) {
+        if (incoming.get(3)) {
           struct.ace = new org.apache.airavata.model.error.AiravataClientException();
           struct.ace.read(iprot);
           struct.setAceIsSet(true);
         }
-        if (incoming.get(3)) {
+        if (incoming.get(4)) {
           struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(4)) {
+        if (incoming.get(5)) {
           struct.ae = new org.apache.airavata.model.error.AuthorizationException();
           struct.ae.read(iprot);
           struct.setAeIsSet(true);
@@ -95236,14 +96778,14 @@ public class Airavata {
     }
   }
 
-  public static class getExperimentStatus_args implements org.apache.thrift.TBase<getExperimentStatus_args, getExperimentStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatus_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatus_args");
+  public static class getExperimentOutputs_args implements org.apache.thrift.TBase<getExperimentOutputs_args, getExperimentOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentOutputs_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentOutputs_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 AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatus_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatus_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentOutputs_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentOutputs_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public java.lang.String airavataExperimentId; // required
@@ -95318,13 +96860,13 @@ public class Airavata {
       tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperimentStatus_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperimentOutputs_args.class, metaDataMap);
     }
 
-    public getExperimentStatus_args() {
+    public getExperimentOutputs_args() {
     }
 
-    public getExperimentStatus_args(
+    public getExperimentOutputs_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
       java.lang.String airavataExperimentId)
     {
@@ -95336,7 +96878,7 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getExperimentStatus_args(getExperimentStatus_args other) {
+    public getExperimentOutputs_args(getExperimentOutputs_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
@@ -95345,8 +96887,8 @@ public class Airavata {
       }
     }
 
-    public getExperimentStatus_args deepCopy() {
-      return new getExperimentStatus_args(this);
+    public getExperimentOutputs_args deepCopy() {
+      return new getExperimentOutputs_args(this);
     }
 
     @Override
@@ -95359,7 +96901,7 @@ public class Airavata {
       return this.authzToken;
     }
 
-    public getExperimentStatus_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getExperimentOutputs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -95383,7 +96925,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public getExperimentStatus_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getExperimentOutputs_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -95455,12 +96997,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getExperimentStatus_args)
-        return this.equals((getExperimentStatus_args)that);
+      if (that instanceof getExperimentOutputs_args)
+        return this.equals((getExperimentOutputs_args)that);
       return false;
     }
 
-    public boolean equals(getExperimentStatus_args that) {
+    public boolean equals(getExperimentOutputs_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -95503,7 +97045,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(getExperimentStatus_args other) {
+    public int compareTo(getExperimentOutputs_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -95547,7 +97089,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getExperimentStatus_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getExperimentOutputs_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -95599,15 +97141,15 @@ public class Airavata {
       }
     }
 
-    private static class getExperimentStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getExperimentStatus_argsStandardScheme getScheme() {
-        return new getExperimentStatus_argsStandardScheme();
+    private static class getExperimentOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getExperimentOutputs_argsStandardScheme getScheme() {
+        return new getExperimentOutputs_argsStandardScheme();
       }
     }
 
-    private static class getExperimentStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatus_args> {
+    private static class getExperimentOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentOutputs_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -95645,7 +97187,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -95665,23 +97207,23 @@ public class Airavata {
 
     }
 
-    private static class getExperimentStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getExperimentStatus_argsTupleScheme getScheme() {
-        return new getExperimentStatus_argsTupleScheme();
+    private static class getExperimentOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getExperimentOutputs_argsTupleScheme getScheme() {
+        return new getExperimentOutputs_argsTupleScheme();
       }
     }
 
-    private static class getExperimentStatus_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getExperimentStatus_args> {
+    private static class getExperimentOutputs_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getExperimentOutputs_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         oprot.writeString(struct.airavataExperimentId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -95696,20 +97238,20 @@ public class Airavata {
     }
   }
 
-  public static class getExperimentStatus_result implements org.apache.thrift.TBase<getExperimentStatus_result, getExperimentStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatus_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatus_result");
+  public static class getExperimentOutputs_result implements org.apache.thrift.TBase<getExperimentOutputs_result, getExperimentOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentOutputs_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentOutputs_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatus_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatus_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentOutputs_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentOutputs_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.ExperimentStatus success; // required
+    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
@@ -95794,7 +97336,8 @@ public class Airavata {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.ExperimentStatus.class)));
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.OutputDataObjectType.class))));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -95806,14 +97349,14 @@ public class Airavata {
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperimentStatus_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperimentOutputs_result.class, metaDataMap);
     }
 
-    public getExperimentStatus_result() {
+    public getExperimentOutputs_result() {
     }
 
-    public getExperimentStatus_result(
-      org.apache.airavata.model.status.ExperimentStatus success,
+    public getExperimentOutputs_result(
+      java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
@@ -95832,9 +97375,13 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getExperimentStatus_result(getExperimentStatus_result other) {
+    public getExperimentOutputs_result(getExperimentOutputs_result other) {
       if (other.isSetSuccess()) {
-        this.success = new org.apache.airavata.model.status.ExperimentStatus(other.success);
+        java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(other.success.size());
+        for (org.apache.airavata.model.application.io.OutputDataObjectType other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.application.io.OutputDataObjectType(other_element));
+        }
+        this.success = __this__success;
       }
       if (other.isSetIre()) {
         this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
@@ -95853,8 +97400,8 @@ public class Airavata {
       }
     }
 
-    public getExperimentStatus_result deepCopy() {
-      return new getExperimentStatus_result(this);
+    public getExperimentOutputs_result deepCopy() {
+      return new getExperimentOutputs_result(this);
     }
 
     @Override
@@ -95867,11 +97414,26 @@ public class Airavata {
       this.ae = null;
     }
 
-    public org.apache.airavata.model.status.ExperimentStatus getSuccess() {
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.application.io.OutputDataObjectType elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>();
+      }
+      this.success.add(elem);
+    }
+
+    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getExperimentStatus_result setSuccess(org.apache.airavata.model.status.ExperimentStatus success) {
+    public getExperimentOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -95895,7 +97457,7 @@ public class Airavata {
       return this.ire;
     }
 
-    public getExperimentStatus_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getExperimentOutputs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -95919,7 +97481,7 @@ public class Airavata {
       return this.enf;
     }
 
-    public getExperimentStatus_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getExperimentOutputs_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -95943,7 +97505,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public getExperimentStatus_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getExperimentOutputs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -95967,7 +97529,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public getExperimentStatus_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getExperimentOutputs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -95991,7 +97553,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public getExperimentStatus_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getExperimentOutputs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -96017,7 +97579,7 @@ public class Airavata {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((org.apache.airavata.model.status.ExperimentStatus)value);
+          setSuccess((java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>)value);
         }
         break;
 
@@ -96115,12 +97677,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getExperimentStatus_result)
-        return this.equals((getExperimentStatus_result)that);
+      if (that instanceof getExperimentOutputs_result)
+        return this.equals((getExperimentOutputs_result)that);
       return false;
     }
 
-    public boolean equals(getExperimentStatus_result that) {
+    public boolean equals(getExperimentOutputs_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -96215,7 +97777,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(getExperimentStatus_result other) {
+    public int compareTo(getExperimentOutputs_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -96299,7 +97861,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getExperimentStatus_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getExperimentOutputs_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -96356,9 +97918,6 @@ public class Airavata {
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
       // check for sub-struct validity
-      if (success != null) {
-        success.validate();
-      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -96377,15 +97936,15 @@ public class Airavata {
       }
     }
 
-    private static class getExperimentStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getExperimentStatus_resultStandardScheme getScheme() {
-        return new getExperimentStatus_resultStandardScheme();
+    private static class getExperimentOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getExperimentOutputs_resultStandardScheme getScheme() {
+        return new getExperimentOutputs_resultStandardScheme();
       }
     }
 
-    private static class getExperimentStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatus_result> {
+    private static class getExperimentOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentOutputs_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -96396,9 +97955,19 @@ public class Airavata {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.success = new org.apache.airavata.model.status.ExperimentStatus();
-                struct.success.read(iprot);
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list120 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list120.size);
+                  org.apache.airavata.model.application.io.OutputDataObjectType _elem121;
+                  for (int _i122 = 0; _i122 < _list120.size; ++_i122)
+                  {
+                    _elem121 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+                    _elem121.read(iprot);
+                    struct.success.add(_elem121);
+                  }
+                  iprot.readListEnd();
+                }
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -96460,13 +98029,20 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
         if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          struct.success.write(oprot);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter123 : struct.success)
+            {
+              _iter123.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
           oprot.writeFieldEnd();
         }
         if (struct.ire != null) {
@@ -96500,16 +98076,16 @@ public class Airavata {
 
     }
 
-    private static class getExperimentStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getExperimentStatus_resultTupleScheme getScheme() {
-        return new getExperimentStatus_resultTupleScheme();
+    private static class getExperimentOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getExperimentOutputs_resultTupleScheme getScheme() {
+        return new getExperimentOutputs_resultTupleScheme();
       }
     }
 
-    private static class getExperimentStatus_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getExperimentStatus_result> {
+    private static class getExperimentOutputs_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getExperimentOutputs_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -96532,7 +98108,13 @@ public class Airavata {
         }
         oprot.writeBitSet(optionals, 6);
         if (struct.isSetSuccess()) {
-          struct.success.write(oprot);
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter124 : struct.success)
+            {
+              _iter124.write(oprot);
+            }
+          }
         }
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
@@ -96552,12 +98134,21 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
-          struct.success = new org.apache.airavata.model.status.ExperimentStatus();
-          struct.success.read(iprot);
+          {
+            org.apache.thrift.protocol.TList _list125 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list125.size);
+            org.apache.airavata.model.application.io.OutputDataObjectType _elem126;
+            for (int _i127 = 0; _i127 < _list125.size; ++_i127)
+            {
+              _elem126 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+              _elem126.read(iprot);
+              struct.success.add(_elem126);
+            }
+          }
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -96593,14 +98184,14 @@ public class Airavata {
     }
   }
 
-  public static class getExperimentOutputs_args implements org.apache.thrift.TBase<getExperimentOutputs_args, getExperimentOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentOutputs_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentOutputs_args");
+  public static class getIntermediateOutputs_args implements org.apache.thrift.TBase<getIntermediateOutputs_args, getIntermediateOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputs_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputs_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 AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentOutputs_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentOutputs_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputs_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputs_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public java.lang.String airavataExperimentId; // required
@@ -96675,13 +98266,13 @@ public class Airavata {
       tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperimentOutputs_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getIntermediateOutputs_args.class, metaDataMap);
     }
 
-    public getExperimentOutputs_args() {
+    public getIntermediateOutputs_args() {
     }
 
-    public getExperimentOutputs_args(
+    public getIntermediateOutputs_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
       java.lang.String airavataExperimentId)
     {
@@ -96693,7 +98284,7 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getExperimentOutputs_args(getExperimentOutputs_args other) {
+    public getIntermediateOutputs_args(getIntermediateOutputs_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
@@ -96702,8 +98293,8 @@ public class Airavata {
       }
     }
 
-    public getExperimentOutputs_args deepCopy() {
-      return new getExperimentOutputs_args(this);
+    public getIntermediateOutputs_args deepCopy() {
+      return new getIntermediateOutputs_args(this);
     }
 
     @Override
@@ -96716,7 +98307,7 @@ public class Airavata {
       return this.authzToken;
     }
 
-    public getExperimentOutputs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getIntermediateOutputs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -96740,7 +98331,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public getExperimentOutputs_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getIntermediateOutputs_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -96812,12 +98403,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getExperimentOutputs_args)
-        return this.equals((getExperimentOutputs_args)that);
+      if (that instanceof getIntermediateOutputs_args)
+        return this.equals((getIntermediateOutputs_args)that);
       return false;
     }
 
-    public boolean equals(getExperimentOutputs_args that) {
+    public boolean equals(getIntermediateOutputs_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -96860,7 +98451,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(getExperimentOutputs_args other) {
+    public int compareTo(getIntermediateOutputs_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -96904,7 +98495,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getExperimentOutputs_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getIntermediateOutputs_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -96956,15 +98547,15 @@ public class Airavata {
       }
     }
 
-    private static class getExperimentOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getExperimentOutputs_argsStandardScheme getScheme() {
-        return new getExperimentOutputs_argsStandardScheme();
+    private static class getIntermediateOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getIntermediateOutputs_argsStandardScheme getScheme() {
+        return new getIntermediateOutputs_argsStandardScheme();
       }
     }
 
-    private static class getExperimentOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentOutputs_args> {
+    private static class getIntermediateOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputs_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -97002,7 +98593,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -97022,23 +98613,23 @@ public class Airavata {
 
     }
 
-    private static class getExperimentOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getExperimentOutputs_argsTupleScheme getScheme() {
-        return new getExperimentOutputs_argsTupleScheme();
+    private static class getIntermediateOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getIntermediateOutputs_argsTupleScheme getScheme() {
+        return new getIntermediateOutputs_argsTupleScheme();
       }
     }
 
-    private static class getExperimentOutputs_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getExperimentOutputs_args> {
+    private static class getIntermediateOutputs_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getIntermediateOutputs_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         oprot.writeString(struct.airavataExperimentId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -97053,8 +98644,8 @@ public class Airavata {
     }
   }
 
-  public static class getExperimentOutputs_result implements org.apache.thrift.TBase<getExperimentOutputs_result, getExperimentOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentOutputs_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentOutputs_result");
+  public static class getIntermediateOutputs_result implements org.apache.thrift.TBase<getIntermediateOutputs_result, getIntermediateOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputs_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputs_result");
 
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
@@ -97063,8 +98654,8 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentOutputs_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentOutputs_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputs_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputs_resultTupleSchemeFactory();
 
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
@@ -97164,13 +98755,13 @@ public class Airavata {
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getExperimentOutputs_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getIntermediateOutputs_result.class, metaDataMap);
     }
 
-    public getExperimentOutputs_result() {
+    public getIntermediateOutputs_result() {
     }
 
-    public getExperimentOutputs_result(
+    public getIntermediateOutputs_result(
       java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
@@ -97190,7 +98781,7 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getExperimentOutputs_result(getExperimentOutputs_result other) {
+    public getIntermediateOutputs_result(getIntermediateOutputs_result other) {
       if (other.isSetSuccess()) {
         java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(other.success.size());
         for (org.apache.airavata.model.application.io.OutputDataObjectType other_element : other.success) {
@@ -97215,8 +98806,8 @@ public class Airavata {
       }
     }
 
-    public getExperimentOutputs_result deepCopy() {
-      return new getExperimentOutputs_result(this);
+    public getIntermediateOutputs_result deepCopy() {
+      return new getIntermediateOutputs_result(this);
     }
 
     @Override
@@ -97248,7 +98839,7 @@ public class Airavata {
       return this.success;
     }
 
-    public getExperimentOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getIntermediateOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -97272,7 +98863,7 @@ public class Airavata {
       return this.ire;
     }
 
-    public getExperimentOutputs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getIntermediateOutputs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -97296,7 +98887,7 @@ public class Airavata {
       return this.enf;
     }
 
-    public getExperimentOutputs_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getIntermediateOutputs_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -97320,7 +98911,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public getExperimentOutputs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getIntermediateOutputs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -97344,7 +98935,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public getExperimentOutputs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getIntermediateOutputs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -97368,7 +98959,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public getExperimentOutputs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getIntermediateOutputs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -97492,12 +99083,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getExperimentOutputs_result)
-        return this.equals((getExperimentOutputs_result)that);
+      if (that instanceof getIntermediateOutputs_result)
+        return this.equals((getIntermediateOutputs_result)that);
       return false;
     }
 
-    public boolean equals(getExperimentOutputs_result that) {
+    public boolean equals(getIntermediateOutputs_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -97592,7 +99183,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(getExperimentOutputs_result other) {
+    public int compareTo(getIntermediateOutputs_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -97676,7 +99267,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getExperimentOutputs_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getIntermediateOutputs_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -97751,15 +99342,15 @@ public class Airavata {
       }
     }
 
-    private static class getExperimentOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getExperimentOutputs_resultStandardScheme getScheme() {
-        return new getExperimentOutputs_resultStandardScheme();
+    private static class getIntermediateOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getIntermediateOutputs_resultStandardScheme getScheme() {
+        return new getIntermediateOutputs_resultStandardScheme();
       }
     }
 
-    private static class getExperimentOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentOutputs_result> {
+    private static class getIntermediateOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputs_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -97772,14 +99363,14 @@ public class Airavata {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list120 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list120.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem121;
-                  for (int _i122 = 0; _i122 < _list120.size; ++_i122)
+                  org.apache.thrift.protocol.TList _list128 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list128.size);
+                  org.apache.airavata.model.application.io.OutputDataObjectType _elem129;
+                  for (int _i130 = 0; _i130 < _list128.size; ++_i130)
                   {
-                    _elem121 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-                    _elem121.read(iprot);
-                    struct.success.add(_elem121);
+                    _elem129 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+                    _elem129.read(iprot);
+                    struct.success.add(_elem129);
                   }
                   iprot.readListEnd();
                 }
@@ -97844,7 +99435,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -97852,9 +99443,9 @@ public class Airavata {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter123 : struct.success)
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter131 : struct.success)
             {
-              _iter123.write(oprot);
+              _iter131.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -97891,16 +99482,16 @@ public class Airavata {
 
     }
 
-    private static class getExperimentOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getExperimentOutputs_resultTupleScheme getScheme() {
-        return new getExperimentOutputs_resultTupleScheme();
+    private static class getIntermediateOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getIntermediateOutputs_resultTupleScheme getScheme() {
+        return new getIntermediateOutputs_resultTupleScheme();
       }
     }
 
-    private static class getExperimentOutputs_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getExperimentOutputs_result> {
+    private static class getIntermediateOutputs_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getIntermediateOutputs_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -97925,9 +99516,9 @@ public class Airavata {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter124 : struct.success)
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter132 : struct.success)
             {
-              _iter124.write(oprot);
+              _iter132.write(oprot);
             }
           }
         }
@@ -97949,19 +99540,19 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list125 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list125.size);
-            org.apache.airavata.model.application.io.OutputDataObjectType _elem126;
-            for (int _i127 = 0; _i127 < _list125.size; ++_i127)
+            org.apache.thrift.protocol.TList _list133 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list133.size);
+            org.apache.airavata.model.application.io.OutputDataObjectType _elem134;
+            for (int _i135 = 0; _i135 < _list133.size; ++_i135)
             {
-              _elem126 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-              _elem126.read(iprot);
-              struct.success.add(_elem126);
+              _elem134 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+              _elem134.read(iprot);
+              struct.success.add(_elem134);
             }
           }
           struct.setSuccessIsSet(true);
@@ -97999,14 +99590,14 @@ public class Airavata {
     }
   }
 
-  public static class getIntermediateOutputs_args implements org.apache.thrift.TBase<getIntermediateOutputs_args, getIntermediateOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputs_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputs_args");
+  public static class getJobStatuses_args implements org.apache.thrift.TBase<getJobStatuses_args, getJobStatuses_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobStatuses_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobStatuses_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 AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputs_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputs_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobStatuses_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobStatuses_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public java.lang.String airavataExperimentId; // required
@@ -98081,13 +99672,13 @@ public class Airavata {
       tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getIntermediateOutputs_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobStatuses_args.class, metaDataMap);
     }
 
-    public getIntermediateOutputs_args() {
+    public getJobStatuses_args() {
     }
 
-    public getIntermediateOutputs_args(
+    public getJobStatuses_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
       java.lang.String airavataExperimentId)
     {
@@ -98099,7 +99690,7 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getIntermediateOutputs_args(getIntermediateOutputs_args other) {
+    public getJobStatuses_args(getJobStatuses_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
@@ -98108,8 +99699,8 @@ public class Airavata {
       }
     }
 
-    public getIntermediateOutputs_args deepCopy() {
-      return new getIntermediateOutputs_args(this);
+    public getJobStatuses_args deepCopy() {
+      return new getJobStatuses_args(this);
     }
 
     @Override
@@ -98122,7 +99713,7 @@ public class Airavata {
       return this.authzToken;
     }
 
-    public getIntermediateOutputs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getJobStatuses_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -98146,7 +99737,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public getIntermediateOutputs_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getJobStatuses_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -98218,12 +99809,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getIntermediateOutputs_args)
-        return this.equals((getIntermediateOutputs_args)that);
+      if (that instanceof getJobStatuses_args)
+        return this.equals((getJobStatuses_args)that);
       return false;
     }
 
-    public boolean equals(getIntermediateOutputs_args that) {
+    public boolean equals(getJobStatuses_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -98266,7 +99857,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(getIntermediateOutputs_args other) {
+    public int compareTo(getJobStatuses_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -98310,7 +99901,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getIntermediateOutputs_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobStatuses_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -98362,15 +99953,15 @@ public class Airavata {
       }
     }
 
-    private static class getIntermediateOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getIntermediateOutputs_argsStandardScheme getScheme() {
-        return new getIntermediateOutputs_argsStandardScheme();
+    private static class getJobStatuses_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getJobStatuses_argsStandardScheme getScheme() {
+        return new getJobStatuses_argsStandardScheme();
       }
     }
 
-    private static class getIntermediateOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputs_args> {
+    private static class getJobStatuses_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobStatuses_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobStatuses_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -98408,7 +99999,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobStatuses_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -98428,23 +100019,23 @@ public class Airavata {
 
     }
 
-    private static class getIntermediateOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getIntermediateOutputs_argsTupleScheme getScheme() {
-        return new getIntermediateOutputs_argsTupleScheme();
+    private static class getJobStatuses_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getJobStatuses_argsTupleScheme getScheme() {
+        return new getJobStatuses_argsTupleScheme();
       }
     }
 
-    private static class getIntermediateOutputs_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getIntermediateOutputs_args> {
+    private static class getJobStatuses_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobStatuses_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getJobStatuses_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         oprot.writeString(struct.airavataExperimentId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getJobStatuses_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -98459,20 +100050,20 @@ public class Airavata {
     }
   }
 
-  public static class getIntermediateOutputs_result implements org.apache.thrift.TBase<getIntermediateOutputs_result, getIntermediateOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputs_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputs_result");
+  public static class getJobStatuses_result implements org.apache.thrift.TBase<getJobStatuses_result, getJobStatuses_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobStatuses_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobStatuses_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputs_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputs_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobStatuses_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobStatuses_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
+    public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
@@ -98557,8 +100148,9 @@ public class Airavata {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.OutputDataObjectType.class))));
+          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.JobStatus.class))));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -98570,14 +100162,14 @@ public class Airavata {
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getIntermediateOutputs_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobStatuses_result.class, metaDataMap);
     }
 
-    public getIntermediateOutputs_result() {
+    public getJobStatuses_result() {
     }
 
-    public getIntermediateOutputs_result(
-      java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success,
+    public getJobStatuses_result(
+      java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
@@ -98596,11 +100188,19 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getIntermediateOutputs_result(getIntermediateOutputs_result other) {
+    public getJobStatuses_result(getJobStatuses_result other) {
       if (other.isSetSuccess()) {
-        java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(other.success.size());
-        for (org.apache.airavata.model.application.io.OutputDataObjectType other_element : other.success) {
-          __this__success.add(new org.apache.airavata.model.application.io.OutputDataObjectType(other_element));
+        java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> __this__success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(other.success.size());
+        for (java.util.Map.Entry<java.lang.String, org.apache.airavata.model.status.JobStatus> other_element : other.success.entrySet()) {
+
+          java.lang.String other_element_key = other_element.getKey();
+          org.apache.airavata.model.status.JobStatus other_element_value = other_element.getValue();
+
+          java.lang.String __this__success_copy_key = other_element_key;
+
+          org.apache.airavata.model.status.JobStatus __this__success_copy_value = new org.apache.airavata.model.status.JobStatus(other_element_value);
+
+          __this__success.put(__this__success_copy_key, __this__success_copy_value);
         }
         this.success = __this__success;
       }
@@ -98621,8 +100221,8 @@ public class Airavata {
       }
     }
 
-    public getIntermediateOutputs_result deepCopy() {
-      return new getIntermediateOutputs_result(this);
+    public getJobStatuses_result deepCopy() {
+      return new getJobStatuses_result(this);
     }
 
     @Override
@@ -98639,22 +100239,18 @@ public class Airavata {
       return (this.success == null) ? 0 : this.success.size();
     }
 
-    public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(org.apache.airavata.model.application.io.OutputDataObjectType elem) {
+    public void putToSuccess(java.lang.String key, org.apache.airavata.model.status.JobStatus val) {
       if (this.success == null) {
-        this.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>();
+        this.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>();
       }
-      this.success.add(elem);
+      this.success.put(key, val);
     }
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
+    public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> getSuccess() {
       return this.success;
     }
 
-    public getIntermediateOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getJobStatuses_result setSuccess(java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success) {
       this.success = success;
       return this;
     }
@@ -98678,7 +100274,7 @@ public class Airavata {
       return this.ire;
     }
 
-    public getIntermediateOutputs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getJobStatuses_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -98702,7 +100298,7 @@ public class Airavata {
       return this.enf;
     }
 
-    public getIntermediateOutputs_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getJobStatuses_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -98726,7 +100322,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public getIntermediateOutputs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getJobStatuses_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -98750,7 +100346,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public getIntermediateOutputs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getJobStatuses_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -98774,7 +100370,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public getIntermediateOutputs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getJobStatuses_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -98800,7 +100396,7 @@ public class Airavata {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>)value);
+          setSuccess((java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>)value);
         }
         break;
 
@@ -98898,12 +100494,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getIntermediateOutputs_result)
-        return this.equals((getIntermediateOutputs_result)that);
+      if (that instanceof getJobStatuses_result)
+        return this.equals((getJobStatuses_result)that);
       return false;
     }
 
-    public boolean equals(getIntermediateOutputs_result that) {
+    public boolean equals(getJobStatuses_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -98998,7 +100594,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(getIntermediateOutputs_result other) {
+    public int compareTo(getJobStatuses_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -99082,7 +100678,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getIntermediateOutputs_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobStatuses_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -99157,15 +100753,15 @@ public class Airavata {
       }
     }
 
-    private static class getIntermediateOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getIntermediateOutputs_resultStandardScheme getScheme() {
-        return new getIntermediateOutputs_resultStandardScheme();
+    private static class getJobStatuses_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getJobStatuses_resultStandardScheme getScheme() {
+        return new getJobStatuses_resultStandardScheme();
       }
     }
 
-    private static class getIntermediateOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputs_result> {
+    private static class getJobStatuses_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobStatuses_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobStatuses_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -99176,18 +100772,20 @@ public class Airavata {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TList _list128 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list128.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem129;
-                  for (int _i130 = 0; _i130 < _list128.size; ++_i130)
+                  org.apache.thrift.protocol.TMap _map136 = iprot.readMapBegin();
+                  struct.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(2*_map136.size);
+                  java.lang.String _key137;
+                  org.apache.airavata.model.status.JobStatus _val138;
+                  for (int _i139 = 0; _i139 < _map136.size; ++_i139)
                   {
-                    _elem129 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-                    _elem129.read(iprot);
-                    struct.success.add(_elem129);
+                    _key137 = iprot.readString();
+                    _val138 = new org.apache.airavata.model.status.JobStatus();
+                    _val138.read(iprot);
+                    struct.success.put(_key137, _val138);
                   }
-                  iprot.readListEnd();
+                  iprot.readMapEnd();
                 }
                 struct.setSuccessIsSet(true);
               } else { 
@@ -99250,19 +100848,20 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobStatuses_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
         if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter131 : struct.success)
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (java.util.Map.Entry<java.lang.String, org.apache.airavata.model.status.JobStatus> _iter140 : struct.success.entrySet())
             {
-              _iter131.write(oprot);
+              oprot.writeString(_iter140.getKey());
+              _iter140.getValue().write(oprot);
             }
-            oprot.writeListEnd();
+            oprot.writeMapEnd();
           }
           oprot.writeFieldEnd();
         }
@@ -99297,16 +100896,16 @@ public class Airavata {
 
     }
 
-    private static class getIntermediateOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getIntermediateOutputs_resultTupleScheme getScheme() {
-        return new getIntermediateOutputs_resultTupleScheme();
+    private static class getJobStatuses_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getJobStatuses_resultTupleScheme getScheme() {
+        return new getJobStatuses_resultTupleScheme();
       }
     }
 
-    private static class getIntermediateOutputs_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getIntermediateOutputs_result> {
+    private static class getJobStatuses_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobStatuses_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getJobStatuses_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -99331,9 +100930,10 @@ public class Airavata {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter132 : struct.success)
+            for (java.util.Map.Entry<java.lang.String, org.apache.airavata.model.status.JobStatus> _iter141 : struct.success.entrySet())
             {
-              _iter132.write(oprot);
+              oprot.writeString(_iter141.getKey());
+              _iter141.getValue().write(oprot);
             }
           }
         }
@@ -99355,19 +100955,21 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getJobStatuses_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list133 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list133.size);
-            org.apache.airavata.model.application.io.OutputDataObjectType _elem134;
-            for (int _i135 = 0; _i135 < _list133.size; ++_i135)
+            org.apache.thrift.protocol.TMap _map142 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(2*_map142.size);
+            java.lang.String _key143;
+            org.apache.airavata.model.status.JobStatus _val144;
+            for (int _i145 = 0; _i145 < _map142.size; ++_i145)
             {
-              _elem134 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-              _elem134.read(iprot);
-              struct.success.add(_elem134);
+              _key143 = iprot.readString();
+              _val144 = new org.apache.airavata.model.status.JobStatus();
+              _val144.read(iprot);
+              struct.success.put(_key143, _val144);
             }
           }
           struct.setSuccessIsSet(true);
@@ -99405,14 +101007,14 @@ public class Airavata {
     }
   }
 
-  public static class getJobStatuses_args implements org.apache.thrift.TBase<getJobStatuses_args, getJobStatuses_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobStatuses_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobStatuses_args");
+  public static class getJobDetails_args implements org.apache.thrift.TBase<getJobDetails_args, getJobDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobDetails_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobDetails_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 AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobStatuses_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobStatuses_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobDetails_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobDetails_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public java.lang.String airavataExperimentId; // required
@@ -99487,13 +101089,13 @@ public class Airavata {
       tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobStatuses_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobDetails_args.class, metaDataMap);
     }
 
-    public getJobStatuses_args() {
+    public getJobDetails_args() {
     }
 
-    public getJobStatuses_args(
+    public getJobDetails_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
       java.lang.String airavataExperimentId)
     {
@@ -99505,7 +101107,7 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getJobStatuses_args(getJobStatuses_args other) {
+    public getJobDetails_args(getJobDetails_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
@@ -99514,8 +101116,8 @@ public class Airavata {
       }
     }
 
-    public getJobStatuses_args deepCopy() {
-      return new getJobStatuses_args(this);
+    public getJobDetails_args deepCopy() {
+      return new getJobDetails_args(this);
     }
 
     @Override
@@ -99528,7 +101130,7 @@ public class Airavata {
       return this.authzToken;
     }
 
-    public getJobStatuses_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getJobDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -99552,7 +101154,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public getJobStatuses_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getJobDetails_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -99624,12 +101226,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getJobStatuses_args)
-        return this.equals((getJobStatuses_args)that);
+      if (that instanceof getJobDetails_args)
+        return this.equals((getJobDetails_args)that);
       return false;
     }
 
-    public boolean equals(getJobStatuses_args that) {
+    public boolean equals(getJobDetails_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -99672,7 +101274,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(getJobStatuses_args other) {
+    public int compareTo(getJobDetails_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -99716,7 +101318,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobStatuses_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobDetails_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -99768,15 +101370,15 @@ public class Airavata {
       }
     }
 
-    private static class getJobStatuses_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getJobStatuses_argsStandardScheme getScheme() {
-        return new getJobStatuses_argsStandardScheme();
+    private static class getJobDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getJobDetails_argsStandardScheme getScheme() {
+        return new getJobDetails_argsStandardScheme();
       }
     }
 
-    private static class getJobStatuses_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobStatuses_args> {
+    private static class getJobDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobDetails_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobStatuses_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -99814,7 +101416,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobStatuses_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -99834,23 +101436,23 @@ public class Airavata {
 
     }
 
-    private static class getJobStatuses_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getJobStatuses_argsTupleScheme getScheme() {
-        return new getJobStatuses_argsTupleScheme();
+    private static class getJobDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getJobDetails_argsTupleScheme getScheme() {
+        return new getJobDetails_argsTupleScheme();
       }
     }
 
-    private static class getJobStatuses_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobStatuses_args> {
+    private static class getJobDetails_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobDetails_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getJobStatuses_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getJobDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         oprot.writeString(struct.airavataExperimentId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getJobStatuses_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getJobDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -99865,20 +101467,20 @@ public class Airavata {
     }
   }
 
-  public static class getJobStatuses_result implements org.apache.thrift.TBase<getJobStatuses_result, getJobStatuses_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobStatuses_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobStatuses_result");
+  public static class getJobDetails_result implements org.apache.thrift.TBase<getJobDetails_result, getJobDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobDetails_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobDetails_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobStatuses_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobStatuses_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobDetails_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobDetails_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success; // required
+    public java.util.List<org.apache.airavata.model.job.JobModel> success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
@@ -99963,9 +101565,8 @@ public class Airavata {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.JobStatus.class))));
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.job.JobModel.class))));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -99977,14 +101578,14 @@ public class Airavata {
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobStatuses_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobDetails_result.class, metaDataMap);
     }
 
-    public getJobStatuses_result() {
+    public getJobDetails_result() {
     }
 
-    public getJobStatuses_result(
-      java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success,
+    public getJobDetails_result(
+      java.util.List<org.apache.airavata.model.job.JobModel> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
@@ -100003,19 +101604,11 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getJobStatuses_result(getJobStatuses_result other) {
+    public getJobDetails_result(getJobDetails_result other) {
       if (other.isSetSuccess()) {
-        java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> __this__success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(other.success.size());
-        for (java.util.Map.Entry<java.lang.String, org.apache.airavata.model.status.JobStatus> other_element : other.success.entrySet()) {
-
-          java.lang.String other_element_key = other_element.getKey();
-          org.apache.airavata.model.status.JobStatus other_element_value = other_element.getValue();
-
-          java.lang.String __this__success_copy_key = other_element_key;
-
-          org.apache.airavata.model.status.JobStatus __this__success_copy_value = new org.apache.airavata.model.status.JobStatus(other_element_value);
-
-          __this__success.put(__this__success_copy_key, __this__success_copy_value);
+        java.util.List<org.apache.airavata.model.job.JobModel> __this__success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(other.success.size());
+        for (org.apache.airavata.model.job.JobModel other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.job.JobModel(other_element));
         }
         this.success = __this__success;
       }
@@ -100036,8 +101629,8 @@ public class Airavata {
       }
     }
 
-    public getJobStatuses_result deepCopy() {
-      return new getJobStatuses_result(this);
+    public getJobDetails_result deepCopy() {
+      return new getJobDetails_result(this);
     }
 
     @Override
@@ -100054,18 +101647,22 @@ public class Airavata {
       return (this.success == null) ? 0 : this.success.size();
     }
 
-    public void putToSuccess(java.lang.String key, org.apache.airavata.model.status.JobStatus val) {
+    public java.util.Iterator<org.apache.airavata.model.job.JobModel> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.job.JobModel elem) {
       if (this.success == null) {
-        this.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>();
+        this.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>();
       }
-      this.success.put(key, val);
+      this.success.add(elem);
     }
 
-    public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> getSuccess() {
+    public java.util.List<org.apache.airavata.model.job.JobModel> getSuccess() {
       return this.success;
     }
 
-    public getJobStatuses_result setSuccess(java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success) {
+    public getJobDetails_result setSuccess(java.util.List<org.apache.airavata.model.job.JobModel> success) {
       this.success = success;
       return this;
     }
@@ -100089,7 +101686,7 @@ public class Airavata {
       return this.ire;
     }
 
-    public getJobStatuses_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getJobDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -100113,7 +101710,7 @@ public class Airavata {
       return this.enf;
     }
 
-    public getJobStatuses_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getJobDetails_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -100137,7 +101734,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public getJobStatuses_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getJobDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -100161,7 +101758,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public getJobStatuses_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getJobDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -100185,7 +101782,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public getJobStatuses_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getJobDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -100211,7 +101808,7 @@ public class Airavata {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>)value);
+          setSuccess((java.util.List<org.apache.airavata.model.job.JobModel>)value);
         }
         break;
 
@@ -100309,12 +101906,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getJobStatuses_result)
-        return this.equals((getJobStatuses_result)that);
+      if (that instanceof getJobDetails_result)
+        return this.equals((getJobDetails_result)that);
       return false;
     }
 
-    public boolean equals(getJobStatuses_result that) {
+    public boolean equals(getJobDetails_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -100409,7 +102006,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(getJobStatuses_result other) {
+    public int compareTo(getJobDetails_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -100493,7 +102090,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobStatuses_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobDetails_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -100568,15 +102165,15 @@ public class Airavata {
       }
     }
 
-    private static class getJobStatuses_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getJobStatuses_resultStandardScheme getScheme() {
-        return new getJobStatuses_resultStandardScheme();
+    private static class getJobDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getJobDetails_resultStandardScheme getScheme() {
+        return new getJobDetails_resultStandardScheme();
       }
     }
 
-    private static class getJobStatuses_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobStatuses_result> {
+    private static class getJobDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobDetails_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobStatuses_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -100587,20 +102184,18 @@ public class Airavata {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TMap _map136 = iprot.readMapBegin();
-                  struct.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(2*_map136.size);
-                  java.lang.String _key137;
-                  org.apache.airavata.model.status.JobStatus _val138;
-                  for (int _i139 = 0; _i139 < _map136.size; ++_i139)
+                  org.apache.thrift.protocol.TList _list146 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list146.size);
+                  org.apache.airavata.model.job.JobModel _elem147;
+                  for (int _i148 = 0; _i148 < _list146.size; ++_i148)
                   {
-                    _key137 = iprot.readString();
-                    _val138 = new org.apache.airavata.model.status.JobStatus();
-                    _val138.read(iprot);
-                    struct.success.put(_key137, _val138);
+                    _elem147 = new org.apache.airavata.model.job.JobModel();
+                    _elem147.read(iprot);
+                    struct.success.add(_elem147);
                   }
-                  iprot.readMapEnd();
+                  iprot.readListEnd();
                 }
                 struct.setSuccessIsSet(true);
               } else { 
@@ -100663,20 +102258,19 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobStatuses_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
         if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (java.util.Map.Entry<java.lang.String, org.apache.airavata.model.status.JobStatus> _iter140 : struct.success.entrySet())
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (org.apache.airavata.model.job.JobModel _iter149 : struct.success)
             {
-              oprot.writeString(_iter140.getKey());
-              _iter140.getValue().write(oprot);
+              _iter149.write(oprot);
             }
-            oprot.writeMapEnd();
+            oprot.writeListEnd();
           }
           oprot.writeFieldEnd();
         }
@@ -100711,16 +102305,16 @@ public class Airavata {
 
     }
 
-    private static class getJobStatuses_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getJobStatuses_resultTupleScheme getScheme() {
-        return new getJobStatuses_resultTupleScheme();
+    private static class getJobDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getJobDetails_resultTupleScheme getScheme() {
+        return new getJobDetails_resultTupleScheme();
       }
     }
 
-    private static class getJobStatuses_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobStatuses_result> {
+    private static class getJobDetails_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobDetails_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getJobStatuses_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getJobDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -100745,10 +102339,9 @@ public class Airavata {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (java.util.Map.Entry<java.lang.String, org.apache.airavata.model.status.JobStatus> _iter141 : struct.success.entrySet())
+            for (org.apache.airavata.model.job.JobModel _iter150 : struct.success)
             {
-              oprot.writeString(_iter141.getKey());
-              _iter141.getValue().write(oprot);
+              _iter150.write(oprot);
             }
           }
         }
@@ -100770,21 +102363,19 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getJobStatuses_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getJobDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map142 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(2*_map142.size);
-            java.lang.String _key143;
-            org.apache.airavata.model.status.JobStatus _val144;
-            for (int _i145 = 0; _i145 < _map142.size; ++_i145)
+            org.apache.thrift.protocol.TList _list151 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list151.size);
+            org.apache.airavata.model.job.JobModel _elem152;
+            for (int _i153 = 0; _i153 < _list151.size; ++_i153)
             {
-              _key143 = iprot.readString();
-              _val144 = new org.apache.airavata.model.status.JobStatus();
-              _val144.read(iprot);
-              struct.success.put(_key143, _val144);
+              _elem152 = new org.apache.airavata.model.job.JobModel();
+              _elem152.read(iprot);
+              struct.success.add(_elem152);
             }
           }
           struct.setSuccessIsSet(true);
@@ -100822,22 +102413,28 @@ public class Airavata {
     }
   }
 
-  public static class getJobDetails_args implements org.apache.thrift.TBase<getJobDetails_args, getJobDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobDetails_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobDetails_args");
+  public static class cloneExperiment_args implements org.apache.thrift.TBase<cloneExperiment_args, cloneExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperiment_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperiment_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 AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField EXISTING_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("existingExperimentID", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField NEW_EXPERIMENT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("newExperimentName", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField NEW_EXPERIMENT_PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("newExperimentProjectId", org.apache.thrift.protocol.TType.STRING, (short)4);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobDetails_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobDetails_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperiment_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperiment_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public java.lang.String existingExperimentID; // required
+    public java.lang.String newExperimentName; // required
+    public java.lang.String newExperimentProjectId; // 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"),
-      AIRAVATA_EXPERIMENT_ID((short)2, "airavataExperimentId");
+      EXISTING_EXPERIMENT_ID((short)2, "existingExperimentID"),
+      NEW_EXPERIMENT_NAME((short)3, "newExperimentName"),
+      NEW_EXPERIMENT_PROJECT_ID((short)4, "newExperimentProjectId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -100854,8 +102451,12 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // AIRAVATA_EXPERIMENT_ID
-            return AIRAVATA_EXPERIMENT_ID;
+          case 2: // EXISTING_EXPERIMENT_ID
+            return EXISTING_EXPERIMENT_ID;
+          case 3: // NEW_EXPERIMENT_NAME
+            return NEW_EXPERIMENT_NAME;
+          case 4: // NEW_EXPERIMENT_PROJECT_ID
+            return NEW_EXPERIMENT_PROJECT_ID;
           default:
             return null;
         }
@@ -100901,51 +102502,67 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.EXISTING_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("existingExperimentID", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.NEW_EXPERIMENT_NAME, new org.apache.thrift.meta_data.FieldMetaData("newExperimentName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.NEW_EXPERIMENT_PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("newExperimentProjectId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobDetails_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cloneExperiment_args.class, metaDataMap);
     }
 
-    public getJobDetails_args() {
+    public cloneExperiment_args() {
     }
 
-    public getJobDetails_args(
+    public cloneExperiment_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String airavataExperimentId)
+      java.lang.String existingExperimentID,
+      java.lang.String newExperimentName,
+      java.lang.String newExperimentProjectId)
     {
       this();
       this.authzToken = authzToken;
-      this.airavataExperimentId = airavataExperimentId;
+      this.existingExperimentID = existingExperimentID;
+      this.newExperimentName = newExperimentName;
+      this.newExperimentProjectId = newExperimentProjectId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getJobDetails_args(getJobDetails_args other) {
+    public cloneExperiment_args(cloneExperiment_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetAiravataExperimentId()) {
-        this.airavataExperimentId = other.airavataExperimentId;
+      if (other.isSetExistingExperimentID()) {
+        this.existingExperimentID = other.existingExperimentID;
+      }
+      if (other.isSetNewExperimentName()) {
+        this.newExperimentName = other.newExperimentName;
+      }
+      if (other.isSetNewExperimentProjectId()) {
+        this.newExperimentProjectId = other.newExperimentProjectId;
       }
     }
 
-    public getJobDetails_args deepCopy() {
-      return new getJobDetails_args(this);
+    public cloneExperiment_args deepCopy() {
+      return new cloneExperiment_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.airavataExperimentId = null;
+      this.existingExperimentID = null;
+      this.newExperimentName = null;
+      this.newExperimentProjectId = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getJobDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public cloneExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -100965,27 +102582,75 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getAiravataExperimentId() {
-      return this.airavataExperimentId;
+    public java.lang.String getExistingExperimentID() {
+      return this.existingExperimentID;
     }
 
-    public getJobDetails_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
-      this.airavataExperimentId = airavataExperimentId;
+    public cloneExperiment_args setExistingExperimentID(java.lang.String existingExperimentID) {
+      this.existingExperimentID = existingExperimentID;
       return this;
     }
 
-    public void unsetAiravataExperimentId() {
-      this.airavataExperimentId = null;
+    public void unsetExistingExperimentID() {
+      this.existingExperimentID = null;
     }
 
-    /** Returns true if field airavataExperimentId is set (has been assigned a value) and false otherwise */
-    public boolean isSetAiravataExperimentId() {
-      return this.airavataExperimentId != null;
+    /** Returns true if field existingExperimentID is set (has been assigned a value) and false otherwise */
+    public boolean isSetExistingExperimentID() {
+      return this.existingExperimentID != null;
     }
 
-    public void setAiravataExperimentIdIsSet(boolean value) {
+    public void setExistingExperimentIDIsSet(boolean value) {
       if (!value) {
-        this.airavataExperimentId = null;
+        this.existingExperimentID = null;
+      }
+    }
+
+    public java.lang.String getNewExperimentName() {
+      return this.newExperimentName;
+    }
+
+    public cloneExperiment_args setNewExperimentName(java.lang.String newExperimentName) {
+      this.newExperimentName = newExperimentName;
+      return this;
+    }
+
+    public void unsetNewExperimentName() {
+      this.newExperimentName = null;
+    }
+
+    /** Returns true if field newExperimentName is set (has been assigned a value) and false otherwise */
+    public boolean isSetNewExperimentName() {
+      return this.newExperimentName != null;
+    }
+
+    public void setNewExperimentNameIsSet(boolean value) {
+      if (!value) {
+        this.newExperimentName = null;
+      }
+    }
+
+    public java.lang.String getNewExperimentProjectId() {
+      return this.newExperimentProjectId;
+    }
+
+    public cloneExperiment_args setNewExperimentProjectId(java.lang.String newExperimentProjectId) {
+      this.newExperimentProjectId = newExperimentProjectId;
+      return this;
+    }
+
+    public void unsetNewExperimentProjectId() {
+      this.newExperimentProjectId = null;
+    }
+
+    /** Returns true if field newExperimentProjectId is set (has been assigned a value) and false otherwise */
+    public boolean isSetNewExperimentProjectId() {
+      return this.newExperimentProjectId != null;
+    }
+
+    public void setNewExperimentProjectIdIsSet(boolean value) {
+      if (!value) {
+        this.newExperimentProjectId = null;
       }
     }
 
@@ -100999,11 +102664,27 @@ public class Airavata {
         }
         break;
 
-      case AIRAVATA_EXPERIMENT_ID:
+      case EXISTING_EXPERIMENT_ID:
         if (value == null) {
-          unsetAiravataExperimentId();
+          unsetExistingExperimentID();
         } else {
-          setAiravataExperimentId((java.lang.String)value);
+          setExistingExperimentID((java.lang.String)value);
+        }
+        break;
+
+      case NEW_EXPERIMENT_NAME:
+        if (value == null) {
+          unsetNewExperimentName();
+        } else {
+          setNewExperimentName((java.lang.String)value);
+        }
+        break;
+
+      case NEW_EXPERIMENT_PROJECT_ID:
+        if (value == null) {
+          unsetNewExperimentProjectId();
+        } else {
+          setNewExperimentProjectId((java.lang.String)value);
         }
         break;
 
@@ -101015,8 +102696,14 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case AIRAVATA_EXPERIMENT_ID:
-        return getAiravataExperimentId();
+      case EXISTING_EXPERIMENT_ID:
+        return getExistingExperimentID();
+
+      case NEW_EXPERIMENT_NAME:
+        return getNewExperimentName();
+
+      case NEW_EXPERIMENT_PROJECT_ID:
+        return getNewExperimentProjectId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -101031,8 +102718,12 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case AIRAVATA_EXPERIMENT_ID:
-        return isSetAiravataExperimentId();
+      case EXISTING_EXPERIMENT_ID:
+        return isSetExistingExperimentID();
+      case NEW_EXPERIMENT_NAME:
+        return isSetNewExperimentName();
+      case NEW_EXPERIMENT_PROJECT_ID:
+        return isSetNewExperimentProjectId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -101041,12 +102732,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getJobDetails_args)
-        return this.equals((getJobDetails_args)that);
+      if (that instanceof cloneExperiment_args)
+        return this.equals((cloneExperiment_args)that);
       return false;
     }
 
-    public boolean equals(getJobDetails_args that) {
+    public boolean equals(cloneExperiment_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -101061,12 +102752,30 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_airavataExperimentId = true && this.isSetAiravataExperimentId();
-      boolean that_present_airavataExperimentId = true && that.isSetAiravataExperimentId();
-      if (this_present_airavataExperimentId || that_present_airavataExperimentId) {
-        if (!(this_present_airavataExperimentId && that_present_airavataExperimentId))
+      boolean this_present_existingExperimentID = true && this.isSetExistingExperimentID();
+      boolean that_present_existingExperimentID = true && that.isSetExistingExperimentID();
+      if (this_present_existingExperimentID || that_present_existingExperimentID) {
+        if (!(this_present_existingExperimentID && that_present_existingExperimentID))
           return false;
-        if (!this.airavataExperimentId.equals(that.airavataExperimentId))
+        if (!this.existingExperimentID.equals(that.existingExperimentID))
+          return false;
+      }
+
+      boolean this_present_newExperimentName = true && this.isSetNewExperimentName();
+      boolean that_present_newExperimentName = true && that.isSetNewExperimentName();
+      if (this_present_newExperimentName || that_present_newExperimentName) {
+        if (!(this_present_newExperimentName && that_present_newExperimentName))
+          return false;
+        if (!this.newExperimentName.equals(that.newExperimentName))
+          return false;
+      }
+
+      boolean this_present_newExperimentProjectId = true && this.isSetNewExperimentProjectId();
+      boolean that_present_newExperimentProjectId = true && that.isSetNewExperimentProjectId();
+      if (this_present_newExperimentProjectId || that_present_newExperimentProjectId) {
+        if (!(this_present_newExperimentProjectId && that_present_newExperimentProjectId))
+          return false;
+        if (!this.newExperimentProjectId.equals(that.newExperimentProjectId))
           return false;
       }
 
@@ -101081,15 +102790,23 @@ public class Airavata {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetAiravataExperimentId()) ? 131071 : 524287);
-      if (isSetAiravataExperimentId())
-        hashCode = hashCode * 8191 + airavataExperimentId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetExistingExperimentID()) ? 131071 : 524287);
+      if (isSetExistingExperimentID())
+        hashCode = hashCode * 8191 + existingExperimentID.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetNewExperimentName()) ? 131071 : 524287);
+      if (isSetNewExperimentName())
+        hashCode = hashCode * 8191 + newExperimentName.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetNewExperimentProjectId()) ? 131071 : 524287);
+      if (isSetNewExperimentProjectId())
+        hashCode = hashCode * 8191 + newExperimentProjectId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(getJobDetails_args other) {
+    public int compareTo(cloneExperiment_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -101106,12 +102823,32 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.valueOf(isSetExistingExperimentID()).compareTo(other.isSetExistingExperimentID());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetAiravataExperimentId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataExperimentId, other.airavataExperimentId);
+      if (isSetExistingExperimentID()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.existingExperimentID, other.existingExperimentID);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetNewExperimentName()).compareTo(other.isSetNewExperimentName());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetNewExperimentName()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.newExperimentName, other.newExperimentName);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetNewExperimentProjectId()).compareTo(other.isSetNewExperimentProjectId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetNewExperimentProjectId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.newExperimentProjectId, other.newExperimentProjectId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -101133,7 +102870,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobDetails_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperiment_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -101144,11 +102881,27 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("airavataExperimentId:");
-      if (this.airavataExperimentId == null) {
+      sb.append("existingExperimentID:");
+      if (this.existingExperimentID == null) {
         sb.append("null");
       } else {
-        sb.append(this.airavataExperimentId);
+        sb.append(this.existingExperimentID);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("newExperimentName:");
+      if (this.newExperimentName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.newExperimentName);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("newExperimentProjectId:");
+      if (this.newExperimentProjectId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.newExperimentProjectId);
       }
       first = false;
       sb.append(")");
@@ -101160,9 +102913,6 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (airavataExperimentId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataExperimentId' was not present! Struct: " + toString());
-      }
       // check for sub-struct validity
       if (authzToken != null) {
         authzToken.validate();
@@ -101185,15 +102935,15 @@ public class Airavata {
       }
     }
 
-    private static class getJobDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getJobDetails_argsStandardScheme getScheme() {
-        return new getJobDetails_argsStandardScheme();
+    private static class cloneExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperiment_argsStandardScheme getScheme() {
+        return new cloneExperiment_argsStandardScheme();
       }
     }
 
-    private static class getJobDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobDetails_args> {
+    private static class cloneExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperiment_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobDetails_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -101212,10 +102962,26 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // AIRAVATA_EXPERIMENT_ID
+            case 2: // EXISTING_EXPERIMENT_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.airavataExperimentId = iprot.readString();
-                struct.setAiravataExperimentIdIsSet(true);
+                struct.existingExperimentID = iprot.readString();
+                struct.setExistingExperimentIDIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // NEW_EXPERIMENT_NAME
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.newExperimentName = iprot.readString();
+                struct.setNewExperimentNameIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 4: // NEW_EXPERIMENT_PROJECT_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.newExperimentProjectId = iprot.readString();
+                struct.setNewExperimentProjectIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -101231,7 +102997,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobDetails_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -101240,9 +103006,19 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.airavataExperimentId != null) {
-          oprot.writeFieldBegin(AIRAVATA_EXPERIMENT_ID_FIELD_DESC);
-          oprot.writeString(struct.airavataExperimentId);
+        if (struct.existingExperimentID != null) {
+          oprot.writeFieldBegin(EXISTING_EXPERIMENT_ID_FIELD_DESC);
+          oprot.writeString(struct.existingExperimentID);
+          oprot.writeFieldEnd();
+        }
+        if (struct.newExperimentName != null) {
+          oprot.writeFieldBegin(NEW_EXPERIMENT_NAME_FIELD_DESC);
+          oprot.writeString(struct.newExperimentName);
+          oprot.writeFieldEnd();
+        }
+        if (struct.newExperimentProjectId != null) {
+          oprot.writeFieldBegin(NEW_EXPERIMENT_PROJECT_ID_FIELD_DESC);
+          oprot.writeString(struct.newExperimentProjectId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -101251,29 +103027,59 @@ public class Airavata {
 
     }
 
-    private static class getJobDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getJobDetails_argsTupleScheme getScheme() {
-        return new getJobDetails_argsTupleScheme();
+    private static class cloneExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperiment_argsTupleScheme getScheme() {
+        return new cloneExperiment_argsTupleScheme();
       }
     }
 
-    private static class getJobDetails_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobDetails_args> {
+    private static class cloneExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperiment_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getJobDetails_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.airavataExperimentId);
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetExistingExperimentID()) {
+          optionals.set(0);
+        }
+        if (struct.isSetNewExperimentName()) {
+          optionals.set(1);
+        }
+        if (struct.isSetNewExperimentProjectId()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetExistingExperimentID()) {
+          oprot.writeString(struct.existingExperimentID);
+        }
+        if (struct.isSetNewExperimentName()) {
+          oprot.writeString(struct.newExperimentName);
+        }
+        if (struct.isSetNewExperimentProjectId()) {
+          oprot.writeString(struct.newExperimentProjectId);
+        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getJobDetails_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.airavataExperimentId = iprot.readString();
-        struct.setAiravataExperimentIdIsSet(true);
+        java.util.BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.existingExperimentID = iprot.readString();
+          struct.setExistingExperimentIDIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.newExperimentName = iprot.readString();
+          struct.setNewExperimentNameIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.newExperimentProjectId = iprot.readString();
+          struct.setNewExperimentProjectIdIsSet(true);
+        }
       }
     }
 
@@ -101282,25 +103088,27 @@ public class Airavata {
     }
   }
 
-  public static class getJobDetails_result implements org.apache.thrift.TBase<getJobDetails_result, getJobDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobDetails_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobDetails_result");
+  public static class cloneExperiment_result implements org.apache.thrift.TBase<cloneExperiment_result, cloneExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperiment_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperiment_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
+    private static final org.apache.thrift.protocol.TField PNFE_FIELD_DESC = new org.apache.thrift.protocol.TField("pnfe", org.apache.thrift.protocol.TType.STRUCT, (short)6);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobDetails_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobDetails_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperiment_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperiment_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.job.JobModel> success; // required
+    public java.lang.String success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
     public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // 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 {
@@ -101309,7 +103117,8 @@ public class Airavata {
       ENF((short)2, "enf"),
       ACE((short)3, "ace"),
       ASE((short)4, "ase"),
-      AE((short)5, "ae");
+      AE((short)5, "ae"),
+      PNFE((short)6, "pnfe");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -101336,6 +103145,8 @@ public class Airavata {
             return ASE;
           case 5: // AE
             return AE;
+          case 6: // PNFE
+            return PNFE;
           default:
             return null;
         }
@@ -101380,8 +103191,7 @@ public class Airavata {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.job.JobModel.class))));
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -101392,20 +103202,23 @@ public class Airavata {
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
+      tmpMap.put(_Fields.PNFE, new org.apache.thrift.meta_data.FieldMetaData("pnfe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.ProjectNotFoundException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobDetails_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cloneExperiment_result.class, metaDataMap);
     }
 
-    public getJobDetails_result() {
+    public cloneExperiment_result() {
     }
 
-    public getJobDetails_result(
-      java.util.List<org.apache.airavata.model.job.JobModel> success,
+    public cloneExperiment_result(
+      java.lang.String success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
       org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
+      org.apache.airavata.model.error.AuthorizationException ae,
+      org.apache.airavata.model.error.ProjectNotFoundException pnfe)
     {
       this();
       this.success = success;
@@ -101414,18 +103227,15 @@ public class Airavata {
       this.ace = ace;
       this.ase = ase;
       this.ae = ae;
+      this.pnfe = pnfe;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getJobDetails_result(getJobDetails_result other) {
+    public cloneExperiment_result(cloneExperiment_result other) {
       if (other.isSetSuccess()) {
-        java.util.List<org.apache.airavata.model.job.JobModel> __this__success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(other.success.size());
-        for (org.apache.airavata.model.job.JobModel other_element : other.success) {
-          __this__success.add(new org.apache.airavata.model.job.JobModel(other_element));
-        }
-        this.success = __this__success;
+        this.success = other.success;
       }
       if (other.isSetIre()) {
         this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
@@ -101442,10 +103252,13 @@ public class Airavata {
       if (other.isSetAe()) {
         this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
       }
+      if (other.isSetPnfe()) {
+        this.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException(other.pnfe);
+      }
     }
 
-    public getJobDetails_result deepCopy() {
-      return new getJobDetails_result(this);
+    public cloneExperiment_result deepCopy() {
+      return new cloneExperiment_result(this);
     }
 
     @Override
@@ -101456,28 +103269,14 @@ public class Airavata {
       this.ace = null;
       this.ase = null;
       this.ae = null;
+      this.pnfe = null;
     }
 
-    public int getSuccessSize() {
-      return (this.success == null) ? 0 : this.success.size();
-    }
-
-    public java.util.Iterator<org.apache.airavata.model.job.JobModel> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(org.apache.airavata.model.job.JobModel elem) {
-      if (this.success == null) {
-        this.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>();
-      }
-      this.success.add(elem);
-    }
-
-    public java.util.List<org.apache.airavata.model.job.JobModel> getSuccess() {
+    public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public getJobDetails_result setSuccess(java.util.List<org.apache.airavata.model.job.JobModel> success) {
+    public cloneExperiment_result setSuccess(java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -101501,7 +103300,7 @@ public class Airavata {
       return this.ire;
     }
 
-    public getJobDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public cloneExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -101525,7 +103324,7 @@ public class Airavata {
       return this.enf;
     }
 
-    public getJobDetails_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public cloneExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -101549,7 +103348,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public getJobDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public cloneExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -101573,7 +103372,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public getJobDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public cloneExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -101597,7 +103396,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public getJobDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public cloneExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -101617,13 +103416,37 @@ public class Airavata {
       }
     }
 
+    public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
+      return this.pnfe;
+    }
+
+    public cloneExperiment_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+      this.pnfe = pnfe;
+      return this;
+    }
+
+    public void unsetPnfe() {
+      this.pnfe = null;
+    }
+
+    /** Returns true if field pnfe is set (has been assigned a value) and false otherwise */
+    public boolean isSetPnfe() {
+      return this.pnfe != null;
+    }
+
+    public void setPnfeIsSet(boolean value) {
+      if (!value) {
+        this.pnfe = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.util.List<org.apache.airavata.model.job.JobModel>)value);
+          setSuccess((java.lang.String)value);
         }
         break;
 
@@ -101667,6 +103490,14 @@ public class Airavata {
         }
         break;
 
+      case PNFE:
+        if (value == null) {
+          unsetPnfe();
+        } else {
+          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
+        }
+        break;
+
       }
     }
 
@@ -101690,6 +103521,9 @@ public class Airavata {
       case AE:
         return getAe();
 
+      case PNFE:
+        return getPnfe();
+
       }
       throw new java.lang.IllegalStateException();
     }
@@ -101713,6 +103547,8 @@ public class Airavata {
         return isSetAse();
       case AE:
         return isSetAe();
+      case PNFE:
+        return isSetPnfe();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -101721,12 +103557,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getJobDetails_result)
-        return this.equals((getJobDetails_result)that);
+      if (that instanceof cloneExperiment_result)
+        return this.equals((cloneExperiment_result)that);
       return false;
     }
 
-    public boolean equals(getJobDetails_result that) {
+    public boolean equals(cloneExperiment_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -101786,6 +103622,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_pnfe = true && this.isSetPnfe();
+      boolean that_present_pnfe = true && that.isSetPnfe();
+      if (this_present_pnfe || that_present_pnfe) {
+        if (!(this_present_pnfe && that_present_pnfe))
+          return false;
+        if (!this.pnfe.equals(that.pnfe))
+          return false;
+      }
+
       return true;
     }
 
@@ -101817,11 +103662,15 @@ public class Airavata {
       if (isSetAe())
         hashCode = hashCode * 8191 + ae.hashCode();
 
+      hashCode = hashCode * 8191 + ((isSetPnfe()) ? 131071 : 524287);
+      if (isSetPnfe())
+        hashCode = hashCode * 8191 + pnfe.hashCode();
+
       return hashCode;
     }
 
     @Override
-    public int compareTo(getJobDetails_result other) {
+    public int compareTo(cloneExperiment_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -101888,6 +103737,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetPnfe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pnfe, other.pnfe);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -101905,7 +103764,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobDetails_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperiment_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -101955,6 +103814,14 @@ public class Airavata {
         sb.append(this.ae);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("pnfe:");
+      if (this.pnfe == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.pnfe);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -101980,15 +103847,15 @@ public class Airavata {
       }
     }
 
-    private static class getJobDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getJobDetails_resultStandardScheme getScheme() {
-        return new getJobDetails_resultStandardScheme();
+    private static class cloneExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperiment_resultStandardScheme getScheme() {
+        return new cloneExperiment_resultStandardScheme();
       }
     }
 
-    private static class getJobDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobDetails_result> {
+    private static class cloneExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperiment_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobDetails_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -101999,19 +103866,8 @@ public class Airavata {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list146 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list146.size);
-                  org.apache.airavata.model.job.JobModel _elem147;
-                  for (int _i148 = 0; _i148 < _list146.size; ++_i148)
-                  {
-                    _elem147 = new org.apache.airavata.model.job.JobModel();
-                    _elem147.read(iprot);
-                    struct.success.add(_elem147);
-                  }
-                  iprot.readListEnd();
-                }
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.success = iprot.readString();
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -102062,6 +103918,15 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 6: // PNFE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+                struct.pnfe.read(iprot);
+                struct.setPnfeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -102073,20 +103938,13 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobDetails_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
         if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.job.JobModel _iter149 : struct.success)
-            {
-              _iter149.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
+          oprot.writeString(struct.success);
           oprot.writeFieldEnd();
         }
         if (struct.ire != null) {
@@ -102114,22 +103972,27 @@ public class Airavata {
           struct.ae.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.pnfe != null) {
+          oprot.writeFieldBegin(PNFE_FIELD_DESC);
+          struct.pnfe.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class getJobDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getJobDetails_resultTupleScheme getScheme() {
-        return new getJobDetails_resultTupleScheme();
+    private static class cloneExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperiment_resultTupleScheme getScheme() {
+        return new cloneExperiment_resultTupleScheme();
       }
     }
 
-    private static class getJobDetails_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobDetails_result> {
+    private static class cloneExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperiment_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getJobDetails_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -102150,15 +104013,12 @@ public class Airavata {
         if (struct.isSetAe()) {
           optionals.set(5);
         }
-        oprot.writeBitSet(optionals, 6);
+        if (struct.isSetPnfe()) {
+          optionals.set(6);
+        }
+        oprot.writeBitSet(optionals, 7);
         if (struct.isSetSuccess()) {
-          {
-            oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.job.JobModel _iter150 : struct.success)
-            {
-              _iter150.write(oprot);
-            }
-          }
+          oprot.writeString(struct.success);
         }
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
@@ -102175,24 +104035,17 @@ public class Airavata {
         if (struct.isSetAe()) {
           struct.ae.write(oprot);
         }
+        if (struct.isSetPnfe()) {
+          struct.pnfe.write(oprot);
+        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getJobDetails_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(6);
+        java.util.BitSet incoming = iprot.readBitSet(7);
         if (incoming.get(0)) {
-          {
-            org.apache.thrift.protocol.TList _list151 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list151.size);
-            org.apache.airavata.model.job.JobModel _elem152;
-            for (int _i153 = 0; _i153 < _list151.size; ++_i153)
-            {
-              _elem152 = new org.apache.airavata.model.job.JobModel();
-              _elem152.read(iprot);
-              struct.success.add(_elem152);
-            }
-          }
+          struct.success = iprot.readString();
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -102220,6 +104073,11 @@ public class Airavata {
           struct.ae.read(iprot);
           struct.setAeIsSet(true);
         }
+        if (incoming.get(6)) {
+          struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+          struct.pnfe.read(iprot);
+          struct.setPnfeIsSet(true);
+        }
       }
     }
 
@@ -102228,16 +104086,16 @@ public class Airavata {
     }
   }
 
-  public static class cloneExperiment_args implements org.apache.thrift.TBase<cloneExperiment_args, cloneExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperiment_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperiment_args");
+  public static class cloneExperimentByAdmin_args implements org.apache.thrift.TBase<cloneExperimentByAdmin_args, cloneExperimentByAdmin_args._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperimentByAdmin_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperimentByAdmin_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 EXISTING_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("existingExperimentID", org.apache.thrift.protocol.TType.STRING, (short)2);
     private static final org.apache.thrift.protocol.TField NEW_EXPERIMENT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("newExperimentName", org.apache.thrift.protocol.TType.STRING, (short)3);
     private static final org.apache.thrift.protocol.TField NEW_EXPERIMENT_PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("newExperimentProjectId", org.apache.thrift.protocol.TType.STRING, (short)4);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperiment_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperiment_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperimentByAdmin_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperimentByAdmin_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public java.lang.String existingExperimentID; // required
@@ -102324,13 +104182,13 @@ public class Airavata {
       tmpMap.put(_Fields.NEW_EXPERIMENT_PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("newExperimentProjectId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cloneExperiment_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cloneExperimentByAdmin_args.class, metaDataMap);
     }
 
-    public cloneExperiment_args() {
+    public cloneExperimentByAdmin_args() {
     }
 
-    public cloneExperiment_args(
+    public cloneExperimentByAdmin_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
       java.lang.String existingExperimentID,
       java.lang.String newExperimentName,
@@ -102346,7 +104204,7 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public cloneExperiment_args(cloneExperiment_args other) {
+    public cloneExperimentByAdmin_args(cloneExperimentByAdmin_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
@@ -102361,8 +104219,8 @@ public class Airavata {
       }
     }
 
-    public cloneExperiment_args deepCopy() {
-      return new cloneExperiment_args(this);
+    public cloneExperimentByAdmin_args deepCopy() {
+      return new cloneExperimentByAdmin_args(this);
     }
 
     @Override
@@ -102377,7 +104235,7 @@ public class Airavata {
       return this.authzToken;
     }
 
-    public cloneExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public cloneExperimentByAdmin_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -102401,7 +104259,7 @@ public class Airavata {
       return this.existingExperimentID;
     }
 
-    public cloneExperiment_args setExistingExperimentID(java.lang.String existingExperimentID) {
+    public cloneExperimentByAdmin_args setExistingExperimentID(java.lang.String existingExperimentID) {
       this.existingExperimentID = existingExperimentID;
       return this;
     }
@@ -102425,7 +104283,7 @@ public class Airavata {
       return this.newExperimentName;
     }
 
-    public cloneExperiment_args setNewExperimentName(java.lang.String newExperimentName) {
+    public cloneExperimentByAdmin_args setNewExperimentName(java.lang.String newExperimentName) {
       this.newExperimentName = newExperimentName;
       return this;
     }
@@ -102449,7 +104307,7 @@ public class Airavata {
       return this.newExperimentProjectId;
     }
 
-    public cloneExperiment_args setNewExperimentProjectId(java.lang.String newExperimentProjectId) {
+    public cloneExperimentByAdmin_args setNewExperimentProjectId(java.lang.String newExperimentProjectId) {
       this.newExperimentProjectId = newExperimentProjectId;
       return this;
     }
@@ -102547,12 +104405,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof cloneExperiment_args)
-        return this.equals((cloneExperiment_args)that);
+      if (that instanceof cloneExperimentByAdmin_args)
+        return this.equals((cloneExperimentByAdmin_args)that);
       return false;
     }
 
-    public boolean equals(cloneExperiment_args that) {
+    public boolean equals(cloneExperimentByAdmin_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -102621,7 +104479,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(cloneExperiment_args other) {
+    public int compareTo(cloneExperimentByAdmin_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -102685,7 +104543,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperiment_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperimentByAdmin_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -102750,15 +104608,15 @@ public class Airavata {
       }
     }
 
-    private static class cloneExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperiment_argsStandardScheme getScheme() {
-        return new cloneExperiment_argsStandardScheme();
+    private static class cloneExperimentByAdmin_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperimentByAdmin_argsStandardScheme getScheme() {
+        return new cloneExperimentByAdmin_argsStandardScheme();
       }
     }
 
-    private static class cloneExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperiment_args> {
+    private static class cloneExperimentByAdmin_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperimentByAdmin_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -102812,7 +104670,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -102842,16 +104700,16 @@ public class Airavata {
 
     }
 
-    private static class cloneExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperiment_argsTupleScheme getScheme() {
-        return new cloneExperiment_argsTupleScheme();
+    private static class cloneExperimentByAdmin_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperimentByAdmin_argsTupleScheme getScheme() {
+        return new cloneExperimentByAdmin_argsTupleScheme();
       }
     }
 
-    private static class cloneExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperiment_args> {
+    private static class cloneExperimentByAdmin_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperimentByAdmin_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         java.util.BitSet optionals = new java.util.BitSet();
@@ -102877,7 +104735,7 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -102903,8 +104761,8 @@ public class Airavata {
     }
   }
 
-  public static class cloneExperiment_result implements org.apache.thrift.TBase<cloneExperiment_result, cloneExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperiment_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperiment_result");
+  public static class cloneExperimentByAdmin_result implements org.apache.thrift.TBase<cloneExperimentByAdmin_result, cloneExperimentByAdmin_result._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperimentByAdmin_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperimentByAdmin_result");
 
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
@@ -102914,8 +104772,8 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
     private static final org.apache.thrift.protocol.TField PNFE_FIELD_DESC = new org.apache.thrift.protocol.TField("pnfe", org.apache.thrift.protocol.TType.STRUCT, (short)6);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperiment_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperiment_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperimentByAdmin_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperimentByAdmin_resultTupleSchemeFactory();
 
     public java.lang.String success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
@@ -103020,13 +104878,13 @@ public class Airavata {
       tmpMap.put(_Fields.PNFE, new org.apache.thrift.meta_data.FieldMetaData("pnfe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.ProjectNotFoundException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cloneExperiment_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cloneExperimentByAdmin_result.class, metaDataMap);
     }
 
-    public cloneExperiment_result() {
+    public cloneExperimentByAdmin_result() {
     }
 
-    public cloneExperiment_result(
+    public cloneExperimentByAdmin_result(
       java.lang.String success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
@@ -103048,7 +104906,7 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public cloneExperiment_result(cloneExperiment_result other) {
+    public cloneExperimentByAdmin_result(cloneExperimentByAdmin_result other) {
       if (other.isSetSuccess()) {
         this.success = other.success;
       }
@@ -103072,8 +104930,8 @@ public class Airavata {
       }
     }
 
-    public cloneExperiment_result deepCopy() {
-      return new cloneExperiment_result(this);
+    public cloneExperimentByAdmin_result deepCopy() {
+      return new cloneExperimentByAdmin_result(this);
     }
 
     @Override
@@ -103091,7 +104949,7 @@ public class Airavata {
       return this.success;
     }
 
-    public cloneExperiment_result setSuccess(java.lang.String success) {
+    public cloneExperimentByAdmin_result setSuccess(java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -103115,7 +104973,7 @@ public class Airavata {
       return this.ire;
     }
 
-    public cloneExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public cloneExperimentByAdmin_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -103139,7 +104997,7 @@ public class Airavata {
       return this.enf;
     }
 
-    public cloneExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public cloneExperimentByAdmin_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -103163,7 +105021,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public cloneExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public cloneExperimentByAdmin_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -103187,7 +105045,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public cloneExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public cloneExperimentByAdmin_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -103211,7 +105069,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public cloneExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public cloneExperimentByAdmin_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -103235,7 +105093,7 @@ public class Airavata {
       return this.pnfe;
     }
 
-    public cloneExperiment_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public cloneExperimentByAdmin_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -103372,12 +105230,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof cloneExperiment_result)
-        return this.equals((cloneExperiment_result)that);
+      if (that instanceof cloneExperimentByAdmin_result)
+        return this.equals((cloneExperimentByAdmin_result)that);
       return false;
     }
 
-    public boolean equals(cloneExperiment_result that) {
+    public boolean equals(cloneExperimentByAdmin_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -103485,7 +105343,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(cloneExperiment_result other) {
+    public int compareTo(cloneExperimentByAdmin_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -103579,7 +105437,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperiment_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperimentByAdmin_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -103662,15 +105520,15 @@ public class Airavata {
       }
     }
 
-    private static class cloneExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperiment_resultStandardScheme getScheme() {
-        return new cloneExperiment_resultStandardScheme();
+    private static class cloneExperimentByAdmin_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperimentByAdmin_resultStandardScheme getScheme() {
+        return new cloneExperimentByAdmin_resultStandardScheme();
       }
     }
 
-    private static class cloneExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperiment_result> {
+    private static class cloneExperimentByAdmin_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperimentByAdmin_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperiment_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -103753,7 +105611,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperiment_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -103798,16 +105656,16 @@ public class Airavata {
 
     }
 
-    private static class cloneExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperiment_resultTupleScheme getScheme() {
-        return new cloneExperiment_resultTupleScheme();
+    private static class cloneExperimentByAdmin_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperimentByAdmin_resultTupleScheme getScheme() {
+        return new cloneExperimentByAdmin_resultTupleScheme();
       }
     }
 
-    private static class cloneExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperiment_result> {
+    private static class cloneExperimentByAdmin_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperimentByAdmin_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperiment_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -103856,7 +105714,7 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperiment_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(7);
         if (incoming.get(0)) {
@@ -103901,28 +105759,25 @@ public class Airavata {
     }
   }
 
-  public static class cloneExperimentByAdmin_args implements org.apache.thrift.TBase<cloneExperimentByAdmin_args, cloneExperimentByAdmin_args._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperimentByAdmin_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperimentByAdmin_args");
+  public static class terminateExperiment_args implements org.apache.thrift.TBase<terminateExperiment_args, terminateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_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 EXISTING_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("existingExperimentID", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField NEW_EXPERIMENT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("newExperimentName", org.apache.thrift.protocol.TType.STRING, (short)3);
-    private static final org.apache.thrift.protocol.TField NEW_EXPERIMENT_PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("newExperimentProjectId", org.apache.thrift.protocol.TType.STRING, (short)4);
+    private static final org.apache.thrift.protocol.TField AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperimentByAdmin_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperimentByAdmin_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String existingExperimentID; // required
-    public java.lang.String newExperimentName; // required
-    public java.lang.String newExperimentProjectId; // required
+    public java.lang.String airavataExperimentId; // required
+    public java.lang.String gatewayId; // 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"),
-      EXISTING_EXPERIMENT_ID((short)2, "existingExperimentID"),
-      NEW_EXPERIMENT_NAME((short)3, "newExperimentName"),
-      NEW_EXPERIMENT_PROJECT_ID((short)4, "newExperimentProjectId");
+      AIRAVATA_EXPERIMENT_ID((short)2, "airavataExperimentId"),
+      GATEWAY_ID((short)3, "gatewayId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -103939,12 +105794,10 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // EXISTING_EXPERIMENT_ID
-            return EXISTING_EXPERIMENT_ID;
-          case 3: // NEW_EXPERIMENT_NAME
-            return NEW_EXPERIMENT_NAME;
-          case 4: // NEW_EXPERIMENT_PROJECT_ID
-            return NEW_EXPERIMENT_PROJECT_ID;
+          case 2: // AIRAVATA_EXPERIMENT_ID
+            return AIRAVATA_EXPERIMENT_ID;
+          case 3: // GATEWAY_ID
+            return GATEWAY_ID;
           default:
             return null;
         }
@@ -103990,67 +105843,59 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.EXISTING_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("existingExperimentID", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.NEW_EXPERIMENT_NAME, new org.apache.thrift.meta_data.FieldMetaData("newExperimentName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+      tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.NEW_EXPERIMENT_PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("newExperimentProjectId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cloneExperimentByAdmin_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(terminateExperiment_args.class, metaDataMap);
     }
 
-    public cloneExperimentByAdmin_args() {
+    public terminateExperiment_args() {
     }
 
-    public cloneExperimentByAdmin_args(
+    public terminateExperiment_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String existingExperimentID,
-      java.lang.String newExperimentName,
-      java.lang.String newExperimentProjectId)
+      java.lang.String airavataExperimentId,
+      java.lang.String gatewayId)
     {
       this();
       this.authzToken = authzToken;
-      this.existingExperimentID = existingExperimentID;
-      this.newExperimentName = newExperimentName;
-      this.newExperimentProjectId = newExperimentProjectId;
+      this.airavataExperimentId = airavataExperimentId;
+      this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public cloneExperimentByAdmin_args(cloneExperimentByAdmin_args other) {
+    public terminateExperiment_args(terminateExperiment_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetExistingExperimentID()) {
-        this.existingExperimentID = other.existingExperimentID;
-      }
-      if (other.isSetNewExperimentName()) {
-        this.newExperimentName = other.newExperimentName;
+      if (other.isSetAiravataExperimentId()) {
+        this.airavataExperimentId = other.airavataExperimentId;
       }
-      if (other.isSetNewExperimentProjectId()) {
-        this.newExperimentProjectId = other.newExperimentProjectId;
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
       }
     }
 
-    public cloneExperimentByAdmin_args deepCopy() {
-      return new cloneExperimentByAdmin_args(this);
+    public terminateExperiment_args deepCopy() {
+      return new terminateExperiment_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.existingExperimentID = null;
-      this.newExperimentName = null;
-      this.newExperimentProjectId = null;
+      this.airavataExperimentId = null;
+      this.gatewayId = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public cloneExperimentByAdmin_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public terminateExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -104070,75 +105915,51 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getExistingExperimentID() {
-      return this.existingExperimentID;
-    }
-
-    public cloneExperimentByAdmin_args setExistingExperimentID(java.lang.String existingExperimentID) {
-      this.existingExperimentID = existingExperimentID;
-      return this;
-    }
-
-    public void unsetExistingExperimentID() {
-      this.existingExperimentID = null;
-    }
-
-    /** Returns true if field existingExperimentID is set (has been assigned a value) and false otherwise */
-    public boolean isSetExistingExperimentID() {
-      return this.existingExperimentID != null;
-    }
-
-    public void setExistingExperimentIDIsSet(boolean value) {
-      if (!value) {
-        this.existingExperimentID = null;
-      }
-    }
-
-    public java.lang.String getNewExperimentName() {
-      return this.newExperimentName;
+    public java.lang.String getAiravataExperimentId() {
+      return this.airavataExperimentId;
     }
 
-    public cloneExperimentByAdmin_args setNewExperimentName(java.lang.String newExperimentName) {
-      this.newExperimentName = newExperimentName;
+    public terminateExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+      this.airavataExperimentId = airavataExperimentId;
       return this;
     }
 
-    public void unsetNewExperimentName() {
-      this.newExperimentName = null;
+    public void unsetAiravataExperimentId() {
+      this.airavataExperimentId = null;
     }
 
-    /** Returns true if field newExperimentName is set (has been assigned a value) and false otherwise */
-    public boolean isSetNewExperimentName() {
-      return this.newExperimentName != null;
+    /** Returns true if field airavataExperimentId is set (has been assigned a value) and false otherwise */
+    public boolean isSetAiravataExperimentId() {
+      return this.airavataExperimentId != null;
     }
 
-    public void setNewExperimentNameIsSet(boolean value) {
+    public void setAiravataExperimentIdIsSet(boolean value) {
       if (!value) {
-        this.newExperimentName = null;
+        this.airavataExperimentId = null;
       }
     }
 
-    public java.lang.String getNewExperimentProjectId() {
-      return this.newExperimentProjectId;
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public cloneExperimentByAdmin_args setNewExperimentProjectId(java.lang.String newExperimentProjectId) {
-      this.newExperimentProjectId = newExperimentProjectId;
+    public terminateExperiment_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
       return this;
     }
 
-    public void unsetNewExperimentProjectId() {
-      this.newExperimentProjectId = null;
+    public void unsetGatewayId() {
+      this.gatewayId = null;
     }
 
-    /** Returns true if field newExperimentProjectId is set (has been assigned a value) and false otherwise */
-    public boolean isSetNewExperimentProjectId() {
-      return this.newExperimentProjectId != null;
+    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayId() {
+      return this.gatewayId != null;
     }
 
-    public void setNewExperimentProjectIdIsSet(boolean value) {
+    public void setGatewayIdIsSet(boolean value) {
       if (!value) {
-        this.newExperimentProjectId = null;
+        this.gatewayId = null;
       }
     }
 
@@ -104152,27 +105973,19 @@ public class Airavata {
         }
         break;
 
-      case EXISTING_EXPERIMENT_ID:
-        if (value == null) {
-          unsetExistingExperimentID();
-        } else {
-          setExistingExperimentID((java.lang.String)value);
-        }
-        break;
-
-      case NEW_EXPERIMENT_NAME:
+      case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
-          unsetNewExperimentName();
+          unsetAiravataExperimentId();
         } else {
-          setNewExperimentName((java.lang.String)value);
+          setAiravataExperimentId((java.lang.String)value);
         }
         break;
 
-      case NEW_EXPERIMENT_PROJECT_ID:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetNewExperimentProjectId();
+          unsetGatewayId();
         } else {
-          setNewExperimentProjectId((java.lang.String)value);
+          setGatewayId((java.lang.String)value);
         }
         break;
 
@@ -104184,14 +105997,11 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case EXISTING_EXPERIMENT_ID:
-        return getExistingExperimentID();
-
-      case NEW_EXPERIMENT_NAME:
-        return getNewExperimentName();
+      case AIRAVATA_EXPERIMENT_ID:
+        return getAiravataExperimentId();
 
-      case NEW_EXPERIMENT_PROJECT_ID:
-        return getNewExperimentProjectId();
+      case GATEWAY_ID:
+        return getGatewayId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -104206,12 +106016,10 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case EXISTING_EXPERIMENT_ID:
-        return isSetExistingExperimentID();
-      case NEW_EXPERIMENT_NAME:
-        return isSetNewExperimentName();
-      case NEW_EXPERIMENT_PROJECT_ID:
-        return isSetNewExperimentProjectId();
+      case AIRAVATA_EXPERIMENT_ID:
+        return isSetAiravataExperimentId();
+      case GATEWAY_ID:
+        return isSetGatewayId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -104220,12 +106028,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof cloneExperimentByAdmin_args)
-        return this.equals((cloneExperimentByAdmin_args)that);
+      if (that instanceof terminateExperiment_args)
+        return this.equals((terminateExperiment_args)that);
       return false;
     }
 
-    public boolean equals(cloneExperimentByAdmin_args that) {
+    public boolean equals(terminateExperiment_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -104240,30 +106048,21 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_existingExperimentID = true && this.isSetExistingExperimentID();
-      boolean that_present_existingExperimentID = true && that.isSetExistingExperimentID();
-      if (this_present_existingExperimentID || that_present_existingExperimentID) {
-        if (!(this_present_existingExperimentID && that_present_existingExperimentID))
-          return false;
-        if (!this.existingExperimentID.equals(that.existingExperimentID))
-          return false;
-      }
-
-      boolean this_present_newExperimentName = true && this.isSetNewExperimentName();
-      boolean that_present_newExperimentName = true && that.isSetNewExperimentName();
-      if (this_present_newExperimentName || that_present_newExperimentName) {
-        if (!(this_present_newExperimentName && that_present_newExperimentName))
+      boolean this_present_airavataExperimentId = true && this.isSetAiravataExperimentId();
+      boolean that_present_airavataExperimentId = true && that.isSetAiravataExperimentId();
+      if (this_present_airavataExperimentId || that_present_airavataExperimentId) {
+        if (!(this_present_airavataExperimentId && that_present_airavataExperimentId))
           return false;
-        if (!this.newExperimentName.equals(that.newExperimentName))
+        if (!this.airavataExperimentId.equals(that.airavataExperimentId))
           return false;
       }
 
-      boolean this_present_newExperimentProjectId = true && this.isSetNewExperimentProjectId();
-      boolean that_present_newExperimentProjectId = true && that.isSetNewExperimentProjectId();
-      if (this_present_newExperimentProjectId || that_present_newExperimentProjectId) {
-        if (!(this_present_newExperimentProjectId && that_present_newExperimentProjectId))
+      boolean this_present_gatewayId = true && this.isSetGatewayId();
+      boolean that_present_gatewayId = true && that.isSetGatewayId();
+      if (this_present_gatewayId || that_present_gatewayId) {
+        if (!(this_present_gatewayId && that_present_gatewayId))
           return false;
-        if (!this.newExperimentProjectId.equals(that.newExperimentProjectId))
+        if (!this.gatewayId.equals(that.gatewayId))
           return false;
       }
 
@@ -104278,23 +106077,19 @@ public class Airavata {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetExistingExperimentID()) ? 131071 : 524287);
-      if (isSetExistingExperimentID())
-        hashCode = hashCode * 8191 + existingExperimentID.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetNewExperimentName()) ? 131071 : 524287);
-      if (isSetNewExperimentName())
-        hashCode = hashCode * 8191 + newExperimentName.hashCode();
+      hashCode = hashCode * 8191 + ((isSetAiravataExperimentId()) ? 131071 : 524287);
+      if (isSetAiravataExperimentId())
+        hashCode = hashCode * 8191 + airavataExperimentId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetNewExperimentProjectId()) ? 131071 : 524287);
-      if (isSetNewExperimentProjectId())
-        hashCode = hashCode * 8191 + newExperimentProjectId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+      if (isSetGatewayId())
+        hashCode = hashCode * 8191 + gatewayId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(cloneExperimentByAdmin_args other) {
+    public int compareTo(terminateExperiment_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -104311,32 +106106,22 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExistingExperimentID()).compareTo(other.isSetExistingExperimentID());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetExistingExperimentID()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.existingExperimentID, other.existingExperimentID);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewExperimentName()).compareTo(other.isSetNewExperimentName());
+      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetNewExperimentName()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.newExperimentName, other.newExperimentName);
+      if (isSetAiravataExperimentId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataExperimentId, other.airavataExperimentId);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewExperimentProjectId()).compareTo(other.isSetNewExperimentProjectId());
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetNewExperimentProjectId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.newExperimentProjectId, other.newExperimentProjectId);
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -104358,7 +106143,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperimentByAdmin_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("terminateExperiment_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -104369,27 +106154,19 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("existingExperimentID:");
-      if (this.existingExperimentID == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.existingExperimentID);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("newExperimentName:");
-      if (this.newExperimentName == null) {
+      sb.append("airavataExperimentId:");
+      if (this.airavataExperimentId == null) {
         sb.append("null");
       } else {
-        sb.append(this.newExperimentName);
+        sb.append(this.airavataExperimentId);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("newExperimentProjectId:");
-      if (this.newExperimentProjectId == null) {
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
         sb.append("null");
       } else {
-        sb.append(this.newExperimentProjectId);
+        sb.append(this.gatewayId);
       }
       first = false;
       sb.append(")");
@@ -104423,15 +106200,15 @@ public class Airavata {
       }
     }
 
-    private static class cloneExperimentByAdmin_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperimentByAdmin_argsStandardScheme getScheme() {
-        return new cloneExperimentByAdmin_argsStandardScheme();
+    private static class terminateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public terminateExperiment_argsStandardScheme getScheme() {
+        return new terminateExperiment_argsStandardScheme();
       }
     }
 
-    private static class cloneExperimentByAdmin_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperimentByAdmin_args> {
+    private static class terminateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -104450,26 +106227,18 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // EXISTING_EXPERIMENT_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.existingExperimentID = iprot.readString();
-                struct.setExistingExperimentIDIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // NEW_EXPERIMENT_NAME
+            case 2: // AIRAVATA_EXPERIMENT_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.newExperimentName = iprot.readString();
-                struct.setNewExperimentNameIsSet(true);
+                struct.airavataExperimentId = iprot.readString();
+                struct.setAiravataExperimentIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // NEW_EXPERIMENT_PROJECT_ID
+            case 3: // GATEWAY_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.newExperimentProjectId = iprot.readString();
-                struct.setNewExperimentProjectIdIsSet(true);
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -104485,7 +106254,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -104494,19 +106263,14 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.existingExperimentID != null) {
-          oprot.writeFieldBegin(EXISTING_EXPERIMENT_ID_FIELD_DESC);
-          oprot.writeString(struct.existingExperimentID);
-          oprot.writeFieldEnd();
-        }
-        if (struct.newExperimentName != null) {
-          oprot.writeFieldBegin(NEW_EXPERIMENT_NAME_FIELD_DESC);
-          oprot.writeString(struct.newExperimentName);
+        if (struct.airavataExperimentId != null) {
+          oprot.writeFieldBegin(AIRAVATA_EXPERIMENT_ID_FIELD_DESC);
+          oprot.writeString(struct.airavataExperimentId);
           oprot.writeFieldEnd();
         }
-        if (struct.newExperimentProjectId != null) {
-          oprot.writeFieldBegin(NEW_EXPERIMENT_PROJECT_ID_FIELD_DESC);
-          oprot.writeString(struct.newExperimentProjectId);
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -104515,58 +106279,48 @@ public class Airavata {
 
     }
 
-    private static class cloneExperimentByAdmin_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperimentByAdmin_argsTupleScheme getScheme() {
-        return new cloneExperimentByAdmin_argsTupleScheme();
+    private static class terminateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public terminateExperiment_argsTupleScheme getScheme() {
+        return new terminateExperiment_argsTupleScheme();
       }
     }
 
-    private static class cloneExperimentByAdmin_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperimentByAdmin_args> {
+    private static class terminateExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<terminateExperiment_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetExistingExperimentID()) {
+        if (struct.isSetAiravataExperimentId()) {
           optionals.set(0);
         }
-        if (struct.isSetNewExperimentName()) {
+        if (struct.isSetGatewayId()) {
           optionals.set(1);
         }
-        if (struct.isSetNewExperimentProjectId()) {
-          optionals.set(2);
-        }
-        oprot.writeBitSet(optionals, 3);
-        if (struct.isSetExistingExperimentID()) {
-          oprot.writeString(struct.existingExperimentID);
-        }
-        if (struct.isSetNewExperimentName()) {
-          oprot.writeString(struct.newExperimentName);
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetAiravataExperimentId()) {
+          oprot.writeString(struct.airavataExperimentId);
         }
-        if (struct.isSetNewExperimentProjectId()) {
-          oprot.writeString(struct.newExperimentProjectId);
+        if (struct.isSetGatewayId()) {
+          oprot.writeString(struct.gatewayId);
         }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        java.util.BitSet incoming = iprot.readBitSet(3);
+        java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.existingExperimentID = iprot.readString();
-          struct.setExistingExperimentIDIsSet(true);
+          struct.airavataExperimentId = iprot.readString();
+          struct.setAiravataExperimentIdIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.newExperimentName = iprot.readString();
-          struct.setNewExperimentNameIsSet(true);
-        }
-        if (incoming.get(2)) {
-          struct.newExperimentProjectId = iprot.readString();
-          struct.setNewExperimentProjectIdIsSet(true);
+          struct.gatewayId = iprot.readString();
+          struct.setGatewayIdIsSet(true);
         }
       }
     }
@@ -104576,37 +106330,31 @@ public class Airavata {
     }
   }
 
-  public static class cloneExperimentByAdmin_result implements org.apache.thrift.TBase<cloneExperimentByAdmin_result, cloneExperimentByAdmin_result._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperimentByAdmin_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperimentByAdmin_result");
+  public static class terminateExperiment_result implements org.apache.thrift.TBase<terminateExperiment_result, terminateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
-    private static final org.apache.thrift.protocol.TField PNFE_FIELD_DESC = new org.apache.thrift.protocol.TField("pnfe", org.apache.thrift.protocol.TType.STRUCT, (short)6);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperimentByAdmin_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperimentByAdmin_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
     public org.apache.airavata.model.error.AuthorizationException ae; // required
-    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // 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 {
-      SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ENF((short)2, "enf"),
       ACE((short)3, "ace"),
       ASE((short)4, "ase"),
-      AE((short)5, "ae"),
-      PNFE((short)6, "pnfe");
+      AE((short)5, "ae");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -104621,8 +106369,6 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
           case 1: // IRE
             return IRE;
           case 2: // ENF
@@ -104633,8 +106379,6 @@ public class Airavata {
             return ASE;
           case 5: // AE
             return AE;
-          case 6: // PNFE
-            return PNFE;
           default:
             return null;
         }
@@ -104678,8 +106422,6 @@ public class Airavata {
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -104690,41 +106432,32 @@ public class Airavata {
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
-      tmpMap.put(_Fields.PNFE, new org.apache.thrift.meta_data.FieldMetaData("pnfe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.ProjectNotFoundException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cloneExperimentByAdmin_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(terminateExperiment_result.class, metaDataMap);
     }
 
-    public cloneExperimentByAdmin_result() {
+    public terminateExperiment_result() {
     }
 
-    public cloneExperimentByAdmin_result(
-      java.lang.String success,
+    public terminateExperiment_result(
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
       org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae,
-      org.apache.airavata.model.error.ProjectNotFoundException pnfe)
+      org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
-      this.success = success;
       this.ire = ire;
       this.enf = enf;
       this.ace = ace;
       this.ase = ase;
       this.ae = ae;
-      this.pnfe = pnfe;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public cloneExperimentByAdmin_result(cloneExperimentByAdmin_result other) {
-      if (other.isSetSuccess()) {
-        this.success = other.success;
-      }
+    public terminateExperiment_result(terminateExperiment_result other) {
       if (other.isSetIre()) {
         this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
       }
@@ -104740,55 +106473,26 @@ public class Airavata {
       if (other.isSetAe()) {
         this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
       }
-      if (other.isSetPnfe()) {
-        this.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException(other.pnfe);
-      }
     }
 
-    public cloneExperimentByAdmin_result deepCopy() {
-      return new cloneExperimentByAdmin_result(this);
+    public terminateExperiment_result deepCopy() {
+      return new terminateExperiment_result(this);
     }
 
     @Override
     public void clear() {
-      this.success = null;
       this.ire = null;
       this.enf = null;
       this.ace = null;
       this.ase = null;
       this.ae = null;
-      this.pnfe = null;
-    }
-
-    public java.lang.String getSuccess() {
-      return this.success;
-    }
-
-    public cloneExperimentByAdmin_result setSuccess(java.lang.String success) {
-      this.success = success;
-      return this;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
     }
 
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public cloneExperimentByAdmin_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public terminateExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -104812,7 +106516,7 @@ public class Airavata {
       return this.enf;
     }
 
-    public cloneExperimentByAdmin_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public terminateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -104836,7 +106540,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public cloneExperimentByAdmin_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public terminateExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -104860,7 +106564,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public cloneExperimentByAdmin_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public terminateExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -104884,7 +106588,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public cloneExperimentByAdmin_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public terminateExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -104904,40 +106608,8 @@ public class Airavata {
       }
     }
 
-    public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
-      return this.pnfe;
-    }
-
-    public cloneExperimentByAdmin_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
-      this.pnfe = pnfe;
-      return this;
-    }
-
-    public void unsetPnfe() {
-      this.pnfe = null;
-    }
-
-    /** Returns true if field pnfe is set (has been assigned a value) and false otherwise */
-    public boolean isSetPnfe() {
-      return this.pnfe != null;
-    }
-
-    public void setPnfeIsSet(boolean value) {
-      if (!value) {
-        this.pnfe = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.lang.String)value);
-        }
-        break;
-
       case IRE:
         if (value == null) {
           unsetIre();
@@ -104978,22 +106650,11 @@ public class Airavata {
         }
         break;
 
-      case PNFE:
-        if (value == null) {
-          unsetPnfe();
-        } else {
-          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
-        }
-        break;
-
       }
     }
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
       case IRE:
         return getIre();
 
@@ -105009,9 +106670,6 @@ public class Airavata {
       case AE:
         return getAe();
 
-      case PNFE:
-        return getPnfe();
-
       }
       throw new java.lang.IllegalStateException();
     }
@@ -105023,8 +106681,6 @@ public class Airavata {
       }
 
       switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
       case IRE:
         return isSetIre();
       case ENF:
@@ -105035,8 +106691,6 @@ public class Airavata {
         return isSetAse();
       case AE:
         return isSetAe();
-      case PNFE:
-        return isSetPnfe();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -105045,26 +106699,17 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof cloneExperimentByAdmin_result)
-        return this.equals((cloneExperimentByAdmin_result)that);
+      if (that instanceof terminateExperiment_result)
+        return this.equals((terminateExperiment_result)that);
       return false;
     }
 
-    public boolean equals(cloneExperimentByAdmin_result that) {
+    public boolean equals(terminateExperiment_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          return false;
-      }
-
       boolean this_present_ire = true && this.isSetIre();
       boolean that_present_ire = true && that.isSetIre();
       if (this_present_ire || that_present_ire) {
@@ -105110,15 +106755,6 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_pnfe = true && this.isSetPnfe();
-      boolean that_present_pnfe = true && that.isSetPnfe();
-      if (this_present_pnfe || that_present_pnfe) {
-        if (!(this_present_pnfe && that_present_pnfe))
-          return false;
-        if (!this.pnfe.equals(that.pnfe))
-          return false;
-      }
-
       return true;
     }
 
@@ -105126,10 +106762,6 @@ public class Airavata {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
-
       hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
       if (isSetIre())
         hashCode = hashCode * 8191 + ire.hashCode();
@@ -105150,31 +106782,17 @@ public class Airavata {
       if (isSetAe())
         hashCode = hashCode * 8191 + ae.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetPnfe()) ? 131071 : 524287);
-      if (isSetPnfe())
-        hashCode = hashCode * 8191 + pnfe.hashCode();
-
       return hashCode;
     }
 
     @Override
-    public int compareTo(cloneExperimentByAdmin_result other) {
+    public int compareTo(terminateExperiment_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
@@ -105225,16 +106843,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetPnfe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pnfe, other.pnfe);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -105252,17 +106860,9 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperimentByAdmin_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("terminateExperiment_result(");
       boolean first = true;
 
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
       sb.append("ire:");
       if (this.ire == null) {
         sb.append("null");
@@ -105302,14 +106902,6 @@ public class Airavata {
         sb.append(this.ae);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("pnfe:");
-      if (this.pnfe == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.pnfe);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -105335,15 +106927,15 @@ public class Airavata {
       }
     }
 
-    private static class cloneExperimentByAdmin_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperimentByAdmin_resultStandardScheme getScheme() {
-        return new cloneExperimentByAdmin_resultStandardScheme();
+    private static class terminateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public terminateExperiment_resultStandardScheme getScheme() {
+        return new terminateExperiment_resultStandardScheme();
       }
     }
 
-    private static class cloneExperimentByAdmin_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperimentByAdmin_result> {
+    private static class terminateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -105353,14 +106945,6 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.success = iprot.readString();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             case 1: // IRE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
@@ -105406,15 +106990,6 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 6: // PNFE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
-                struct.pnfe.read(iprot);
-                struct.setPnfeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -105426,15 +107001,10 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeString(struct.success);
-          oprot.writeFieldEnd();
-        }
         if (struct.ire != null) {
           oprot.writeFieldBegin(IRE_FIELD_DESC);
           struct.ire.write(oprot);
@@ -105460,54 +107030,40 @@ public class Airavata {
           struct.ae.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.pnfe != null) {
-          oprot.writeFieldBegin(PNFE_FIELD_DESC);
-          struct.pnfe.write(oprot);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class cloneExperimentByAdmin_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperimentByAdmin_resultTupleScheme getScheme() {
-        return new cloneExperimentByAdmin_resultTupleScheme();
+    private static class terminateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public terminateExperiment_resultTupleScheme getScheme() {
+        return new terminateExperiment_resultTupleScheme();
       }
     }
 
-    private static class cloneExperimentByAdmin_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperimentByAdmin_result> {
+    private static class terminateExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<terminateExperiment_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
         if (struct.isSetIre()) {
-          optionals.set(1);
+          optionals.set(0);
         }
         if (struct.isSetEnf()) {
-          optionals.set(2);
+          optionals.set(1);
         }
         if (struct.isSetAce()) {
-          optionals.set(3);
+          optionals.set(2);
         }
         if (struct.isSetAse()) {
-          optionals.set(4);
+          optionals.set(3);
         }
         if (struct.isSetAe()) {
-          optionals.set(5);
-        }
-        if (struct.isSetPnfe()) {
-          optionals.set(6);
-        }
-        oprot.writeBitSet(optionals, 7);
-        if (struct.isSetSuccess()) {
-          oprot.writeString(struct.success);
+          optionals.set(4);
         }
+        oprot.writeBitSet(optionals, 5);
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
@@ -105523,49 +107079,37 @@ public class Airavata {
         if (struct.isSetAe()) {
           struct.ae.write(oprot);
         }
-        if (struct.isSetPnfe()) {
-          struct.pnfe.write(oprot);
-        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(7);
+        java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
-          struct.success = iprot.readString();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
           struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
           struct.ire.read(iprot);
           struct.setIreIsSet(true);
         }
-        if (incoming.get(2)) {
+        if (incoming.get(1)) {
           struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
           struct.enf.read(iprot);
           struct.setEnfIsSet(true);
         }
-        if (incoming.get(3)) {
+        if (incoming.get(2)) {
           struct.ace = new org.apache.airavata.model.error.AiravataClientException();
           struct.ace.read(iprot);
           struct.setAceIsSet(true);
         }
-        if (incoming.get(4)) {
+        if (incoming.get(3)) {
           struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(5)) {
+        if (incoming.get(4)) {
           struct.ae = new org.apache.airavata.model.error.AuthorizationException();
           struct.ae.read(iprot);
           struct.setAeIsSet(true);
         }
-        if (incoming.get(6)) {
-          struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
-          struct.pnfe.read(iprot);
-          struct.setPnfeIsSet(true);
-        }
       }
     }
 
@@ -105574,25 +107118,25 @@ public class Airavata {
     }
   }
 
-  public static class terminateExperiment_args implements org.apache.thrift.TBase<terminateExperiment_args, terminateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_args");
+  public static class registerApplicationModule_args implements org.apache.thrift.TBase<registerApplicationModule_args, registerApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_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 AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField APPLICATION_MODULE_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationModule", org.apache.thrift.protocol.TType.STRUCT, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
     public java.lang.String gatewayId; // required
+    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // 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"),
-      AIRAVATA_EXPERIMENT_ID((short)2, "airavataExperimentId"),
-      GATEWAY_ID((short)3, "gatewayId");
+      GATEWAY_ID((short)2, "gatewayId"),
+      APPLICATION_MODULE((short)3, "applicationModule");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -105609,10 +107153,10 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // AIRAVATA_EXPERIMENT_ID
-            return AIRAVATA_EXPERIMENT_ID;
-          case 3: // GATEWAY_ID
+          case 2: // GATEWAY_ID
             return GATEWAY_ID;
+          case 3: // APPLICATION_MODULE
+            return APPLICATION_MODULE;
           default:
             return null;
         }
@@ -105658,59 +107202,59 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.APPLICATION_MODULE, new org.apache.thrift.meta_data.FieldMetaData("applicationModule", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(terminateExperiment_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerApplicationModule_args.class, metaDataMap);
     }
 
-    public terminateExperiment_args() {
+    public registerApplicationModule_args() {
     }
 
-    public terminateExperiment_args(
+    public registerApplicationModule_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String airavataExperimentId,
-      java.lang.String gatewayId)
+      java.lang.String gatewayId,
+      org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule)
     {
       this();
       this.authzToken = authzToken;
-      this.airavataExperimentId = airavataExperimentId;
       this.gatewayId = gatewayId;
+      this.applicationModule = applicationModule;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public terminateExperiment_args(terminateExperiment_args other) {
+    public registerApplicationModule_args(registerApplicationModule_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetAiravataExperimentId()) {
-        this.airavataExperimentId = other.airavataExperimentId;
-      }
       if (other.isSetGatewayId()) {
         this.gatewayId = other.gatewayId;
       }
+      if (other.isSetApplicationModule()) {
+        this.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule(other.applicationModule);
+      }
     }
 
-    public terminateExperiment_args deepCopy() {
-      return new terminateExperiment_args(this);
+    public registerApplicationModule_args deepCopy() {
+      return new registerApplicationModule_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.airavataExperimentId = null;
       this.gatewayId = null;
+      this.applicationModule = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public terminateExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -105730,51 +107274,51 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getAiravataExperimentId() {
-      return this.airavataExperimentId;
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public terminateExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
-      this.airavataExperimentId = airavataExperimentId;
+    public registerApplicationModule_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
       return this;
     }
 
-    public void unsetAiravataExperimentId() {
-      this.airavataExperimentId = null;
+    public void unsetGatewayId() {
+      this.gatewayId = null;
     }
 
-    /** Returns true if field airavataExperimentId is set (has been assigned a value) and false otherwise */
-    public boolean isSetAiravataExperimentId() {
-      return this.airavataExperimentId != null;
+    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayId() {
+      return this.gatewayId != null;
     }
 
-    public void setAiravataExperimentIdIsSet(boolean value) {
+    public void setGatewayIdIsSet(boolean value) {
       if (!value) {
-        this.airavataExperimentId = null;
+        this.gatewayId = null;
       }
     }
 
-    public java.lang.String getGatewayId() {
-      return this.gatewayId;
+    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
+      return this.applicationModule;
     }
 
-    public terminateExperiment_args setGatewayId(java.lang.String gatewayId) {
-      this.gatewayId = gatewayId;
+    public registerApplicationModule_args setApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
+      this.applicationModule = applicationModule;
       return this;
     }
 
-    public void unsetGatewayId() {
-      this.gatewayId = null;
+    public void unsetApplicationModule() {
+      this.applicationModule = null;
     }
 
-    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGatewayId() {
-      return this.gatewayId != null;
+    /** Returns true if field applicationModule is set (has been assigned a value) and false otherwise */
+    public boolean isSetApplicationModule() {
+      return this.applicationModule != null;
     }
 
-    public void setGatewayIdIsSet(boolean value) {
+    public void setApplicationModuleIsSet(boolean value) {
       if (!value) {
-        this.gatewayId = null;
+        this.applicationModule = null;
       }
     }
 
@@ -105788,19 +107332,19 @@ public class Airavata {
         }
         break;
 
-      case AIRAVATA_EXPERIMENT_ID:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetAiravataExperimentId();
+          unsetGatewayId();
         } else {
-          setAiravataExperimentId((java.lang.String)value);
+          setGatewayId((java.lang.String)value);
         }
         break;
 
-      case GATEWAY_ID:
+      case APPLICATION_MODULE:
         if (value == null) {
-          unsetGatewayId();
+          unsetApplicationModule();
         } else {
-          setGatewayId((java.lang.String)value);
+          setApplicationModule((org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule)value);
         }
         break;
 
@@ -105812,12 +107356,12 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case AIRAVATA_EXPERIMENT_ID:
-        return getAiravataExperimentId();
-
       case GATEWAY_ID:
         return getGatewayId();
 
+      case APPLICATION_MODULE:
+        return getApplicationModule();
+
       }
       throw new java.lang.IllegalStateException();
     }
@@ -105831,10 +107375,10 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case AIRAVATA_EXPERIMENT_ID:
-        return isSetAiravataExperimentId();
       case GATEWAY_ID:
         return isSetGatewayId();
+      case APPLICATION_MODULE:
+        return isSetApplicationModule();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -105843,12 +107387,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof terminateExperiment_args)
-        return this.equals((terminateExperiment_args)that);
+      if (that instanceof registerApplicationModule_args)
+        return this.equals((registerApplicationModule_args)that);
       return false;
     }
 
-    public boolean equals(terminateExperiment_args that) {
+    public boolean equals(registerApplicationModule_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -105863,15 +107407,6 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_airavataExperimentId = true && this.isSetAiravataExperimentId();
-      boolean that_present_airavataExperimentId = true && that.isSetAiravataExperimentId();
-      if (this_present_airavataExperimentId || that_present_airavataExperimentId) {
-        if (!(this_present_airavataExperimentId && that_present_airavataExperimentId))
-          return false;
-        if (!this.airavataExperimentId.equals(that.airavataExperimentId))
-          return false;
-      }
-
       boolean this_present_gatewayId = true && this.isSetGatewayId();
       boolean that_present_gatewayId = true && that.isSetGatewayId();
       if (this_present_gatewayId || that_present_gatewayId) {
@@ -105881,6 +107416,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_applicationModule = true && this.isSetApplicationModule();
+      boolean that_present_applicationModule = true && that.isSetApplicationModule();
+      if (this_present_applicationModule || that_present_applicationModule) {
+        if (!(this_present_applicationModule && that_present_applicationModule))
+          return false;
+        if (!this.applicationModule.equals(that.applicationModule))
+          return false;
+      }
+
       return true;
     }
 
@@ -105892,19 +107436,19 @@ public class Airavata {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetAiravataExperimentId()) ? 131071 : 524287);
-      if (isSetAiravataExperimentId())
-        hashCode = hashCode * 8191 + airavataExperimentId.hashCode();
-
       hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
       if (isSetGatewayId())
         hashCode = hashCode * 8191 + gatewayId.hashCode();
 
+      hashCode = hashCode * 8191 + ((isSetApplicationModule()) ? 131071 : 524287);
+      if (isSetApplicationModule())
+        hashCode = hashCode * 8191 + applicationModule.hashCode();
+
       return hashCode;
     }
 
     @Override
-    public int compareTo(terminateExperiment_args other) {
+    public int compareTo(registerApplicationModule_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -105921,22 +107465,22 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetAiravataExperimentId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataExperimentId, other.airavataExperimentId);
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.valueOf(isSetApplicationModule()).compareTo(other.isSetApplicationModule());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+      if (isSetApplicationModule()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationModule, other.applicationModule);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -105958,7 +107502,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("terminateExperiment_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("registerApplicationModule_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -105969,19 +107513,19 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("airavataExperimentId:");
-      if (this.airavataExperimentId == null) {
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
         sb.append("null");
       } else {
-        sb.append(this.airavataExperimentId);
+        sb.append(this.gatewayId);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
+      sb.append("applicationModule:");
+      if (this.applicationModule == null) {
         sb.append("null");
       } else {
-        sb.append(this.gatewayId);
+        sb.append(this.applicationModule);
       }
       first = false;
       sb.append(")");
@@ -105993,10 +107537,19 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
+      if (gatewayId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
+      }
+      if (applicationModule == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'applicationModule' was not present! Struct: " + toString());
+      }
       // check for sub-struct validity
       if (authzToken != null) {
         authzToken.validate();
       }
+      if (applicationModule != null) {
+        applicationModule.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -106015,15 +107568,15 @@ public class Airavata {
       }
     }
 
-    private static class terminateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public terminateExperiment_argsStandardScheme getScheme() {
-        return new terminateExperiment_argsStandardScheme();
+    private static class registerApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public registerApplicationModule_argsStandardScheme getScheme() {
+        return new registerApplicationModule_argsStandardScheme();
       }
     }
 
-    private static class terminateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_args> {
+    private static class registerApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationModule_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -106042,18 +107595,19 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // AIRAVATA_EXPERIMENT_ID
+            case 2: // GATEWAY_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.airavataExperimentId = iprot.readString();
-                struct.setAiravataExperimentIdIsSet(true);
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // GATEWAY_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
+            case 3: // APPLICATION_MODULE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
+                struct.applicationModule.read(iprot);
+                struct.setApplicationModuleIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -106069,7 +107623,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -106078,65 +107632,49 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.airavataExperimentId != null) {
-          oprot.writeFieldBegin(AIRAVATA_EXPERIMENT_ID_FIELD_DESC);
-          oprot.writeString(struct.airavataExperimentId);
-          oprot.writeFieldEnd();
-        }
         if (struct.gatewayId != null) {
           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
           oprot.writeString(struct.gatewayId);
           oprot.writeFieldEnd();
         }
+        if (struct.applicationModule != null) {
+          oprot.writeFieldBegin(APPLICATION_MODULE_FIELD_DESC);
+          struct.applicationModule.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class terminateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public terminateExperiment_argsTupleScheme getScheme() {
-        return new terminateExperiment_argsTupleScheme();
+    private static class registerApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public registerApplicationModule_argsTupleScheme getScheme() {
+        return new registerApplicationModule_argsTupleScheme();
       }
     }
 
-    private static class terminateExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<terminateExperiment_args> {
+    private static class registerApplicationModule_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<registerApplicationModule_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetAiravataExperimentId()) {
-          optionals.set(0);
-        }
-        if (struct.isSetGatewayId()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetAiravataExperimentId()) {
-          oprot.writeString(struct.airavataExperimentId);
-        }
-        if (struct.isSetGatewayId()) {
-          oprot.writeString(struct.gatewayId);
-        }
+        oprot.writeString(struct.gatewayId);
+        struct.applicationModule.write(oprot);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        java.util.BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          struct.airavataExperimentId = iprot.readString();
-          struct.setAiravataExperimentIdIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.gatewayId = iprot.readString();
-          struct.setGatewayIdIsSet(true);
-        }
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
+        struct.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
+        struct.applicationModule.read(iprot);
+        struct.setApplicationModuleIsSet(true);
       }
     }
 
@@ -106145,31 +107683,31 @@ public class Airavata {
     }
   }
 
-  public static class terminateExperiment_result implements org.apache.thrift.TBase<terminateExperiment_result, terminateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_result");
+  public static class registerApplicationModule_result implements org.apache.thrift.TBase<registerApplicationModule_result, registerApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_result");
 
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
+    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_resultTupleSchemeFactory();
 
+    public java.lang.String success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
     public org.apache.airavata.model.error.AuthorizationException ae; // 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 {
+      SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
-      ENF((short)2, "enf"),
-      ACE((short)3, "ace"),
-      ASE((short)4, "ase"),
-      AE((short)5, "ae");
+      ACE((short)2, "ace"),
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -106184,15 +107722,15 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
           case 1: // IRE
             return IRE;
-          case 2: // ENF
-            return ENF;
-          case 3: // ACE
+          case 2: // ACE
             return ACE;
-          case 4: // ASE
+          case 3: // ASE
             return ASE;
-          case 5: // AE
+          case 4: // AE
             return AE;
           default:
             return null;
@@ -106237,10 +107775,10 @@ public class Airavata {
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
-      tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.ExperimentNotFoundException.class)));
       tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -106248,22 +107786,22 @@ public class Airavata {
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(terminateExperiment_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerApplicationModule_result.class, metaDataMap);
     }
 
-    public terminateExperiment_result() {
+    public registerApplicationModule_result() {
     }
 
-    public terminateExperiment_result(
+    public registerApplicationModule_result(
+      java.lang.String success,
       org.apache.airavata.model.error.InvalidRequestException ire,
-      org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
       org.apache.airavata.model.error.AiravataSystemException ase,
       org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
+      this.success = success;
       this.ire = ire;
-      this.enf = enf;
       this.ace = ace;
       this.ase = ase;
       this.ae = ae;
@@ -106272,13 +107810,13 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public terminateExperiment_result(terminateExperiment_result other) {
+    public registerApplicationModule_result(registerApplicationModule_result other) {
+      if (other.isSetSuccess()) {
+        this.success = other.success;
+      }
       if (other.isSetIre()) {
         this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
       }
-      if (other.isSetEnf()) {
-        this.enf = new org.apache.airavata.model.error.ExperimentNotFoundException(other.enf);
-      }
       if (other.isSetAce()) {
         this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
       }
@@ -106290,64 +107828,64 @@ public class Airavata {
       }
     }
 
-    public terminateExperiment_result deepCopy() {
-      return new terminateExperiment_result(this);
+    public registerApplicationModule_result deepCopy() {
+      return new registerApplicationModule_result(this);
     }
 
     @Override
     public void clear() {
+      this.success = null;
       this.ire = null;
-      this.enf = null;
       this.ace = null;
       this.ase = null;
       this.ae = null;
     }
 
-    public org.apache.airavata.model.error.InvalidRequestException getIre() {
-      return this.ire;
+    public java.lang.String getSuccess() {
+      return this.success;
     }
 
-    public terminateExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
-      this.ire = ire;
+    public registerApplicationModule_result setSuccess(java.lang.String success) {
+      this.success = success;
       return this;
     }
 
-    public void unsetIre() {
-      this.ire = null;
+    public void unsetSuccess() {
+      this.success = null;
     }
 
-    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
-    public boolean isSetIre() {
-      return this.ire != null;
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
     }
 
-    public void setIreIsSet(boolean value) {
+    public void setSuccessIsSet(boolean value) {
       if (!value) {
-        this.ire = null;
+        this.success = null;
       }
     }
 
-    public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
-      return this.enf;
+    public org.apache.airavata.model.error.InvalidRequestException getIre() {
+      return this.ire;
     }
 
-    public terminateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
-      this.enf = enf;
+    public registerApplicationModule_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+      this.ire = ire;
       return this;
     }
 
-    public void unsetEnf() {
-      this.enf = null;
+    public void unsetIre() {
+      this.ire = null;
     }
 
-    /** Returns true if field enf is set (has been assigned a value) and false otherwise */
-    public boolean isSetEnf() {
-      return this.enf != null;
+    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
+    public boolean isSetIre() {
+      return this.ire != null;
     }
 
-    public void setEnfIsSet(boolean value) {
+    public void setIreIsSet(boolean value) {
       if (!value) {
-        this.enf = null;
+        this.ire = null;
       }
     }
 
@@ -106355,7 +107893,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public terminateExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerApplicationModule_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -106379,7 +107917,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public terminateExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerApplicationModule_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -106403,7 +107941,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public terminateExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerApplicationModule_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -106425,19 +107963,19 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case IRE:
+      case SUCCESS:
         if (value == null) {
-          unsetIre();
+          unsetSuccess();
         } else {
-          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
+          setSuccess((java.lang.String)value);
         }
         break;
 
-      case ENF:
+      case IRE:
         if (value == null) {
-          unsetEnf();
+          unsetIre();
         } else {
-          setEnf((org.apache.airavata.model.error.ExperimentNotFoundException)value);
+          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
         }
         break;
 
@@ -106470,12 +108008,12 @@ public class Airavata {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
       case IRE:
         return getIre();
 
-      case ENF:
-        return getEnf();
-
       case ACE:
         return getAce();
 
@@ -106496,10 +108034,10 @@ public class Airavata {
       }
 
       switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
       case IRE:
         return isSetIre();
-      case ENF:
-        return isSetEnf();
       case ACE:
         return isSetAce();
       case ASE:
@@ -106514,17 +108052,26 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof terminateExperiment_result)
-        return this.equals((terminateExperiment_result)that);
+      if (that instanceof registerApplicationModule_result)
+        return this.equals((registerApplicationModule_result)that);
       return false;
     }
 
-    public boolean equals(terminateExperiment_result that) {
+    public boolean equals(registerApplicationModule_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (!this.success.equals(that.success))
+          return false;
+      }
+
       boolean this_present_ire = true && this.isSetIre();
       boolean that_present_ire = true && that.isSetIre();
       if (this_present_ire || that_present_ire) {
@@ -106534,15 +108081,6 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_enf = true && this.isSetEnf();
-      boolean that_present_enf = true && that.isSetEnf();
-      if (this_present_enf || that_present_enf) {
-        if (!(this_present_enf && that_present_enf))
-          return false;
-        if (!this.enf.equals(that.enf))
-          return false;
-      }
-
       boolean this_present_ace = true && this.isSetAce();
       boolean that_present_ace = true && that.isSetAce();
       if (this_present_ace || that_present_ace) {
@@ -106577,14 +108115,14 @@ public class Airavata {
     public int hashCode() {
       int hashCode = 1;
 
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
       hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
       if (isSetIre())
         hashCode = hashCode * 8191 + ire.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetEnf()) ? 131071 : 524287);
-      if (isSetEnf())
-        hashCode = hashCode * 8191 + enf.hashCode();
-
       hashCode = hashCode * 8191 + ((isSetAce()) ? 131071 : 524287);
       if (isSetAce())
         hashCode = hashCode * 8191 + ace.hashCode();
@@ -106601,29 +108139,29 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(terminateExperiment_result other) {
+    public int compareTo(registerApplicationModule_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetIre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetEnf()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.enf, other.enf);
+      if (isSetIre()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -106675,22 +108213,22 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("terminateExperiment_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("registerApplicationModule_result(");
       boolean first = true;
 
-      sb.append("ire:");
-      if (this.ire == null) {
+      sb.append("success:");
+      if (this.success == null) {
         sb.append("null");
       } else {
-        sb.append(this.ire);
+        sb.append(this.success);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("enf:");
-      if (this.enf == null) {
+      sb.append("ire:");
+      if (this.ire == null) {
         sb.append("null");
       } else {
-        sb.append(this.enf);
+        sb.append(this.ire);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -106742,15 +108280,15 @@ public class Airavata {
       }
     }
 
-    private static class terminateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public terminateExperiment_resultStandardScheme getScheme() {
-        return new terminateExperiment_resultStandardScheme();
+    private static class registerApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public registerApplicationModule_resultStandardScheme getScheme() {
+        return new registerApplicationModule_resultStandardScheme();
       }
     }
 
-    private static class terminateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_result> {
+    private static class registerApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationModule_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -106760,25 +108298,24 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
-            case 1: // IRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-                struct.ire.read(iprot);
-                struct.setIreIsSet(true);
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.success = iprot.readString();
+                struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // ENF
+            case 1: // IRE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
-                struct.enf.read(iprot);
-                struct.setEnfIsSet(true);
+                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
+                struct.ire.read(iprot);
+                struct.setIreIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // ACE
+            case 2: // ACE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ace = new org.apache.airavata.model.error.AiravataClientException();
                 struct.ace.read(iprot);
@@ -106787,7 +108324,7 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // ASE
+            case 3: // ASE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
                 struct.ase.read(iprot);
@@ -106796,7 +108333,7 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 5: // AE
+            case 4: // AE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ae = new org.apache.airavata.model.error.AuthorizationException();
                 struct.ae.read(iprot);
@@ -106816,20 +108353,20 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeString(struct.success);
+          oprot.writeFieldEnd();
+        }
         if (struct.ire != null) {
           oprot.writeFieldBegin(IRE_FIELD_DESC);
           struct.ire.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.enf != null) {
-          oprot.writeFieldBegin(ENF_FIELD_DESC);
-          struct.enf.write(oprot);
-          oprot.writeFieldEnd();
-        }
         if (struct.ace != null) {
           oprot.writeFieldBegin(ACE_FIELD_DESC);
           struct.ace.write(oprot);
@@ -106851,22 +108388,22 @@ public class Airavata {
 
     }
 
-    private static class terminateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public terminateExperiment_resultTupleScheme getScheme() {
-        return new terminateExperiment_resultTupleScheme();
+    private static class registerApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public registerApplicationModule_resultTupleScheme getScheme() {
+        return new registerApplicationModule_resultTupleScheme();
       }
     }
 
-    private static class terminateExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<terminateExperiment_result> {
+    private static class registerApplicationModule_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<registerApplicationModule_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetIre()) {
+        if (struct.isSetSuccess()) {
           optionals.set(0);
         }
-        if (struct.isSetEnf()) {
+        if (struct.isSetIre()) {
           optionals.set(1);
         }
         if (struct.isSetAce()) {
@@ -106879,12 +108416,12 @@ public class Airavata {
           optionals.set(4);
         }
         oprot.writeBitSet(optionals, 5);
+        if (struct.isSetSuccess()) {
+          oprot.writeString(struct.success);
+        }
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
-        if (struct.isSetEnf()) {
-          struct.enf.write(oprot);
-        }
         if (struct.isSetAce()) {
           struct.ace.write(oprot);
         }
@@ -106897,19 +108434,18 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
+          struct.success = iprot.readString();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
           struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
           struct.ire.read(iprot);
           struct.setIreIsSet(true);
         }
-        if (incoming.get(1)) {
-          struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
-          struct.enf.read(iprot);
-          struct.setEnfIsSet(true);
-        }
         if (incoming.get(2)) {
           struct.ace = new org.apache.airavata.model.error.AiravataClientException();
           struct.ace.read(iprot);
@@ -106933,25 +108469,22 @@ public class Airavata {
     }
   }
 
-  public static class registerApplicationModule_args implements org.apache.thrift.TBase<registerApplicationModule_args, registerApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_args");
+  public static class getApplicationModule_args implements org.apache.thrift.TBase<getApplicationModule_args, getApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationModule_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationModule_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 GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField APPLICATION_MODULE_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationModule", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField APP_MODULE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("appModuleId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationModule_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationModule_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // required
+    public java.lang.String appModuleId; // 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"),
-      GATEWAY_ID((short)2, "gatewayId"),
-      APPLICATION_MODULE((short)3, "applicationModule");
+      APP_MODULE_ID((short)2, "appModuleId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -106968,10 +108501,8 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // GATEWAY_ID
-            return GATEWAY_ID;
-          case 3: // APPLICATION_MODULE
-            return APPLICATION_MODULE;
+          case 2: // APP_MODULE_ID
+            return APP_MODULE_ID;
           default:
             return null;
         }
@@ -107017,59 +108548,51 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.APP_MODULE_ID, new org.apache.thrift.meta_data.FieldMetaData("appModuleId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.APPLICATION_MODULE, new org.apache.thrift.meta_data.FieldMetaData("applicationModule", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerApplicationModule_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getApplicationModule_args.class, metaDataMap);
     }
 
-    public registerApplicationModule_args() {
+    public getApplicationModule_args() {
     }
 
-    public registerApplicationModule_args(
+    public getApplicationModule_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String gatewayId,
-      org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule)
+      java.lang.String appModuleId)
     {
       this();
       this.authzToken = authzToken;
-      this.gatewayId = gatewayId;
-      this.applicationModule = applicationModule;
+      this.appModuleId = appModuleId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public registerApplicationModule_args(registerApplicationModule_args other) {
+    public getApplicationModule_args(getApplicationModule_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetGatewayId()) {
-        this.gatewayId = other.gatewayId;
-      }
-      if (other.isSetApplicationModule()) {
-        this.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule(other.applicationModule);
+      if (other.isSetAppModuleId()) {
+        this.appModuleId = other.appModuleId;
       }
     }
 
-    public registerApplicationModule_args deepCopy() {
-      return new registerApplicationModule_args(this);
+    public getApplicationModule_args deepCopy() {
+      return new getApplicationModule_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.gatewayId = null;
-      this.applicationModule = null;
+      this.appModuleId = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -107089,51 +108612,27 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getGatewayId() {
-      return this.gatewayId;
-    }
-
-    public registerApplicationModule_args setGatewayId(java.lang.String gatewayId) {
-      this.gatewayId = gatewayId;
-      return this;
-    }
-
-    public void unsetGatewayId() {
-      this.gatewayId = null;
-    }
-
-    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGatewayId() {
-      return this.gatewayId != null;
-    }
-
-    public void setGatewayIdIsSet(boolean value) {
-      if (!value) {
-        this.gatewayId = null;
-      }
-    }
-
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
-      return this.applicationModule;
... 121817 lines suppressed ...

-- 
To stop receiving notification emails like this one, please contact
machristie@apache.org.