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/10/02 18:37:42 UTC

[airavata] 03/04: Regenerate thrift stubs

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

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit d79987698fcda3bb7d61fc8111e9b9b0c291742b
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Oct 2 13:00:26 2018 -0400

    Regenerate thrift stubs
---
 .../java/org/apache/airavata/api/Airavata.java     | 36524 ++++++++++---------
 .../main/resources/lib/Airavata/API/Airavata.php   |   379 +
 .../Model/AppCatalog/AccountProvisioning/Types.php |   345 +
 3 files changed, 19757 insertions(+), 17491 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 48fdbd8..c0acbb1 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
@@ -2634,6 +2634,15 @@ public class Airavata {
     public boolean doesUserHaveSSHAccount(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String userId) 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;
 
     /**
+     * Check if SSH account setup is complete for this user on the given compute resource.
+     * 
+     * @param authzToken
+     * @param computeResourceId
+     * @param airavataCredStoreToken
+     */
+    public boolean isSSHSetupCompleteForUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String airavataCredStoreToken) 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;
+
+    /**
      * Setup and return a UserComputeResourcePreference object for this user to SSH into the given compute resource with
      * the given SSH credential. This method will only work if the compute resource has an SSHAccountProvisioner
      * configured for it. The returned UserComputeResourcePreference object is not saved; it is up to the client to
@@ -3320,6 +3329,8 @@ public class Airavata {
 
     public void doesUserHaveSSHAccount(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void isSSHSetupCompleteForUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void setupUserComputeResourcePreferencesForSSH(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String userId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void registerUserResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -8378,6 +8389,43 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "doesUserHaveSSHAccount failed: unknown result");
     }
 
+    public boolean isSSHSetupCompleteForUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String airavataCredStoreToken) 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_isSSHSetupCompleteForUserComputeResourcePreference(authzToken, computeResourceId, airavataCredStoreToken);
+      return recv_isSSHSetupCompleteForUserComputeResourcePreference();
+    }
+
+    public void send_isSSHSetupCompleteForUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String airavataCredStoreToken) throws org.apache.thrift.TException
+    {
+      isSSHSetupCompleteForUserComputeResourcePreference_args args = new isSSHSetupCompleteForUserComputeResourcePreference_args();
+      args.setAuthzToken(authzToken);
+      args.setComputeResourceId(computeResourceId);
+      args.setAiravataCredStoreToken(airavataCredStoreToken);
+      sendBase("isSSHSetupCompleteForUserComputeResourcePreference", args);
+    }
+
+    public boolean recv_isSSHSetupCompleteForUserComputeResourcePreference() 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
+    {
+      isSSHSetupCompleteForUserComputeResourcePreference_result result = new isSSHSetupCompleteForUserComputeResourcePreference_result();
+      receiveBase(result, "isSSHSetupCompleteForUserComputeResourcePreference");
+      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, "isSSHSetupCompleteForUserComputeResourcePreference failed: unknown result");
+    }
+
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference setupUserComputeResourcePreferencesForSSH(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String userId, String airavataCredStoreToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.Authorizatio [...]
     {
       send_setupUserComputeResourcePreferencesForSSH(authzToken, computeResourceId, userId, airavataCredStoreToken);
@@ -14797,6 +14845,44 @@ public class Airavata {
       }
     }
 
+    public void isSSHSetupCompleteForUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      isSSHSetupCompleteForUserComputeResourcePreference_call method_call = new isSSHSetupCompleteForUserComputeResourcePreference_call(authzToken, computeResourceId, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class isSSHSetupCompleteForUserComputeResourcePreference_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private String computeResourceId;
+      private String airavataCredStoreToken;
+      public isSSHSetupCompleteForUserComputeResourcePreference_call(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.computeResourceId = computeResourceId;
+        this.airavataCredStoreToken = airavataCredStoreToken;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isSSHSetupCompleteForUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isSSHSetupCompleteForUserComputeResourcePreference_args args = new isSSHSetupCompleteForUserComputeResourcePreference_args();
+        args.setAuthzToken(authzToken);
+        args.setComputeResourceId(computeResourceId);
+        args.setAiravataCredStoreToken(airavataCredStoreToken);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean 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 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_isSSHSetupCompleteForUserComputeResourcePreference();
+      }
+    }
+
     public void setupUserComputeResourcePreferencesForSSH(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String userId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       setupUserComputeResourcePreferencesForSSH_call method_call = new setupUserComputeResourcePreferencesForSSH_call(authzToken, computeResourceId, userId, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -16345,6 +16431,7 @@ public class Airavata {
       processMap.put("deleteGatewayStoragePreference", new deleteGatewayStoragePreference());
       processMap.put("getSSHAccountProvisioners", new getSSHAccountProvisioners());
       processMap.put("doesUserHaveSSHAccount", new doesUserHaveSSHAccount());
+      processMap.put("isSSHSetupCompleteForUserComputeResourcePreference", new isSSHSetupCompleteForUserComputeResourcePreference());
       processMap.put("setupUserComputeResourcePreferencesForSSH", new setupUserComputeResourcePreferencesForSSH());
       processMap.put("registerUserResourceProfile", new registerUserResourceProfile());
       processMap.put("getUserResourceProfile", new getUserResourceProfile());
@@ -20492,6 +20579,37 @@ public class Airavata {
       }
     }
 
+    public static class isSSHSetupCompleteForUserComputeResourcePreference<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isSSHSetupCompleteForUserComputeResourcePreference_args> {
+      public isSSHSetupCompleteForUserComputeResourcePreference() {
+        super("isSSHSetupCompleteForUserComputeResourcePreference");
+      }
+
+      public isSSHSetupCompleteForUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new isSSHSetupCompleteForUserComputeResourcePreference_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public isSSHSetupCompleteForUserComputeResourcePreference_result getResult(I iface, isSSHSetupCompleteForUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
+        isSSHSetupCompleteForUserComputeResourcePreference_result result = new isSSHSetupCompleteForUserComputeResourcePreference_result();
+        try {
+          result.success = iface.isSSHSetupCompleteForUserComputeResourcePreference(args.authzToken, args.computeResourceId, args.airavataCredStoreToken);
+          result.setSuccessIsSet(true);
+        } 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 setupUserComputeResourcePreferencesForSSH<I extends Iface> extends org.apache.thrift.ProcessFunction<I, setupUserComputeResourcePreferencesForSSH_args> {
       public setupUserComputeResourcePreferencesForSSH() {
         super("setupUserComputeResourcePreferencesForSSH");
@@ -21763,6 +21881,7 @@ public class Airavata {
       processMap.put("deleteGatewayStoragePreference", new deleteGatewayStoragePreference());
       processMap.put("getSSHAccountProvisioners", new getSSHAccountProvisioners());
       processMap.put("doesUserHaveSSHAccount", new doesUserHaveSSHAccount());
+      processMap.put("isSSHSetupCompleteForUserComputeResourcePreference", new isSSHSetupCompleteForUserComputeResourcePreference());
       processMap.put("setupUserComputeResourcePreferencesForSSH", new setupUserComputeResourcePreferencesForSSH());
       processMap.put("registerUserResourceProfile", new registerUserResourceProfile());
       processMap.put("getUserResourceProfile", new getUserResourceProfile());
@@ -31589,236 +31708,20 @@ public class Airavata {
       }
     }
 
-    public static class setupUserComputeResourcePreferencesForSSH<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, setupUserComputeResourcePreferencesForSSH_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> {
-      public setupUserComputeResourcePreferencesForSSH() {
-        super("setupUserComputeResourcePreferencesForSSH");
-      }
-
-      public setupUserComputeResourcePreferencesForSSH_args getEmptyArgsInstance() {
-        return new setupUserComputeResourcePreferencesForSSH_args();
-      }
-
-      public AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference o) {
-            setupUserComputeResourcePreferencesForSSH_result result = new setupUserComputeResourcePreferencesForSSH_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            setupUserComputeResourcePreferencesForSSH_result result = new setupUserComputeResourcePreferencesForSSH_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 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, setupUserComputeResourcePreferencesForSSH_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws TException {
-        iface.setupUserComputeResourcePreferencesForSSH(args.authzToken, args.computeResourceId, args.userId, args.airavataCredStoreToken,resultHandler);
-      }
-    }
-
-    public static class registerUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerUserResourceProfile_args, String> {
-      public registerUserResourceProfile() {
-        super("registerUserResourceProfile");
-      }
-
-      public registerUserResourceProfile_args getEmptyArgsInstance() {
-        return new registerUserResourceProfile_args();
-      }
-
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            registerUserResourceProfile_result result = new registerUserResourceProfile_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            registerUserResourceProfile_result result = new registerUserResourceProfile_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 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, registerUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.registerUserResourceProfile(args.authzToken, args.userResourceProfile,resultHandler);
-      }
-    }
-
-    public static class getUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserResourceProfile_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> {
-      public getUserResourceProfile() {
-        super("getUserResourceProfile");
-      }
-
-      public getUserResourceProfile_args getEmptyArgsInstance() {
-        return new getUserResourceProfile_args();
-      }
-
-      public AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile o) {
-            getUserResourceProfile_result result = new getUserResourceProfile_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            getUserResourceProfile_result result = new getUserResourceProfile_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 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> resultHandler) throws TException {
-        iface.getUserResourceProfile(args.authzToken, args.userId, args.gatewayID,resultHandler);
-      }
-    }
-
-    public static class updateUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserResourceProfile_args, Boolean> {
-      public updateUserResourceProfile() {
-        super("updateUserResourceProfile");
+    public static class isSSHSetupCompleteForUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isSSHSetupCompleteForUserComputeResourcePreference_args, Boolean> {
+      public isSSHSetupCompleteForUserComputeResourcePreference() {
+        super("isSSHSetupCompleteForUserComputeResourcePreference");
       }
 
-      public updateUserResourceProfile_args getEmptyArgsInstance() {
-        return new updateUserResourceProfile_args();
+      public isSSHSetupCompleteForUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new isSSHSetupCompleteForUserComputeResourcePreference_args();
       }
 
       public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Boolean>() { 
           public void onComplete(Boolean o) {
-            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
+            isSSHSetupCompleteForUserComputeResourcePreference_result result = new isSSHSetupCompleteForUserComputeResourcePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31832,7 +31735,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
+            isSSHSetupCompleteForUserComputeResourcePreference_result result = new isSSHSetupCompleteForUserComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -31873,27 +31776,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updateUserResourceProfile(args.authzToken, args.userId, args.gatewayID, args.userResourceProfile,resultHandler);
+      public void start(I iface, isSSHSetupCompleteForUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.isSSHSetupCompleteForUserComputeResourcePreference(args.authzToken, args.computeResourceId, args.airavataCredStoreToken,resultHandler);
       }
     }
 
-    public static class deleteUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserResourceProfile_args, Boolean> {
-      public deleteUserResourceProfile() {
-        super("deleteUserResourceProfile");
+    public static class setupUserComputeResourcePreferencesForSSH<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, setupUserComputeResourcePreferencesForSSH_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> {
+      public setupUserComputeResourcePreferencesForSSH() {
+        super("setupUserComputeResourcePreferencesForSSH");
       }
 
-      public deleteUserResourceProfile_args getEmptyArgsInstance() {
-        return new deleteUserResourceProfile_args();
+      public setupUserComputeResourcePreferencesForSSH_args getEmptyArgsInstance() {
+        return new setupUserComputeResourcePreferencesForSSH_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference o) {
+            setupUserComputeResourcePreferencesForSSH_result result = new setupUserComputeResourcePreferencesForSSH_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -31905,7 +31807,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
+            setupUserComputeResourcePreferencesForSSH_result result = new setupUserComputeResourcePreferencesForSSH_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -31946,27 +31848,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteUserResourceProfile(args.authzToken, args.userId, args.gatewayID,resultHandler);
+      public void start(I iface, setupUserComputeResourcePreferencesForSSH_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws TException {
+        iface.setupUserComputeResourcePreferencesForSSH(args.authzToken, args.computeResourceId, args.userId, args.airavataCredStoreToken,resultHandler);
       }
     }
 
-    public static class addUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserComputeResourcePreference_args, Boolean> {
-      public addUserComputeResourcePreference() {
-        super("addUserComputeResourcePreference");
+    public static class registerUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerUserResourceProfile_args, String> {
+      public registerUserResourceProfile() {
+        super("registerUserResourceProfile");
       }
 
-      public addUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new addUserComputeResourcePreference_args();
+      public registerUserResourceProfile_args getEmptyArgsInstance() {
+        return new registerUserResourceProfile_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            registerUserResourceProfile_result result = new registerUserResourceProfile_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -31978,7 +31879,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
+            registerUserResourceProfile_result result = new registerUserResourceProfile_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32019,25 +31920,97 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.addUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference,resultHandler);
+      public void start(I iface, registerUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.registerUserResourceProfile(args.authzToken, args.userResourceProfile,resultHandler);
       }
     }
 
-    public static class addUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserStoragePreference_args, Boolean> {
-      public addUserStoragePreference() {
-        super("addUserStoragePreference");
+    public static class getUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserResourceProfile_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> {
+      public getUserResourceProfile() {
+        super("getUserResourceProfile");
       }
 
-      public addUserStoragePreference_args getEmptyArgsInstance() {
-        return new addUserStoragePreference_args();
+      public getUserResourceProfile_args getEmptyArgsInstance() {
+        return new getUserResourceProfile_args();
+      }
+
+      public AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile o) {
+            getUserResourceProfile_result result = new getUserResourceProfile_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            getUserResourceProfile_result result = new getUserResourceProfile_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 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> resultHandler) throws TException {
+        iface.getUserResourceProfile(args.authzToken, args.userId, args.gatewayID,resultHandler);
+      }
+    }
+
+    public static class updateUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserResourceProfile_args, Boolean> {
+      public updateUserResourceProfile() {
+        super("updateUserResourceProfile");
+      }
+
+      public updateUserResourceProfile_args getEmptyArgsInstance() {
+        return new updateUserResourceProfile_args();
       }
 
       public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Boolean>() { 
           public void onComplete(Boolean o) {
-            addUserStoragePreference_result result = new addUserStoragePreference_result();
+            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -32051,7 +32024,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            addUserStoragePreference_result result = new addUserStoragePreference_result();
+            updateUserResourceProfile_result result = new updateUserResourceProfile_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32092,26 +32065,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.addUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageResourceId, args.userStoragePreference,resultHandler);
+      public void start(I iface, updateUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updateUserResourceProfile(args.authzToken, args.userId, args.gatewayID, args.userResourceProfile,resultHandler);
       }
     }
 
-    public static class getUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserComputeResourcePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> {
-      public getUserComputeResourcePreference() {
-        super("getUserComputeResourcePreference");
+    public static class deleteUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserResourceProfile_args, Boolean> {
+      public deleteUserResourceProfile() {
+        super("deleteUserResourceProfile");
       }
 
-      public getUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new getUserComputeResourcePreference_args();
+      public deleteUserResourceProfile_args getEmptyArgsInstance() {
+        return new deleteUserResourceProfile_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference o) {
-            getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -32123,7 +32097,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
+            deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32164,26 +32138,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws TException {
-        iface.getUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
+      public void start(I iface, deleteUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteUserResourceProfile(args.authzToken, args.userId, args.gatewayID,resultHandler);
       }
     }
 
-    public static class getUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserStoragePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> {
-      public getUserStoragePreference() {
-        super("getUserStoragePreference");
+    public static class addUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserComputeResourcePreference_args, Boolean> {
+      public addUserComputeResourcePreference() {
+        super("addUserComputeResourcePreference");
       }
 
-      public getUserStoragePreference_args getEmptyArgsInstance() {
-        return new getUserStoragePreference_args();
+      public addUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new addUserComputeResourcePreference_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference o) {
-            getUserStoragePreference_result result = new getUserStoragePreference_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -32195,7 +32170,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getUserStoragePreference_result result = new getUserStoragePreference_result();
+            addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32236,26 +32211,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> resultHandler) throws TException {
-        iface.getUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageResourceId,resultHandler);
+      public void start(I iface, addUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.addUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference,resultHandler);
       }
     }
 
-    public static class getAllUserComputeResourcePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserComputeResourcePreferences_args, List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> {
-      public getAllUserComputeResourcePreferences() {
-        super("getAllUserComputeResourcePreferences");
+    public static class addUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUserStoragePreference_args, Boolean> {
+      public addUserStoragePreference() {
+        super("addUserStoragePreference");
       }
 
-      public getAllUserComputeResourcePreferences_args getEmptyArgsInstance() {
-        return new getAllUserComputeResourcePreferences_args();
+      public addUserStoragePreference_args getEmptyArgsInstance() {
+        return new addUserStoragePreference_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>>() { 
-          public void onComplete(List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> o) {
-            getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            addUserStoragePreference_result result = new addUserStoragePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -32267,7 +32243,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
+            addUserStoragePreference_result result = new addUserStoragePreference_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32308,25 +32284,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllUserComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> resultHandler) throws TException {
-        iface.getAllUserComputeResourcePreferences(args.authzToken, args.userId, args.gatewayID,resultHandler);
+      public void start(I iface, addUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.addUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageResourceId, args.userStoragePreference,resultHandler);
       }
     }
 
-    public static class getAllUserStoragePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserStoragePreferences_args, List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> {
-      public getAllUserStoragePreferences() {
-        super("getAllUserStoragePreferences");
+    public static class getUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserComputeResourcePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> {
+      public getUserComputeResourcePreference() {
+        super("getUserComputeResourcePreference");
       }
 
-      public getAllUserStoragePreferences_args getEmptyArgsInstance() {
-        return new getAllUserStoragePreferences_args();
+      public getUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new getUserComputeResourcePreference_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>>() { 
-          public void onComplete(List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> o) {
-            getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference o) {
+            getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -32339,7 +32315,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
+            getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32380,25 +32356,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllUserStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> resultHandler) throws TException {
-        iface.getAllUserStoragePreferences(args.authzToken, args.userId, args.gatewayID,resultHandler);
+      public void start(I iface, getUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws TException {
+        iface.getUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
       }
     }
 
-    public static class getAllUserResourceProfiles<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserResourceProfiles_args, List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> {
-      public getAllUserResourceProfiles() {
-        super("getAllUserResourceProfiles");
+    public static class getUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserStoragePreference_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> {
+      public getUserStoragePreference() {
+        super("getUserStoragePreference");
       }
 
-      public getAllUserResourceProfiles_args getEmptyArgsInstance() {
-        return new getAllUserResourceProfiles_args();
+      public getUserStoragePreference_args getEmptyArgsInstance() {
+        return new getUserStoragePreference_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>>() { 
-          public void onComplete(List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> o) {
-            getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference o) {
+            getUserStoragePreference_result result = new getUserStoragePreference_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -32411,7 +32387,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
+            getUserStoragePreference_result result = new getUserStoragePreference_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32452,27 +32428,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllUserResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> resultHandler) throws TException {
-        iface.getAllUserResourceProfiles(args.authzToken,resultHandler);
+      public void start(I iface, getUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> resultHandler) throws TException {
+        iface.getUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageResourceId,resultHandler);
       }
     }
 
-    public static class updateUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserComputeResourcePreference_args, Boolean> {
-      public updateUserComputeResourcePreference() {
-        super("updateUserComputeResourcePreference");
+    public static class getAllUserComputeResourcePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserComputeResourcePreferences_args, List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> {
+      public getAllUserComputeResourcePreferences() {
+        super("getAllUserComputeResourcePreferences");
       }
 
-      public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new updateUserComputeResourcePreference_args();
+      public getAllUserComputeResourcePreferences_args getEmptyArgsInstance() {
+        return new getAllUserComputeResourcePreferences_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>>() { 
+          public void onComplete(List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> o) {
+            getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -32484,7 +32459,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
+            getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32525,27 +32500,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updateUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference,resultHandler);
+      public void start(I iface, getAllUserComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> resultHandler) throws TException {
+        iface.getAllUserComputeResourcePreferences(args.authzToken, args.userId, args.gatewayID,resultHandler);
       }
     }
 
-    public static class updateUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserStoragePreference_args, Boolean> {
-      public updateUserStoragePreference() {
-        super("updateUserStoragePreference");
+    public static class getAllUserStoragePreferences<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserStoragePreferences_args, List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> {
+      public getAllUserStoragePreferences() {
+        super("getAllUserStoragePreferences");
       }
 
-      public updateUserStoragePreference_args getEmptyArgsInstance() {
-        return new updateUserStoragePreference_args();
+      public getAllUserStoragePreferences_args getEmptyArgsInstance() {
+        return new getAllUserStoragePreferences_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updateUserStoragePreference_result result = new updateUserStoragePreference_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>>() { 
+          public void onComplete(List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> o) {
+            getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -32557,7 +32531,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateUserStoragePreference_result result = new updateUserStoragePreference_result();
+            getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32598,25 +32572,97 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updateUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageId, args.userStoragePreference,resultHandler);
+      public void start(I iface, getAllUserStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> resultHandler) throws TException {
+        iface.getAllUserStoragePreferences(args.authzToken, args.userId, args.gatewayID,resultHandler);
       }
     }
 
-    public static class deleteUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserComputeResourcePreference_args, Boolean> {
-      public deleteUserComputeResourcePreference() {
-        super("deleteUserComputeResourcePreference");
+    public static class getAllUserResourceProfiles<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllUserResourceProfiles_args, List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> {
+      public getAllUserResourceProfiles() {
+        super("getAllUserResourceProfiles");
       }
 
-      public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
-        return new deleteUserComputeResourcePreference_args();
+      public getAllUserResourceProfiles_args getEmptyArgsInstance() {
+        return new getAllUserResourceProfiles_args();
+      }
+
+      public AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>>() { 
+          public void onComplete(List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> o) {
+            getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_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 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getAllUserResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> resultHandler) throws TException {
+        iface.getAllUserResourceProfiles(args.authzToken,resultHandler);
+      }
+    }
+
+    public static class updateUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserComputeResourcePreference_args, Boolean> {
+      public updateUserComputeResourcePreference() {
+        super("updateUserComputeResourcePreference");
+      }
+
+      public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new updateUserComputeResourcePreference_args();
       }
 
       public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Boolean>() { 
           public void onComplete(Boolean o) {
-            deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
+            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -32630,7 +32676,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
+            updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32671,25 +32717,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
+      public void start(I iface, updateUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updateUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference,resultHandler);
       }
     }
 
-    public static class deleteUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserStoragePreference_args, Boolean> {
-      public deleteUserStoragePreference() {
-        super("deleteUserStoragePreference");
+    public static class updateUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUserStoragePreference_args, Boolean> {
+      public updateUserStoragePreference() {
+        super("updateUserStoragePreference");
       }
 
-      public deleteUserStoragePreference_args getEmptyArgsInstance() {
-        return new deleteUserStoragePreference_args();
+      public updateUserStoragePreference_args getEmptyArgsInstance() {
+        return new updateUserStoragePreference_args();
       }
 
       public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Boolean>() { 
           public void onComplete(Boolean o) {
-            deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
+            updateUserStoragePreference_result result = new updateUserStoragePreference_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -32703,7 +32749,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
+            updateUserStoragePreference_result result = new updateUserStoragePreference_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32744,26 +32790,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageId,resultHandler);
+      public void start(I iface, updateUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updateUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageId, args.userStoragePreference,resultHandler);
       }
     }
 
-    public static class getAllWorkflows<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllWorkflows_args, List<String>> {
-      public getAllWorkflows() {
-        super("getAllWorkflows");
+    public static class deleteUserComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserComputeResourcePreference_args, Boolean> {
+      public deleteUserComputeResourcePreference() {
+        super("deleteUserComputeResourcePreference");
       }
 
-      public getAllWorkflows_args getEmptyArgsInstance() {
-        return new getAllWorkflows_args();
+      public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new deleteUserComputeResourcePreference_args();
       }
 
-      public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<String>>() { 
-          public void onComplete(List<String> o) {
-            getAllWorkflows_result result = new getAllWorkflows_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -32775,7 +32822,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getAllWorkflows_result result = new getAllWorkflows_result();
+            deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32816,26 +32863,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllWorkflows_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException {
-        iface.getAllWorkflows(args.authzToken, args.gatewayId,resultHandler);
+      public void start(I iface, deleteUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
       }
     }
 
-    public static class getLatestQueueStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLatestQueueStatuses_args, List<org.apache.airavata.model.status.QueueStatusModel>> {
-      public getLatestQueueStatuses() {
-        super("getLatestQueueStatuses");
+    public static class deleteUserStoragePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteUserStoragePreference_args, Boolean> {
+      public deleteUserStoragePreference() {
+        super("deleteUserStoragePreference");
       }
 
-      public getLatestQueueStatuses_args getEmptyArgsInstance() {
-        return new getLatestQueueStatuses_args();
+      public deleteUserStoragePreference_args getEmptyArgsInstance() {
+        return new deleteUserStoragePreference_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.status.QueueStatusModel>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.status.QueueStatusModel>>() { 
-          public void onComplete(List<org.apache.airavata.model.status.QueueStatusModel> o) {
-            getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -32847,7 +32895,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
+            deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32888,25 +32936,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getLatestQueueStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.status.QueueStatusModel>> resultHandler) throws TException {
-        iface.getLatestQueueStatuses(args.authzToken,resultHandler);
+      public void start(I iface, deleteUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageId,resultHandler);
       }
     }
 
-    public static class getWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getWorkflow_args, org.apache.airavata.model.WorkflowModel> {
-      public getWorkflow() {
-        super("getWorkflow");
+    public static class getAllWorkflows<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllWorkflows_args, List<String>> {
+      public getAllWorkflows() {
+        super("getAllWorkflows");
       }
 
-      public getWorkflow_args getEmptyArgsInstance() {
-        return new getWorkflow_args();
+      public getAllWorkflows_args getEmptyArgsInstance() {
+        return new getAllWorkflows_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.WorkflowModel> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.WorkflowModel>() { 
-          public void onComplete(org.apache.airavata.model.WorkflowModel o) {
-            getWorkflow_result result = new getWorkflow_result();
+        return new AsyncMethodCallback<List<String>>() { 
+          public void onComplete(List<String> o) {
+            getAllWorkflows_result result = new getAllWorkflows_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -32919,7 +32967,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getWorkflow_result result = new getWorkflow_result();
+            getAllWorkflows_result result = new getAllWorkflows_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -32960,25 +33008,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.WorkflowModel> resultHandler) throws TException {
-        iface.getWorkflow(args.authzToken, args.workflowTemplateId,resultHandler);
+      public void start(I iface, getAllWorkflows_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException {
+        iface.getAllWorkflows(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class deleteWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteWorkflow_args, Void> {
-      public deleteWorkflow() {
-        super("deleteWorkflow");
+    public static class getLatestQueueStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLatestQueueStatuses_args, List<org.apache.airavata.model.status.QueueStatusModel>> {
+      public getLatestQueueStatuses() {
+        super("getLatestQueueStatuses");
       }
 
-      public deleteWorkflow_args getEmptyArgsInstance() {
-        return new deleteWorkflow_args();
+      public getLatestQueueStatuses_args getEmptyArgsInstance() {
+        return new getLatestQueueStatuses_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.model.status.QueueStatusModel>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            deleteWorkflow_result result = new deleteWorkflow_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.model.status.QueueStatusModel>>() { 
+          public void onComplete(List<org.apache.airavata.model.status.QueueStatusModel> o) {
+            getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -32990,7 +33039,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteWorkflow_result result = new deleteWorkflow_result();
+            getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33031,25 +33080,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.deleteWorkflow(args.authzToken, args.workflowTemplateId,resultHandler);
+      public void start(I iface, getLatestQueueStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.status.QueueStatusModel>> resultHandler) throws TException {
+        iface.getLatestQueueStatuses(args.authzToken,resultHandler);
       }
     }
 
-    public static class registerWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerWorkflow_args, String> {
-      public registerWorkflow() {
-        super("registerWorkflow");
+    public static class getWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getWorkflow_args, org.apache.airavata.model.WorkflowModel> {
+      public getWorkflow() {
+        super("getWorkflow");
       }
 
-      public registerWorkflow_args getEmptyArgsInstance() {
-        return new registerWorkflow_args();
+      public getWorkflow_args getEmptyArgsInstance() {
+        return new getWorkflow_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.WorkflowModel> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            registerWorkflow_result result = new registerWorkflow_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.WorkflowModel>() { 
+          public void onComplete(org.apache.airavata.model.WorkflowModel o) {
+            getWorkflow_result result = new getWorkflow_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33062,7 +33111,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            registerWorkflow_result result = new registerWorkflow_result();
+            getWorkflow_result result = new getWorkflow_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33103,25 +33152,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, registerWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.registerWorkflow(args.authzToken, args.gatewayId, args.workflow,resultHandler);
+      public void start(I iface, getWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.WorkflowModel> resultHandler) throws TException {
+        iface.getWorkflow(args.authzToken, args.workflowTemplateId,resultHandler);
       }
     }
 
-    public static class updateWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateWorkflow_args, Void> {
-      public updateWorkflow() {
-        super("updateWorkflow");
+    public static class deleteWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteWorkflow_args, Void> {
+      public deleteWorkflow() {
+        super("deleteWorkflow");
       }
 
-      public updateWorkflow_args getEmptyArgsInstance() {
-        return new updateWorkflow_args();
+      public deleteWorkflow_args getEmptyArgsInstance() {
+        return new deleteWorkflow_args();
       }
 
       public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Void>() { 
           public void onComplete(Void o) {
-            updateWorkflow_result result = new updateWorkflow_result();
+            deleteWorkflow_result result = new deleteWorkflow_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -33133,7 +33182,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateWorkflow_result result = new updateWorkflow_result();
+            deleteWorkflow_result result = new deleteWorkflow_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33174,25 +33223,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.updateWorkflow(args.authzToken, args.workflowTemplateId, args.workflow,resultHandler);
+      public void start(I iface, deleteWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.deleteWorkflow(args.authzToken, args.workflowTemplateId,resultHandler);
       }
     }
 
-    public static class getWorkflowTemplateId<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getWorkflowTemplateId_args, String> {
-      public getWorkflowTemplateId() {
-        super("getWorkflowTemplateId");
+    public static class registerWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerWorkflow_args, String> {
+      public registerWorkflow() {
+        super("registerWorkflow");
       }
 
-      public getWorkflowTemplateId_args getEmptyArgsInstance() {
-        return new getWorkflowTemplateId_args();
+      public registerWorkflow_args getEmptyArgsInstance() {
+        return new registerWorkflow_args();
       }
 
       public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<String>() { 
           public void onComplete(String o) {
-            getWorkflowTemplateId_result result = new getWorkflowTemplateId_result();
+            registerWorkflow_result result = new registerWorkflow_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33205,7 +33254,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getWorkflowTemplateId_result result = new getWorkflowTemplateId_result();
+            registerWorkflow_result result = new registerWorkflow_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33246,27 +33295,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getWorkflowTemplateId_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.getWorkflowTemplateId(args.authzToken, args.workflowName,resultHandler);
+      public void start(I iface, registerWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.registerWorkflow(args.authzToken, args.gatewayId, args.workflow,resultHandler);
       }
     }
 
-    public static class isWorkflowExistWithName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isWorkflowExistWithName_args, Boolean> {
-      public isWorkflowExistWithName() {
-        super("isWorkflowExistWithName");
+    public static class updateWorkflow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateWorkflow_args, Void> {
+      public updateWorkflow() {
+        super("updateWorkflow");
       }
 
-      public isWorkflowExistWithName_args getEmptyArgsInstance() {
-        return new isWorkflowExistWithName_args();
+      public updateWorkflow_args getEmptyArgsInstance() {
+        return new updateWorkflow_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            isWorkflowExistWithName_result result = new isWorkflowExistWithName_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateWorkflow_result result = new updateWorkflow_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -33278,7 +33325,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isWorkflowExistWithName_result result = new isWorkflowExistWithName_result();
+            updateWorkflow_result result = new updateWorkflow_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33319,25 +33366,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, isWorkflowExistWithName_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.isWorkflowExistWithName(args.authzToken, args.workflowName,resultHandler);
+      public void start(I iface, updateWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateWorkflow(args.authzToken, args.workflowTemplateId, args.workflow,resultHandler);
       }
     }
 
-    public static class registerDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerDataProduct_args, String> {
-      public registerDataProduct() {
-        super("registerDataProduct");
+    public static class getWorkflowTemplateId<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getWorkflowTemplateId_args, String> {
+      public getWorkflowTemplateId() {
+        super("getWorkflowTemplateId");
       }
 
-      public registerDataProduct_args getEmptyArgsInstance() {
-        return new registerDataProduct_args();
+      public getWorkflowTemplateId_args getEmptyArgsInstance() {
+        return new getWorkflowTemplateId_args();
       }
 
       public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<String>() { 
           public void onComplete(String o) {
-            registerDataProduct_result result = new registerDataProduct_result();
+            getWorkflowTemplateId_result result = new getWorkflowTemplateId_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33350,7 +33397,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            registerDataProduct_result result = new registerDataProduct_result();
+            getWorkflowTemplateId_result result = new getWorkflowTemplateId_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33391,26 +33438,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, registerDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.registerDataProduct(args.authzToken, args.dataProductModel,resultHandler);
+      public void start(I iface, getWorkflowTemplateId_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.getWorkflowTemplateId(args.authzToken, args.workflowName,resultHandler);
       }
     }
 
-    public static class getDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
-      public getDataProduct() {
-        super("getDataProduct");
+    public static class isWorkflowExistWithName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isWorkflowExistWithName_args, Boolean> {
+      public isWorkflowExistWithName() {
+        super("isWorkflowExistWithName");
       }
 
-      public getDataProduct_args getEmptyArgsInstance() {
-        return new getDataProduct_args();
+      public isWorkflowExistWithName_args getEmptyArgsInstance() {
+        return new isWorkflowExistWithName_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
-          public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
-            getDataProduct_result result = new getDataProduct_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            isWorkflowExistWithName_result result = new isWorkflowExistWithName_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -33422,7 +33470,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getDataProduct_result result = new getDataProduct_result();
+            isWorkflowExistWithName_result result = new isWorkflowExistWithName_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33463,25 +33511,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws TException {
-        iface.getDataProduct(args.authzToken, args.dataProductUri,resultHandler);
+      public void start(I iface, isWorkflowExistWithName_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.isWorkflowExistWithName(args.authzToken, args.workflowName,resultHandler);
       }
     }
 
-    public static class registerReplicaLocation<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerReplicaLocation_args, String> {
-      public registerReplicaLocation() {
-        super("registerReplicaLocation");
+    public static class registerDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerDataProduct_args, String> {
+      public registerDataProduct() {
+        super("registerDataProduct");
       }
 
-      public registerReplicaLocation_args getEmptyArgsInstance() {
-        return new registerReplicaLocation_args();
+      public registerDataProduct_args getEmptyArgsInstance() {
+        return new registerDataProduct_args();
       }
 
       public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<String>() { 
           public void onComplete(String o) {
-            registerReplicaLocation_result result = new registerReplicaLocation_result();
+            registerDataProduct_result result = new registerDataProduct_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33494,7 +33542,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            registerReplicaLocation_result result = new registerReplicaLocation_result();
+            registerDataProduct_result result = new registerDataProduct_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33535,25 +33583,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, registerReplicaLocation_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.registerReplicaLocation(args.authzToken, args.replicaLocationModel,resultHandler);
+      public void start(I iface, registerDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.registerDataProduct(args.authzToken, args.dataProductModel,resultHandler);
       }
     }
 
-    public static class getParentDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParentDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
-      public getParentDataProduct() {
-        super("getParentDataProduct");
+    public static class getDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
+      public getDataProduct() {
+        super("getDataProduct");
       }
 
-      public getParentDataProduct_args getEmptyArgsInstance() {
-        return new getParentDataProduct_args();
+      public getDataProduct_args getEmptyArgsInstance() {
+        return new getDataProduct_args();
       }
 
       public AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
           public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
-            getParentDataProduct_result result = new getParentDataProduct_result();
+            getDataProduct_result result = new getDataProduct_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33566,7 +33614,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getParentDataProduct_result result = new getParentDataProduct_result();
+            getDataProduct_result result = new getDataProduct_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33607,25 +33655,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getParentDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws TException {
-        iface.getParentDataProduct(args.authzToken, args.productUri,resultHandler);
+      public void start(I iface, getDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws TException {
+        iface.getDataProduct(args.authzToken, args.dataProductUri,resultHandler);
       }
     }
 
-    public static class getChildDataProducts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getChildDataProducts_args, List<org.apache.airavata.model.data.replica.DataProductModel>> {
-      public getChildDataProducts() {
-        super("getChildDataProducts");
+    public static class registerReplicaLocation<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerReplicaLocation_args, String> {
+      public registerReplicaLocation() {
+        super("registerReplicaLocation");
       }
 
-      public getChildDataProducts_args getEmptyArgsInstance() {
-        return new getChildDataProducts_args();
+      public registerReplicaLocation_args getEmptyArgsInstance() {
+        return new registerReplicaLocation_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.data.replica.DataProductModel>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
-          public void onComplete(List<org.apache.airavata.model.data.replica.DataProductModel> o) {
-            getChildDataProducts_result result = new getChildDataProducts_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            registerReplicaLocation_result result = new registerReplicaLocation_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -33638,7 +33686,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getChildDataProducts_result result = new getChildDataProducts_result();
+            registerReplicaLocation_result result = new registerReplicaLocation_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33679,27 +33727,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getChildDataProducts_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws TException {
-        iface.getChildDataProducts(args.authzToken, args.productUri,resultHandler);
+      public void start(I iface, registerReplicaLocation_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.registerReplicaLocation(args.authzToken, args.replicaLocationModel,resultHandler);
       }
     }
 
-    public static class shareResourceWithUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, shareResourceWithUsers_args, Boolean> {
-      public shareResourceWithUsers() {
-        super("shareResourceWithUsers");
+    public static class getParentDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParentDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
+      public getParentDataProduct() {
+        super("getParentDataProduct");
       }
 
-      public shareResourceWithUsers_args getEmptyArgsInstance() {
-        return new shareResourceWithUsers_args();
+      public getParentDataProduct_args getEmptyArgsInstance() {
+        return new getParentDataProduct_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            shareResourceWithUsers_result result = new shareResourceWithUsers_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
+          public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
+            getParentDataProduct_result result = new getParentDataProduct_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -33711,7 +33758,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            shareResourceWithUsers_result result = new shareResourceWithUsers_result();
+            getParentDataProduct_result result = new getParentDataProduct_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33752,27 +33799,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, shareResourceWithUsers_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.shareResourceWithUsers(args.authzToken, args.resourceId, args.resourceType, args.userPermissionList,resultHandler);
+      public void start(I iface, getParentDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws TException {
+        iface.getParentDataProduct(args.authzToken, args.productUri,resultHandler);
       }
     }
 
-    public static class revokeSharingOfResourceFromUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, revokeSharingOfResourceFromUsers_args, Boolean> {
-      public revokeSharingOfResourceFromUsers() {
-        super("revokeSharingOfResourceFromUsers");
+    public static class getChildDataProducts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getChildDataProducts_args, List<org.apache.airavata.model.data.replica.DataProductModel>> {
+      public getChildDataProducts() {
+        super("getChildDataProducts");
       }
 
-      public revokeSharingOfResourceFromUsers_args getEmptyArgsInstance() {
-        return new revokeSharingOfResourceFromUsers_args();
+      public getChildDataProducts_args getEmptyArgsInstance() {
+        return new getChildDataProducts_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.model.data.replica.DataProductModel>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            revokeSharingOfResourceFromUsers_result result = new revokeSharingOfResourceFromUsers_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
+          public void onComplete(List<org.apache.airavata.model.data.replica.DataProductModel> o) {
+            getChildDataProducts_result result = new getChildDataProducts_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -33784,7 +33830,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            revokeSharingOfResourceFromUsers_result result = new revokeSharingOfResourceFromUsers_result();
+            getChildDataProducts_result result = new getChildDataProducts_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -33825,26 +33871,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, revokeSharingOfResourceFromUsers_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.revokeSharingOfResourceFromUsers(args.authzToken, args.resourceId, args.resourceType, args.userPermissionList,resultHandler);
+      public void start(I iface, getChildDataProducts_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws TException {
+        iface.getChildDataProducts(args.authzToken, args.productUri,resultHandler);
       }
     }
 
-    public static class getAllAccessibleUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllAccessibleUsers_args, List<String>> {
-      public getAllAccessibleUsers() {
-        super("getAllAccessibleUsers");
+    public static class shareResourceWithUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, shareResourceWithUsers_args, Boolean> {
+      public shareResourceWithUsers() {
+        super("shareResourceWithUsers");
       }
 
-      public getAllAccessibleUsers_args getEmptyArgsInstance() {
-        return new getAllAccessibleUsers_args();
+      public shareResourceWithUsers_args getEmptyArgsInstance() {
+        return new shareResourceWithUsers_args();
       }
 
-      public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<String>>() { 
-          public void onComplete(List<String> o) {
-            getAllAccessibleUsers_result result = new getAllAccessibleUsers_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            shareResourceWithUsers_result result = new shareResourceWithUsers_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -33856,7 +33903,152 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getAllAccessibleUsers_result result = new getAllAccessibleUsers_result();
+            shareResourceWithUsers_result result = new shareResourceWithUsers_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 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, shareResourceWithUsers_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.shareResourceWithUsers(args.authzToken, args.resourceId, args.resourceType, args.userPermissionList,resultHandler);
+      }
+    }
+
+    public static class revokeSharingOfResourceFromUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, revokeSharingOfResourceFromUsers_args, Boolean> {
+      public revokeSharingOfResourceFromUsers() {
+        super("revokeSharingOfResourceFromUsers");
+      }
+
+      public revokeSharingOfResourceFromUsers_args getEmptyArgsInstance() {
+        return new revokeSharingOfResourceFromUsers_args();
+      }
+
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            revokeSharingOfResourceFromUsers_result result = new revokeSharingOfResourceFromUsers_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            revokeSharingOfResourceFromUsers_result result = new revokeSharingOfResourceFromUsers_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 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, revokeSharingOfResourceFromUsers_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.revokeSharingOfResourceFromUsers(args.authzToken, args.resourceId, args.resourceType, args.userPermissionList,resultHandler);
+      }
+    }
+
+    public static class getAllAccessibleUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllAccessibleUsers_args, List<String>> {
+      public getAllAccessibleUsers() {
+        super("getAllAccessibleUsers");
+      }
+
+      public getAllAccessibleUsers_args getEmptyArgsInstance() {
+        return new getAllAccessibleUsers_args();
+      }
+
+      public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<List<String>>() { 
+          public void onComplete(List<String> o) {
+            getAllAccessibleUsers_result result = new getAllAccessibleUsers_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            getAllAccessibleUsers_result result = new getAllAccessibleUsers_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -89764,7 +89956,1437 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("validateExperiment_args(");
+      StringBuilder sb = new 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, 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 SchemeFactory {
+      public validateExperiment_argsStandardScheme getScheme() {
+        return new validateExperiment_argsStandardScheme();
+      }
+    }
+
+    private static class validateExperiment_argsStandardScheme extends 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 SchemeFactory {
+      public validateExperiment_argsTupleScheme getScheme() {
+        return new validateExperiment_argsTupleScheme();
+      }
+    }
+
+    private static class validateExperiment_argsTupleScheme extends TupleScheme<validateExperiment_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, validateExperiment_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (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 {
+        TTupleProtocol iprot = (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);
+      }
+    }
+
+  }
+
+  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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new validateExperiment_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, 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 Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : 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 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(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      metaDataMap = 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 = 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 EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = 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, Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((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 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 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 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 IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(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;
+
+      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() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_success = true;
+      list.add(present_success);
+      if (present_success)
+        list.add(success);
+
+      boolean present_ire = true && (isSetIre());
+      list.add(present_ire);
+      if (present_ire)
+        list.add(ire);
+
+      boolean present_enf = true && (isSetEnf());
+      list.add(present_enf);
+      if (present_enf)
+        list.add(enf);
+
+      boolean present_ace = true && (isSetAce());
+      list.add(present_ace);
+      if (present_ace)
+        list.add(ace);
+
+      boolean present_ase = true && (isSetAse());
+      list.add(present_ase);
+      if (present_ase)
+        list.add(ase);
+
+      boolean present_ae = true && (isSetAe());
+      list.add(present_ae);
+      if (present_ae)
+        list.add(ae);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(validateExperiment_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = 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 = 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 = 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 = 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 = 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 = 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 {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new 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, 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 SchemeFactory {
+      public validateExperiment_resultStandardScheme getScheme() {
+        return new validateExperiment_resultStandardScheme();
+      }
+    }
+
+    private static class validateExperiment_resultStandardScheme extends 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 SchemeFactory {
+      public validateExperiment_resultTupleScheme getScheme() {
+        return new validateExperiment_resultTupleScheme();
+      }
+    }
+
+    private static class validateExperiment_resultTupleScheme extends TupleScheme<validateExperiment_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, validateExperiment_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new 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 {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        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);
+        }
+      }
+    }
+
+  }
+
+  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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new launchExperiment_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new launchExperiment_argsTupleSchemeFactory());
+    }
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public String airavataExperimentId; // required
+    public 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 Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : 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 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(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.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 = 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,
+      String airavataExperimentId,
+      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 String getAiravataExperimentId() {
+      return this.airavataExperimentId;
+    }
+
+    public launchExperiment_args setAiravataExperimentId(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 String getGatewayId() {
+      return this.gatewayId;
+    }
+
+    public launchExperiment_args setGatewayId(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, 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((String)value);
+        }
+        break;
+
+      case GATEWAY_ID:
+        if (value == null) {
+          unsetGatewayId();
+        } else {
+          setGatewayId((String)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      case AIRAVATA_EXPERIMENT_ID:
+        return getAiravataExperimentId();
+
+      case GATEWAY_ID:
+        return getGatewayId();
+
+      }
+      throw new 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 IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      case AIRAVATA_EXPERIMENT_ID:
+        return isSetAiravataExperimentId();
+      case GATEWAY_ID:
+        return isSetGatewayId();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(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;
+
+      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() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_authzToken = true && (isSetAuthzToken());
+      list.add(present_authzToken);
+      if (present_authzToken)
+        list.add(authzToken);
+
+      boolean present_airavataExperimentId = true && (isSetAiravataExperimentId());
+      list.add(present_airavataExperimentId);
+      if (present_airavataExperimentId)
+        list.add(airavataExperimentId);
+
+      boolean present_gatewayId = true && (isSetGatewayId());
+      list.add(present_gatewayId);
+      if (present_gatewayId)
+        list.add(gatewayId);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(launchExperiment_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = 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 = 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 = 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 {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("launchExperiment_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -89782,6 +91404,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();
     }
@@ -89794,6 +91424,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();
@@ -89816,15 +91449,15 @@ public class Airavata {
       }
     }
 
-    private static class validateExperiment_argsStandardSchemeFactory implements SchemeFactory {
-      public validateExperiment_argsStandardScheme getScheme() {
-        return new validateExperiment_argsStandardScheme();
+    private static class launchExperiment_argsStandardSchemeFactory implements SchemeFactory {
+      public launchExperiment_argsStandardScheme getScheme() {
+        return new launchExperiment_argsStandardScheme();
       }
     }
 
-    private static class validateExperiment_argsStandardScheme extends StandardScheme<validateExperiment_args> {
+    private static class launchExperiment_argsStandardScheme extends 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)
@@ -89851,6 +91484,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);
           }
@@ -89862,7 +91503,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);
@@ -89876,44 +91517,51 @@ 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 SchemeFactory {
-      public validateExperiment_argsTupleScheme getScheme() {
-        return new validateExperiment_argsTupleScheme();
+    private static class launchExperiment_argsTupleSchemeFactory implements SchemeFactory {
+      public launchExperiment_argsTupleScheme getScheme() {
+        return new launchExperiment_argsTupleScheme();
       }
     }
 
-    private static class validateExperiment_argsTupleScheme extends TupleScheme<validateExperiment_args> {
+    private static class launchExperiment_argsTupleScheme extends 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 {
         TTupleProtocol oprot = (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 {
         TTupleProtocol iprot = (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);
       }
     }
 
   }
 
-  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);
@@ -89922,11 +91570,10 @@ public class Airavata {
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new validateExperiment_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new validateExperiment_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new launchExperiment_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, 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
@@ -89935,7 +91582,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"),
@@ -89955,8 +91601,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
@@ -90007,13 +91651,9 @@ public class Airavata {
     }
 
     // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -90025,14 +91665,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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = 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,
@@ -90040,8 +91679,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;
@@ -90052,9 +91689,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);
       }
@@ -90072,14 +91707,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;
@@ -90087,34 +91720,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 = 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 EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = 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;
     }
@@ -90138,7 +91748,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;
     }
@@ -90162,7 +91772,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;
     }
@@ -90186,7 +91796,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;
     }
@@ -90210,7 +91820,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;
     }
@@ -90232,14 +91842,6 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((Boolean)value);
-        }
-        break;
-
       case IRE:
         if (value == null) {
           unsetIre();
@@ -90285,9 +91887,6 @@ public class Airavata {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-      case SUCCESS:
-        return isSuccess();
-
       case IRE:
         return getIre();
 
@@ -90314,8 +91913,6 @@ public class Airavata {
       }
 
       switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
       case IRE:
         return isSetIre();
       case ENF:
@@ -90334,24 +91931,15 @@ public class Airavata {
     public boolean equals(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;
 
-      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) {
@@ -90404,11 +91992,6 @@ public class Airavata {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
-      boolean present_success = true;
-      list.add(present_success);
-      if (present_success)
-        list.add(success);
-
       boolean present_ire = true && (isSetIre());
       list.add(present_ire);
       if (present_ire)
@@ -90438,23 +92021,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 = 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 = Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
@@ -90522,13 +92095,9 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("validateExperiment_result(");
+      StringBuilder sb = new 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");
@@ -90587,23 +92156,21 @@ public class Airavata {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, 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 SchemeFactory {
-      public validateExperiment_resultStandardScheme getScheme() {
-        return new validateExperiment_resultStandardScheme();
+    private static class launchExperiment_resultStandardSchemeFactory implements SchemeFactory {
+      public launchExperiment_resultStandardScheme getScheme() {
+        return new launchExperiment_resultStandardScheme();
       }
     }
 
-    private static class validateExperiment_resultStandardScheme extends StandardScheme<validateExperiment_result> {
+    private static class launchExperiment_resultStandardScheme extends 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)
@@ -90613,14 +92180,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();
@@ -90677,15 +92236,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);
@@ -90717,40 +92271,34 @@ public class Airavata {
 
     }
 
-    private static class validateExperiment_resultTupleSchemeFactory implements SchemeFactory {
-      public validateExperiment_resultTupleScheme getScheme() {
-        return new validateExperiment_resultTupleScheme();
+    private static class launchExperiment_resultTupleSchemeFactory implements SchemeFactory {
+      public launchExperiment_resultTupleScheme getScheme() {
+        return new launchExperiment_resultTupleScheme();
       }
     }
 
-    private static class validateExperiment_resultTupleScheme extends TupleScheme<validateExperiment_result> {
+    private static class launchExperiment_resultTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new 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);
         }
@@ -90769,34 +92317,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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(6);
+        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);
@@ -90806,28 +92350,25 @@ 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new launchExperiment_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new launchExperiment_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getExperimentStatus_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getExperimentStatus_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public String airavataExperimentId; // required
-    public 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 Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -90846,8 +92387,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;
         }
@@ -90895,57 +92434,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 = 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,
-      String airavataExperimentId,
-      String gatewayId)
+      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;
     }
@@ -90969,7 +92500,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public launchExperiment_args setAiravataExperimentId(String airavataExperimentId) {
+    public getExperimentStatus_args setAiravataExperimentId(String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -90989,30 +92520,6 @@ public class Airavata {
       }
     }
 
-    public String getGatewayId() {
-      return this.gatewayId;
-    }
-
-    public launchExperiment_args setGatewayId(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, Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -91031,14 +92538,6 @@ public class Airavata {
         }
         break;
 
-      case GATEWAY_ID:
-        if (value == null) {
-          unsetGatewayId();
-        } else {
-          setGatewayId((String)value);
-        }
-        break;
-
       }
     }
 
@@ -91050,9 +92549,6 @@ public class Airavata {
       case AIRAVATA_EXPERIMENT_ID:
         return getAiravataExperimentId();
 
-      case GATEWAY_ID:
-        return getGatewayId();
-
       }
       throw new IllegalStateException();
     }
@@ -91068,8 +92564,6 @@ public class Airavata {
         return isSetAuthzToken();
       case AIRAVATA_EXPERIMENT_ID:
         return isSetAiravataExperimentId();
-      case GATEWAY_ID:
-        return isSetGatewayId();
       }
       throw new IllegalStateException();
     }
@@ -91078,12 +92572,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -91105,15 +92599,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;
     }
 
@@ -91131,16 +92616,11 @@ public class Airavata {
       if (present_airavataExperimentId)
         list.add(airavataExperimentId);
 
-      boolean present_gatewayId = true && (isSetGatewayId());
-      list.add(present_gatewayId);
-      if (present_gatewayId)
-        list.add(gatewayId);
-
       return list.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());
       }
@@ -91167,16 +92647,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = 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;
     }
 
@@ -91194,7 +92664,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("launchExperiment_args(");
+      StringBuilder sb = new StringBuilder("getExperimentStatus_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -91212,14 +92682,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();
     }
@@ -91232,9 +92694,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();
@@ -91257,15 +92716,15 @@ public class Airavata {
       }
     }
 
-    private static class launchExperiment_argsStandardSchemeFactory implements SchemeFactory {
-      public launchExperiment_argsStandardScheme getScheme() {
-        return new launchExperiment_argsStandardScheme();
+    private static class getExperimentStatus_argsStandardSchemeFactory implements SchemeFactory {
+      public getExperimentStatus_argsStandardScheme getScheme() {
+        return new getExperimentStatus_argsStandardScheme();
       }
     }
 
-    private static class launchExperiment_argsStandardScheme extends StandardScheme<launchExperiment_args> {
+    private static class getExperimentStatus_argsStandardScheme extends 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)
@@ -91292,14 +92751,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);
           }
@@ -91311,7 +92762,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);
@@ -91325,51 +92776,44 @@ 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 SchemeFactory {
-      public launchExperiment_argsTupleScheme getScheme() {
-        return new launchExperiment_argsTupleScheme();
+    private static class getExperimentStatus_argsTupleSchemeFactory implements SchemeFactory {
+      public getExperimentStatus_argsTupleScheme getScheme() {
+        return new getExperimentStatus_argsTupleScheme();
       }
     }
 
-    private static class launchExperiment_argsTupleScheme extends TupleScheme<launchExperiment_args> {
+    private static class getExperimentStatus_argsTupleScheme extends 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 {
         TTupleProtocol oprot = (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 {
         TTupleProtocol iprot = (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);
       }
     }
 
   }
 
-  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);
@@ -91378,10 +92822,11 @@ public class Airavata {
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new launchExperiment_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new launchExperiment_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getExperimentStatus_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, 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
@@ -91390,6 +92835,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"),
@@ -91409,6 +92855,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
@@ -91462,6 +92910,8 @@ public class Airavata {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -91473,13 +92923,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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = 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,
@@ -91487,6 +92938,7 @@ public class Airavata {
       org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
+      this.success = success;
       this.ire = ire;
       this.enf = enf;
       this.ace = ace;
@@ -91497,7 +92949,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);
       }
@@ -91515,12 +92970,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;
@@ -91528,11 +92984,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;
     }
@@ -91556,7 +93036,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;
     }
@@ -91580,7 +93060,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;
     }
@@ -91604,7 +93084,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;
     }
@@ -91628,7 +93108,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;
     }
@@ -91650,6 +93130,14 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, 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();
@@ -91695,6 +93183,9 @@ public class Airavata {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
       case IRE:
         return getIre();
 
@@ -91721,6 +93212,8 @@ public class Airavata {
       }
 
       switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
       case IRE:
         return isSetIre();
       case ENF:
@@ -91739,15 +93232,24 @@ public class Airavata {
     public boolean equals(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;
 
+      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) {
@@ -91800,6 +93302,11 @@ public class Airavata {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
+      boolean present_success = true && (isSetSuccess());
+      list.add(present_success);
+      if (present_success)
+        list.add(success);
+
       boolean present_ire = true && (isSetIre());
       list.add(present_ire);
       if (present_ire)
@@ -91829,13 +93336,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 = 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 = Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
@@ -91903,9 +93420,17 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("launchExperiment_result(");
+      StringBuilder sb = new 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");
@@ -91952,6 +93477,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 {
@@ -91970,15 +93498,15 @@ public class Airavata {
       }
     }
 
-    private static class launchExperiment_resultStandardSchemeFactory implements SchemeFactory {
-      public launchExperiment_resultStandardScheme getScheme() {
-        return new launchExperiment_resultStandardScheme();
+    private static class getExperimentStatus_resultStandardSchemeFactory implements SchemeFactory {
+      public getExperimentStatus_resultStandardScheme getScheme() {
+        return new getExperimentStatus_resultStandardScheme();
       }
     }
 
-    private static class launchExperiment_resultStandardScheme extends StandardScheme<launchExperiment_result> {
+    private static class getExperimentStatus_resultStandardScheme extends 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)
@@ -91988,6 +93516,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();
@@ -92044,10 +93581,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);
@@ -92079,34 +93621,40 @@ public class Airavata {
 
     }
 
-    private static class launchExperiment_resultTupleSchemeFactory implements SchemeFactory {
-      public launchExperiment_resultTupleScheme getScheme() {
-        return new launchExperiment_resultTupleScheme();
+    private static class getExperimentStatus_resultTupleSchemeFactory implements SchemeFactory {
+      public getExperimentStatus_resultTupleScheme getScheme() {
+        return new getExperimentStatus_resultTupleScheme();
       }
     }
 
-    private static class launchExperiment_resultTupleScheme extends TupleScheme<launchExperiment_result> {
+    private static class getExperimentStatus_resultTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new 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);
         }
@@ -92125,30 +93673,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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(5);
+        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);
@@ -92158,16 +93711,16 @@ 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getExperimentStatus_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getExperimentStatus_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getExperimentOutputs_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getExperimentOutputs_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
@@ -92243,13 +93796,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 = 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,
       String airavataExperimentId)
     {
@@ -92261,7 +93814,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);
       }
@@ -92270,8 +93823,8 @@ public class Airavata {
       }
     }
 
-    public getExperimentStatus_args deepCopy() {
-      return new getExperimentStatus_args(this);
+    public getExperimentOutputs_args deepCopy() {
+      return new getExperimentOutputs_args(this);
     }
 
     @Override
@@ -92284,7 +93837,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;
     }
@@ -92308,7 +93861,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public getExperimentStatus_args setAiravataExperimentId(String airavataExperimentId) {
+    public getExperimentOutputs_args setAiravataExperimentId(String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -92380,12 +93933,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -92428,7 +93981,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());
       }
@@ -92472,7 +94025,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getExperimentStatus_args(");
+      StringBuilder sb = new StringBuilder("getExperimentOutputs_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -92524,15 +94077,15 @@ public class Airavata {
       }
     }
 
-    private static class getExperimentStatus_argsStandardSchemeFactory implements SchemeFactory {
-      public getExperimentStatus_argsStandardScheme getScheme() {
-        return new getExperimentStatus_argsStandardScheme();
+    private static class getExperimentOutputs_argsStandardSchemeFactory implements SchemeFactory {
+      public getExperimentOutputs_argsStandardScheme getScheme() {
+        return new getExperimentOutputs_argsStandardScheme();
       }
     }
 
-    private static class getExperimentStatus_argsStandardScheme extends StandardScheme<getExperimentStatus_args> {
+    private static class getExperimentOutputs_argsStandardScheme extends 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)
@@ -92570,7 +94123,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);
@@ -92590,23 +94143,23 @@ public class Airavata {
 
     }
 
-    private static class getExperimentStatus_argsTupleSchemeFactory implements SchemeFactory {
-      public getExperimentStatus_argsTupleScheme getScheme() {
-        return new getExperimentStatus_argsTupleScheme();
+    private static class getExperimentOutputs_argsTupleSchemeFactory implements SchemeFactory {
+      public getExperimentOutputs_argsTupleScheme getScheme() {
+        return new getExperimentOutputs_argsTupleScheme();
       }
     }
 
-    private static class getExperimentStatus_argsTupleScheme extends TupleScheme<getExperimentStatus_args> {
+    private static class getExperimentOutputs_argsTupleScheme extends 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 {
         TTupleProtocol oprot = (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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -92618,10 +94171,10 @@ 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);
@@ -92630,11 +94183,11 @@ public class Airavata {
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getExperimentStatus_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getExperimentStatus_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getExperimentOutputs_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getExperimentOutputs_resultTupleSchemeFactory());
     }
 
-    public org.apache.airavata.model.status.ExperimentStatus success; // required
+    public 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
@@ -92719,7 +94272,8 @@ public class Airavata {
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -92731,14 +94285,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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = 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(
+      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,
@@ -92757,9 +94311,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);
+        List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__success = new 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);
@@ -92778,8 +94336,8 @@ public class Airavata {
       }
     }
 
-    public getExperimentStatus_result deepCopy() {
-      return new getExperimentStatus_result(this);
+    public getExperimentOutputs_result deepCopy() {
+      return new getExperimentOutputs_result(this);
     }
 
     @Override
@@ -92792,11 +94350,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 ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>();
+      }
+      this.success.add(elem);
+    }
+
+    public 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(List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -92820,7 +94393,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;
     }
@@ -92844,7 +94417,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;
     }
@@ -92868,7 +94441,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;
     }
@@ -92892,7 +94465,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;
     }
@@ -92916,7 +94489,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;
     }
@@ -92942,7 +94515,7 @@ public class Airavata {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((org.apache.airavata.model.status.ExperimentStatus)value);
+          setSuccess((List<org.apache.airavata.model.application.io.OutputDataObjectType>)value);
         }
         break;
 
@@ -93040,12 +94613,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -93144,7 +94717,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());
       }
@@ -93228,7 +94801,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getExperimentStatus_result(");
+      StringBuilder sb = new StringBuilder("getExperimentOutputs_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -93285,9 +94858,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 {
@@ -93306,15 +94876,15 @@ public class Airavata {
       }
     }
 
-    private static class getExperimentStatus_resultStandardSchemeFactory implements SchemeFactory {
-      public getExperimentStatus_resultStandardScheme getScheme() {
-        return new getExperimentStatus_resultStandardScheme();
+    private static class getExperimentOutputs_resultStandardSchemeFactory implements SchemeFactory {
+      public getExperimentOutputs_resultStandardScheme getScheme() {
+        return new getExperimentOutputs_resultStandardScheme();
       }
     }
 
-    private static class getExperimentStatus_resultStandardScheme extends StandardScheme<getExperimentStatus_result> {
+    private static class getExperimentOutputs_resultStandardScheme extends 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)
@@ -93325,9 +94895,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 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);
@@ -93389,13 +94969,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) {
@@ -93429,16 +95016,16 @@ public class Airavata {
 
     }
 
-    private static class getExperimentStatus_resultTupleSchemeFactory implements SchemeFactory {
-      public getExperimentStatus_resultTupleScheme getScheme() {
-        return new getExperimentStatus_resultTupleScheme();
+    private static class getExperimentOutputs_resultTupleSchemeFactory implements SchemeFactory {
+      public getExperimentOutputs_resultTupleScheme getScheme() {
+        return new getExperimentOutputs_resultTupleScheme();
       }
     }
 
-    private static class getExperimentStatus_resultTupleScheme extends TupleScheme<getExperimentStatus_result> {
+    private static class getExperimentOutputs_resultTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.isSetSuccess()) {
@@ -93461,7 +95048,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);
@@ -93481,12 +95074,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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         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 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)) {
@@ -93519,16 +95121,16 @@ 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getExperimentOutputs_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getExperimentOutputs_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getIntermediateOutputs_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getIntermediateOutputs_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
@@ -93604,13 +95206,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 = 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,
       String airavataExperimentId)
     {
@@ -93622,7 +95224,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);
       }
@@ -93631,8 +95233,8 @@ public class Airavata {
       }
     }
 
-    public getExperimentOutputs_args deepCopy() {
-      return new getExperimentOutputs_args(this);
+    public getIntermediateOutputs_args deepCopy() {
+      return new getIntermediateOutputs_args(this);
     }
 
     @Override
@@ -93645,7 +95247,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;
     }
@@ -93669,7 +95271,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public getExperimentOutputs_args setAiravataExperimentId(String airavataExperimentId) {
+    public getIntermediateOutputs_args setAiravataExperimentId(String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -93741,12 +95343,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -93789,7 +95391,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());
       }
@@ -93833,7 +95435,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getExperimentOutputs_args(");
+      StringBuilder sb = new StringBuilder("getIntermediateOutputs_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -93885,15 +95487,15 @@ public class Airavata {
       }
     }
 
-    private static class getExperimentOutputs_argsStandardSchemeFactory implements SchemeFactory {
-      public getExperimentOutputs_argsStandardScheme getScheme() {
-        return new getExperimentOutputs_argsStandardScheme();
+    private static class getIntermediateOutputs_argsStandardSchemeFactory implements SchemeFactory {
+      public getIntermediateOutputs_argsStandardScheme getScheme() {
+        return new getIntermediateOutputs_argsStandardScheme();
       }
     }
 
-    private static class getExperimentOutputs_argsStandardScheme extends StandardScheme<getExperimentOutputs_args> {
+    private static class getIntermediateOutputs_argsStandardScheme extends 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)
@@ -93931,7 +95533,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);
@@ -93951,23 +95553,23 @@ public class Airavata {
 
     }
 
-    private static class getExperimentOutputs_argsTupleSchemeFactory implements SchemeFactory {
-      public getExperimentOutputs_argsTupleScheme getScheme() {
-        return new getExperimentOutputs_argsTupleScheme();
+    private static class getIntermediateOutputs_argsTupleSchemeFactory implements SchemeFactory {
+      public getIntermediateOutputs_argsTupleScheme getScheme() {
+        return new getIntermediateOutputs_argsTupleScheme();
       }
     }
 
-    private static class getExperimentOutputs_argsTupleScheme extends TupleScheme<getExperimentOutputs_args> {
+    private static class getIntermediateOutputs_argsTupleScheme extends 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 {
         TTupleProtocol oprot = (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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -93979,8 +95581,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);
@@ -93991,8 +95593,8 @@ public class Airavata {
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getExperimentOutputs_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getExperimentOutputs_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getIntermediateOutputs_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getIntermediateOutputs_resultTupleSchemeFactory());
     }
 
     public List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
@@ -94093,13 +95695,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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = 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(
       List<org.apache.airavata.model.application.io.OutputDataObjectType> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
@@ -94119,7 +95721,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()) {
         List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__success = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(other.success.size());
         for (org.apache.airavata.model.application.io.OutputDataObjectType other_element : other.success) {
@@ -94144,8 +95746,8 @@ public class Airavata {
       }
     }
 
-    public getExperimentOutputs_result deepCopy() {
-      return new getExperimentOutputs_result(this);
+    public getIntermediateOutputs_result deepCopy() {
+      return new getIntermediateOutputs_result(this);
     }
 
     @Override
@@ -94177,7 +95779,7 @@ public class Airavata {
       return this.success;
     }
 
-    public getExperimentOutputs_result setSuccess(List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getIntermediateOutputs_result setSuccess(List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -94201,7 +95803,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;
     }
@@ -94225,7 +95827,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;
     }
@@ -94249,7 +95851,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;
     }
@@ -94273,7 +95875,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;
     }
@@ -94297,7 +95899,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;
     }
@@ -94421,12 +96023,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -94525,7 +96127,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());
       }
@@ -94609,7 +96211,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getExperimentOutputs_result(");
+      StringBuilder sb = new StringBuilder("getIntermediateOutputs_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -94684,15 +96286,15 @@ public class Airavata {
       }
     }
 
-    private static class getExperimentOutputs_resultStandardSchemeFactory implements SchemeFactory {
-      public getExperimentOutputs_resultStandardScheme getScheme() {
-        return new getExperimentOutputs_resultStandardScheme();
+    private static class getIntermediateOutputs_resultStandardSchemeFactory implements SchemeFactory {
+      public getIntermediateOutputs_resultStandardScheme getScheme() {
+        return new getIntermediateOutputs_resultStandardScheme();
       }
     }
 
-    private static class getExperimentOutputs_resultStandardScheme extends StandardScheme<getExperimentOutputs_result> {
+    private static class getIntermediateOutputs_resultStandardScheme extends 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)
@@ -94705,14 +96307,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 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 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();
                 }
@@ -94777,7 +96379,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);
@@ -94785,9 +96387,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();
           }
@@ -94824,16 +96426,16 @@ public class Airavata {
 
     }
 
-    private static class getExperimentOutputs_resultTupleSchemeFactory implements SchemeFactory {
-      public getExperimentOutputs_resultTupleScheme getScheme() {
-        return new getExperimentOutputs_resultTupleScheme();
+    private static class getIntermediateOutputs_resultTupleSchemeFactory implements SchemeFactory {
+      public getIntermediateOutputs_resultTupleScheme getScheme() {
+        return new getIntermediateOutputs_resultTupleScheme();
       }
     }
 
-    private static class getExperimentOutputs_resultTupleScheme extends TupleScheme<getExperimentOutputs_result> {
+    private static class getIntermediateOutputs_resultTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.isSetSuccess()) {
@@ -94858,9 +96460,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);
             }
           }
         }
@@ -94882,19 +96484,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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         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 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 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);
@@ -94929,16 +96531,16 @@ 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getIntermediateOutputs_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getIntermediateOutputs_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getJobStatuses_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getJobStatuses_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
@@ -95014,13 +96616,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 = 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,
       String airavataExperimentId)
     {
@@ -95032,7 +96634,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);
       }
@@ -95041,8 +96643,8 @@ public class Airavata {
       }
     }
 
-    public getIntermediateOutputs_args deepCopy() {
-      return new getIntermediateOutputs_args(this);
+    public getJobStatuses_args deepCopy() {
+      return new getJobStatuses_args(this);
     }
 
     @Override
@@ -95055,7 +96657,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;
     }
@@ -95079,7 +96681,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public getIntermediateOutputs_args setAiravataExperimentId(String airavataExperimentId) {
+    public getJobStatuses_args setAiravataExperimentId(String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -95151,12 +96753,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -95199,7 +96801,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());
       }
@@ -95243,7 +96845,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getIntermediateOutputs_args(");
+      StringBuilder sb = new StringBuilder("getJobStatuses_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -95295,15 +96897,15 @@ public class Airavata {
       }
     }
 
-    private static class getIntermediateOutputs_argsStandardSchemeFactory implements SchemeFactory {
-      public getIntermediateOutputs_argsStandardScheme getScheme() {
-        return new getIntermediateOutputs_argsStandardScheme();
+    private static class getJobStatuses_argsStandardSchemeFactory implements SchemeFactory {
+      public getJobStatuses_argsStandardScheme getScheme() {
+        return new getJobStatuses_argsStandardScheme();
       }
     }
 
-    private static class getIntermediateOutputs_argsStandardScheme extends StandardScheme<getIntermediateOutputs_args> {
+    private static class getJobStatuses_argsStandardScheme extends 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)
@@ -95341,7 +96943,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);
@@ -95361,23 +96963,23 @@ public class Airavata {
 
     }
 
-    private static class getIntermediateOutputs_argsTupleSchemeFactory implements SchemeFactory {
-      public getIntermediateOutputs_argsTupleScheme getScheme() {
-        return new getIntermediateOutputs_argsTupleScheme();
+    private static class getJobStatuses_argsTupleSchemeFactory implements SchemeFactory {
+      public getJobStatuses_argsTupleScheme getScheme() {
+        return new getJobStatuses_argsTupleScheme();
       }
     }
 
-    private static class getIntermediateOutputs_argsTupleScheme extends TupleScheme<getIntermediateOutputs_args> {
+    private static class getJobStatuses_argsTupleScheme extends 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 {
         TTupleProtocol oprot = (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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -95389,10 +96991,10 @@ 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);
@@ -95401,11 +97003,11 @@ public class Airavata {
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getIntermediateOutputs_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getIntermediateOutputs_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getJobStatuses_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getJobStatuses_resultTupleSchemeFactory());
     }
 
-    public List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
+    public Map<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
@@ -95490,8 +97092,9 @@ public class Airavata {
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -95503,14 +97106,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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = 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(
-      List<org.apache.airavata.model.application.io.OutputDataObjectType> success,
+    public getJobStatuses_result(
+      Map<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,
@@ -95529,11 +97132,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()) {
-        List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__success = new 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));
+        Map<String,org.apache.airavata.model.status.JobStatus> __this__success = new HashMap<String,org.apache.airavata.model.status.JobStatus>(other.success.size());
+        for (Map.Entry<String, org.apache.airavata.model.status.JobStatus> other_element : other.success.entrySet()) {
+
+          String other_element_key = other_element.getKey();
+          org.apache.airavata.model.status.JobStatus other_element_value = other_element.getValue();
+
+          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;
       }
@@ -95554,8 +97165,8 @@ public class Airavata {
       }
     }
 
-    public getIntermediateOutputs_result deepCopy() {
-      return new getIntermediateOutputs_result(this);
+    public getJobStatuses_result deepCopy() {
+      return new getJobStatuses_result(this);
     }
 
     @Override
@@ -95572,22 +97183,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(String key, org.apache.airavata.model.status.JobStatus val) {
       if (this.success == null) {
-        this.success = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>();
+        this.success = new HashMap<String,org.apache.airavata.model.status.JobStatus>();
       }
-      this.success.add(elem);
+      this.success.put(key, val);
     }
 
-    public List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
+    public Map<String,org.apache.airavata.model.status.JobStatus> getSuccess() {
       return this.success;
     }
 
-    public getIntermediateOutputs_result setSuccess(List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getJobStatuses_result setSuccess(Map<String,org.apache.airavata.model.status.JobStatus> success) {
       this.success = success;
       return this;
     }
@@ -95611,7 +97218,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;
     }
@@ -95635,7 +97242,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;
     }
@@ -95659,7 +97266,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;
     }
@@ -95683,7 +97290,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;
     }
@@ -95707,7 +97314,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;
     }
@@ -95733,7 +97340,7 @@ public class Airavata {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((List<org.apache.airavata.model.application.io.OutputDataObjectType>)value);
+          setSuccess((Map<String,org.apache.airavata.model.status.JobStatus>)value);
         }
         break;
 
@@ -95831,12 +97438,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -95935,7 +97542,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());
       }
@@ -96019,7 +97626,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getIntermediateOutputs_result(");
+      StringBuilder sb = new StringBuilder("getJobStatuses_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -96094,15 +97701,15 @@ public class Airavata {
       }
     }
 
-    private static class getIntermediateOutputs_resultStandardSchemeFactory implements SchemeFactory {
-      public getIntermediateOutputs_resultStandardScheme getScheme() {
-        return new getIntermediateOutputs_resultStandardScheme();
+    private static class getJobStatuses_resultStandardSchemeFactory implements SchemeFactory {
+      public getJobStatuses_resultStandardScheme getScheme() {
+        return new getJobStatuses_resultStandardScheme();
       }
     }
 
-    private static class getIntermediateOutputs_resultStandardScheme extends StandardScheme<getIntermediateOutputs_result> {
+    private static class getJobStatuses_resultStandardScheme extends 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)
@@ -96113,18 +97720,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 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 HashMap<String,org.apache.airavata.model.status.JobStatus>(2*_map136.size);
+                  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 { 
@@ -96187,19 +97796,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 (Map.Entry<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();
         }
@@ -96234,16 +97844,16 @@ public class Airavata {
 
     }
 
-    private static class getIntermediateOutputs_resultTupleSchemeFactory implements SchemeFactory {
-      public getIntermediateOutputs_resultTupleScheme getScheme() {
-        return new getIntermediateOutputs_resultTupleScheme();
+    private static class getJobStatuses_resultTupleSchemeFactory implements SchemeFactory {
+      public getJobStatuses_resultTupleScheme getScheme() {
+        return new getJobStatuses_resultTupleScheme();
       }
     }
 
-    private static class getIntermediateOutputs_resultTupleScheme extends TupleScheme<getIntermediateOutputs_result> {
+    private static class getJobStatuses_resultTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.isSetSuccess()) {
@@ -96268,9 +97878,10 @@ public class Airavata {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter132 : struct.success)
+            for (Map.Entry<String, org.apache.airavata.model.status.JobStatus> _iter141 : struct.success.entrySet())
             {
-              _iter132.write(oprot);
+              oprot.writeString(_iter141.getKey());
+              _iter141.getValue().write(oprot);
             }
           }
         }
@@ -96292,19 +97903,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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         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 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 HashMap<String,org.apache.airavata.model.status.JobStatus>(2*_map142.size);
+            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);
@@ -96339,16 +97952,16 @@ 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getJobStatuses_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getJobStatuses_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getJobDetails_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getJobDetails_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
@@ -96424,13 +98037,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 = 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,
       String airavataExperimentId)
     {
@@ -96442,7 +98055,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);
       }
@@ -96451,8 +98064,8 @@ public class Airavata {
       }
     }
 
-    public getJobStatuses_args deepCopy() {
-      return new getJobStatuses_args(this);
+    public getJobDetails_args deepCopy() {
+      return new getJobDetails_args(this);
     }
 
     @Override
@@ -96465,7 +98078,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;
     }
@@ -96489,7 +98102,7 @@ public class Airavata {
       return this.airavataExperimentId;
     }
 
-    public getJobStatuses_args setAiravataExperimentId(String airavataExperimentId) {
+    public getJobDetails_args setAiravataExperimentId(String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -96561,12 +98174,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -96609,7 +98222,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());
       }
@@ -96653,7 +98266,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getJobStatuses_args(");
+      StringBuilder sb = new StringBuilder("getJobDetails_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -96705,15 +98318,15 @@ public class Airavata {
       }
     }
 
-    private static class getJobStatuses_argsStandardSchemeFactory implements SchemeFactory {
-      public getJobStatuses_argsStandardScheme getScheme() {
-        return new getJobStatuses_argsStandardScheme();
+    private static class getJobDetails_argsStandardSchemeFactory implements SchemeFactory {
+      public getJobDetails_argsStandardScheme getScheme() {
+        return new getJobDetails_argsStandardScheme();
       }
     }
 
-    private static class getJobStatuses_argsStandardScheme extends StandardScheme<getJobStatuses_args> {
+    private static class getJobDetails_argsStandardScheme extends 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)
@@ -96751,7 +98364,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);
@@ -96771,23 +98384,23 @@ public class Airavata {
 
     }
 
-    private static class getJobStatuses_argsTupleSchemeFactory implements SchemeFactory {
-      public getJobStatuses_argsTupleScheme getScheme() {
-        return new getJobStatuses_argsTupleScheme();
+    private static class getJobDetails_argsTupleSchemeFactory implements SchemeFactory {
+      public getJobDetails_argsTupleScheme getScheme() {
+        return new getJobDetails_argsTupleScheme();
       }
     }
 
-    private static class getJobStatuses_argsTupleScheme extends TupleScheme<getJobStatuses_args> {
+    private static class getJobDetails_argsTupleScheme extends 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 {
         TTupleProtocol oprot = (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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -96799,10 +98412,10 @@ 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);
@@ -96811,11 +98424,11 @@ public class Airavata {
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getJobStatuses_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getJobStatuses_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getJobDetails_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getJobDetails_resultTupleSchemeFactory());
     }
 
-    public Map<String,org.apache.airavata.model.status.JobStatus> success; // required
+    public 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
@@ -96900,9 +98513,8 @@ public class Airavata {
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -96914,14 +98526,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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = 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(
-      Map<String,org.apache.airavata.model.status.JobStatus> success,
+    public getJobDetails_result(
+      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,
@@ -96940,19 +98552,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()) {
-        Map<String,org.apache.airavata.model.status.JobStatus> __this__success = new HashMap<String,org.apache.airavata.model.status.JobStatus>(other.success.size());
-        for (Map.Entry<String, org.apache.airavata.model.status.JobStatus> other_element : other.success.entrySet()) {
-
-          String other_element_key = other_element.getKey();
-          org.apache.airavata.model.status.JobStatus other_element_value = other_element.getValue();
-
-          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);
+        List<org.apache.airavata.model.job.JobModel> __this__success = new 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;
       }
@@ -96973,8 +98577,8 @@ public class Airavata {
       }
     }
 
-    public getJobStatuses_result deepCopy() {
-      return new getJobStatuses_result(this);
+    public getJobDetails_result deepCopy() {
+      return new getJobDetails_result(this);
     }
 
     @Override
@@ -96991,18 +98595,22 @@ public class Airavata {
       return (this.success == null) ? 0 : this.success.size();
     }
 
-    public void putToSuccess(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 HashMap<String,org.apache.airavata.model.status.JobStatus>();
+        this.success = new ArrayList<org.apache.airavata.model.job.JobModel>();
       }
-      this.success.put(key, val);
+      this.success.add(elem);
     }
 
-    public Map<String,org.apache.airavata.model.status.JobStatus> getSuccess() {
+    public List<org.apache.airavata.model.job.JobModel> getSuccess() {
       return this.success;
     }
 
-    public getJobStatuses_result setSuccess(Map<String,org.apache.airavata.model.status.JobStatus> success) {
+    public getJobDetails_result setSuccess(List<org.apache.airavata.model.job.JobModel> success) {
       this.success = success;
       return this;
     }
@@ -97026,7 +98634,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;
     }
@@ -97050,7 +98658,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;
     }
@@ -97074,7 +98682,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;
     }
@@ -97098,7 +98706,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;
     }
@@ -97122,7 +98730,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;
     }
@@ -97148,7 +98756,7 @@ public class Airavata {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((Map<String,org.apache.airavata.model.status.JobStatus>)value);
+          setSuccess((List<org.apache.airavata.model.job.JobModel>)value);
         }
         break;
 
@@ -97246,12 +98854,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -97350,7 +98958,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());
       }
@@ -97434,7 +99042,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getJobStatuses_result(");
+      StringBuilder sb = new StringBuilder("getJobDetails_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -97509,15 +99117,15 @@ public class Airavata {
       }
     }
 
-    private static class getJobStatuses_resultStandardSchemeFactory implements SchemeFactory {
-      public getJobStatuses_resultStandardScheme getScheme() {
-        return new getJobStatuses_resultStandardScheme();
+    private static class getJobDetails_resultStandardSchemeFactory implements SchemeFactory {
+      public getJobDetails_resultStandardScheme getScheme() {
+        return new getJobDetails_resultStandardScheme();
       }
     }
 
-    private static class getJobStatuses_resultStandardScheme extends StandardScheme<getJobStatuses_result> {
+    private static class getJobDetails_resultStandardScheme extends 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)
@@ -97528,20 +99136,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 HashMap<String,org.apache.airavata.model.status.JobStatus>(2*_map136.size);
-                  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 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 { 
@@ -97604,20 +99210,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 (Map.Entry<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();
         }
@@ -97652,16 +99257,16 @@ public class Airavata {
 
     }
 
-    private static class getJobStatuses_resultTupleSchemeFactory implements SchemeFactory {
-      public getJobStatuses_resultTupleScheme getScheme() {
-        return new getJobStatuses_resultTupleScheme();
+    private static class getJobDetails_resultTupleSchemeFactory implements SchemeFactory {
+      public getJobDetails_resultTupleScheme getScheme() {
+        return new getJobDetails_resultTupleScheme();
       }
     }
 
-    private static class getJobStatuses_resultTupleScheme extends TupleScheme<getJobStatuses_result> {
+    private static class getJobDetails_resultTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.isSetSuccess()) {
@@ -97686,10 +99291,9 @@ public class Airavata {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (Map.Entry<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);
             }
           }
         }
@@ -97711,21 +99315,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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         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 HashMap<String,org.apache.airavata.model.status.JobStatus>(2*_map142.size);
-            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 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);
@@ -97760,25 +99362,31 @@ 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getJobDetails_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getJobDetails_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new cloneExperiment_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new cloneExperiment_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String airavataExperimentId; // required
+    public String existingExperimentID; // required
+    public String newExperimentName; // required
+    public 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 Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -97795,8 +99403,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;
         }
@@ -97842,51 +99454,67 @@ public class Airavata {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.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 = 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,
-      String airavataExperimentId)
+      String existingExperimentID,
+      String newExperimentName,
+      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;
     }
@@ -97906,27 +99534,75 @@ public class Airavata {
       }
     }
 
-    public String getAiravataExperimentId() {
-      return this.airavataExperimentId;
+    public String getExistingExperimentID() {
+      return this.existingExperimentID;
     }
 
-    public getJobDetails_args setAiravataExperimentId(String airavataExperimentId) {
-      this.airavataExperimentId = airavataExperimentId;
+    public cloneExperiment_args setExistingExperimentID(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 String getNewExperimentName() {
+      return this.newExperimentName;
+    }
+
+    public cloneExperiment_args setNewExperimentName(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 String getNewExperimentProjectId() {
+      return this.newExperimentProjectId;
+    }
+
+    public cloneExperiment_args setNewExperimentProjectId(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;
       }
     }
 
@@ -97940,11 +99616,27 @@ public class Airavata {
         }
         break;
 
-      case AIRAVATA_EXPERIMENT_ID:
+      case EXISTING_EXPERIMENT_ID:
         if (value == null) {
-          unsetAiravataExperimentId();
+          unsetExistingExperimentID();
         } else {
-          setAiravataExperimentId((String)value);
+          setExistingExperimentID((String)value);
+        }
+        break;
+
+      case NEW_EXPERIMENT_NAME:
+        if (value == null) {
+          unsetNewExperimentName();
+        } else {
+          setNewExperimentName((String)value);
+        }
+        break;
+
+      case NEW_EXPERIMENT_PROJECT_ID:
+        if (value == null) {
+          unsetNewExperimentProjectId();
+        } else {
+          setNewExperimentProjectId((String)value);
         }
         break;
 
@@ -97956,8 +99648,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 IllegalStateException();
@@ -97972,8 +99670,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 IllegalStateException();
     }
@@ -97982,12 +99684,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -98000,12 +99702,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;
       }
 
@@ -98021,16 +99741,26 @@ public class Airavata {
       if (present_authzToken)
         list.add(authzToken);
 
-      boolean present_airavataExperimentId = true && (isSetAiravataExperimentId());
-      list.add(present_airavataExperimentId);
-      if (present_airavataExperimentId)
-        list.add(airavataExperimentId);
+      boolean present_existingExperimentID = true && (isSetExistingExperimentID());
+      list.add(present_existingExperimentID);
+      if (present_existingExperimentID)
+        list.add(existingExperimentID);
+
+      boolean present_newExperimentName = true && (isSetNewExperimentName());
+      list.add(present_newExperimentName);
+      if (present_newExperimentName)
+        list.add(newExperimentName);
+
+      boolean present_newExperimentProjectId = true && (isSetNewExperimentProjectId());
+      list.add(present_newExperimentProjectId);
+      if (present_newExperimentProjectId)
+        list.add(newExperimentProjectId);
 
       return list.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());
       }
@@ -98047,12 +99777,32 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = 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 = 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 = 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;
         }
@@ -98074,7 +99824,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getJobDetails_args(");
+      StringBuilder sb = new StringBuilder("cloneExperiment_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -98085,11 +99835,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(")");
@@ -98101,9 +99867,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();
@@ -98126,15 +99889,15 @@ public class Airavata {
       }
     }
 
-    private static class getJobDetails_argsStandardSchemeFactory implements SchemeFactory {
-      public getJobDetails_argsStandardScheme getScheme() {
-        return new getJobDetails_argsStandardScheme();
+    private static class cloneExperiment_argsStandardSchemeFactory implements SchemeFactory {
+      public cloneExperiment_argsStandardScheme getScheme() {
+        return new cloneExperiment_argsStandardScheme();
       }
     }
 
-    private static class getJobDetails_argsStandardScheme extends StandardScheme<getJobDetails_args> {
+    private static class cloneExperiment_argsStandardScheme extends 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)
@@ -98153,10 +99916,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);
               }
@@ -98172,7 +99951,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);
@@ -98181,9 +99960,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();
@@ -98192,56 +99981,88 @@ public class Airavata {
 
     }
 
-    private static class getJobDetails_argsTupleSchemeFactory implements SchemeFactory {
-      public getJobDetails_argsTupleScheme getScheme() {
-        return new getJobDetails_argsTupleScheme();
+    private static class cloneExperiment_argsTupleSchemeFactory implements SchemeFactory {
+      public cloneExperiment_argsTupleScheme getScheme() {
+        return new cloneExperiment_argsTupleScheme();
       }
     }
 
-    private static class getJobDetails_argsTupleScheme extends TupleScheme<getJobDetails_args> {
+    private static class cloneExperiment_argsTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.airavataExperimentId);
+        BitSet optionals = new 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 {
         TTupleProtocol iprot = (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);
+        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);
+        }
       }
     }
 
   }
 
-  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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getJobDetails_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getJobDetails_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new cloneExperiment_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new cloneExperiment_resultTupleSchemeFactory());
     }
 
-    public List<org.apache.airavata.model.job.JobModel> success; // required
+    public 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 {
@@ -98250,7 +100071,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 Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -98277,6 +100099,8 @@ public class Airavata {
             return ASE;
           case 5: // AE
             return AE;
+          case 6: // PNFE
+            return PNFE;
           default:
             return null;
         }
@@ -98321,8 +100145,7 @@ public class Airavata {
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -98333,20 +100156,23 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.PNFE, new org.apache.thrift.meta_data.FieldMetaData("pnfe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = 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(
-      List<org.apache.airavata.model.job.JobModel> success,
+    public cloneExperiment_result(
+      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;
@@ -98355,18 +100181,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()) {
-        List<org.apache.airavata.model.job.JobModel> __this__success = new 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);
@@ -98383,10 +100206,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
@@ -98397,28 +100223,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 ArrayList<org.apache.airavata.model.job.JobModel>();
-      }
-      this.success.add(elem);
-    }
-
-    public List<org.apache.airavata.model.job.JobModel> getSuccess() {
+    public String getSuccess() {
       return this.success;
     }
 
-    public getJobDetails_result setSuccess(List<org.apache.airavata.model.job.JobModel> success) {
+    public cloneExperiment_result setSuccess(String success) {
       this.success = success;
       return this;
     }
@@ -98442,7 +100254,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;
     }
@@ -98466,7 +100278,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;
     }
@@ -98490,7 +100302,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;
     }
@@ -98514,7 +100326,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;
     }
@@ -98538,7 +100350,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;
     }
@@ -98558,13 +100370,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, Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((List<org.apache.airavata.model.job.JobModel>)value);
+          setSuccess((String)value);
         }
         break;
 
@@ -98608,6 +100444,14 @@ public class Airavata {
         }
         break;
 
+      case PNFE:
+        if (value == null) {
+          unsetPnfe();
+        } else {
+          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
+        }
+        break;
+
       }
     }
 
@@ -98631,6 +100475,9 @@ public class Airavata {
       case AE:
         return getAe();
 
+      case PNFE:
+        return getPnfe();
+
       }
       throw new IllegalStateException();
     }
@@ -98654,6 +100501,8 @@ public class Airavata {
         return isSetAse();
       case AE:
         return isSetAe();
+      case PNFE:
+        return isSetPnfe();
       }
       throw new IllegalStateException();
     }
@@ -98662,12 +100511,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -98725,6 +100574,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;
     }
 
@@ -98762,11 +100620,16 @@ public class Airavata {
       if (present_ae)
         list.add(ae);
 
+      boolean present_pnfe = true && (isSetPnfe());
+      list.add(present_pnfe);
+      if (present_pnfe)
+        list.add(pnfe);
+
       return list.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());
       }
@@ -98833,6 +100696,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = 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;
     }
 
@@ -98850,7 +100723,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("getJobDetails_result(");
+      StringBuilder sb = new StringBuilder("cloneExperiment_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -98900,6 +100773,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();
     }
@@ -98925,15 +100806,15 @@ public class Airavata {
       }
     }
 
-    private static class getJobDetails_resultStandardSchemeFactory implements SchemeFactory {
-      public getJobDetails_resultStandardScheme getScheme() {
-        return new getJobDetails_resultStandardScheme();
+    private static class cloneExperiment_resultStandardSchemeFactory implements SchemeFactory {
+      public cloneExperiment_resultStandardScheme getScheme() {
+        return new cloneExperiment_resultStandardScheme();
       }
     }
 
-    private static class getJobDetails_resultStandardScheme extends StandardScheme<getJobDetails_result> {
+    private static class cloneExperiment_resultStandardScheme extends 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)
@@ -98944,19 +100825,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 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);
@@ -99007,6 +100877,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);
           }
@@ -99018,20 +100897,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) {
@@ -99059,22 +100931,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 SchemeFactory {
-      public getJobDetails_resultTupleScheme getScheme() {
-        return new getJobDetails_resultTupleScheme();
+    private static class cloneExperiment_resultTupleSchemeFactory implements SchemeFactory {
+      public cloneExperiment_resultTupleScheme getScheme() {
+        return new cloneExperiment_resultTupleScheme();
       }
     }
 
-    private static class getJobDetails_resultTupleScheme extends TupleScheme<getJobDetails_result> {
+    private static class cloneExperiment_resultTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.isSetSuccess()) {
@@ -99095,15 +100972,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);
@@ -99120,24 +100994,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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(6);
+        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 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)) {
@@ -99165,13 +101032,18 @@ 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);
+        }
       }
     }
 
   }
 
-  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);
@@ -99180,8 +101052,8 @@ public class Airavata {
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new cloneExperiment_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new cloneExperiment_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new cloneExperimentByAdmin_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new cloneExperimentByAdmin_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
@@ -99269,13 +101141,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 = 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,
       String existingExperimentID,
       String newExperimentName,
@@ -99291,7 +101163,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);
       }
@@ -99306,8 +101178,8 @@ public class Airavata {
       }
     }
 
-    public cloneExperiment_args deepCopy() {
-      return new cloneExperiment_args(this);
+    public cloneExperimentByAdmin_args deepCopy() {
+      return new cloneExperimentByAdmin_args(this);
     }
 
     @Override
@@ -99322,7 +101194,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;
     }
@@ -99346,7 +101218,7 @@ public class Airavata {
       return this.existingExperimentID;
     }
 
-    public cloneExperiment_args setExistingExperimentID(String existingExperimentID) {
+    public cloneExperimentByAdmin_args setExistingExperimentID(String existingExperimentID) {
       this.existingExperimentID = existingExperimentID;
       return this;
     }
@@ -99370,7 +101242,7 @@ public class Airavata {
       return this.newExperimentName;
     }
 
-    public cloneExperiment_args setNewExperimentName(String newExperimentName) {
+    public cloneExperimentByAdmin_args setNewExperimentName(String newExperimentName) {
       this.newExperimentName = newExperimentName;
       return this;
     }
@@ -99394,7 +101266,7 @@ public class Airavata {
       return this.newExperimentProjectId;
     }
 
-    public cloneExperiment_args setNewExperimentProjectId(String newExperimentProjectId) {
+    public cloneExperimentByAdmin_args setNewExperimentProjectId(String newExperimentProjectId) {
       this.newExperimentProjectId = newExperimentProjectId;
       return this;
     }
@@ -99492,12 +101364,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -99568,7 +101440,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());
       }
@@ -99632,7 +101504,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("cloneExperiment_args(");
+      StringBuilder sb = new StringBuilder("cloneExperimentByAdmin_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -99697,15 +101569,15 @@ public class Airavata {
       }
     }
 
-    private static class cloneExperiment_argsStandardSchemeFactory implements SchemeFactory {
-      public cloneExperiment_argsStandardScheme getScheme() {
-        return new cloneExperiment_argsStandardScheme();
+    private static class cloneExperimentByAdmin_argsStandardSchemeFactory implements SchemeFactory {
+      public cloneExperimentByAdmin_argsStandardScheme getScheme() {
+        return new cloneExperimentByAdmin_argsStandardScheme();
       }
     }
 
-    private static class cloneExperiment_argsStandardScheme extends StandardScheme<cloneExperiment_args> {
+    private static class cloneExperimentByAdmin_argsStandardScheme extends 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)
@@ -99759,7 +101631,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);
@@ -99789,16 +101661,16 @@ public class Airavata {
 
     }
 
-    private static class cloneExperiment_argsTupleSchemeFactory implements SchemeFactory {
-      public cloneExperiment_argsTupleScheme getScheme() {
-        return new cloneExperiment_argsTupleScheme();
+    private static class cloneExperimentByAdmin_argsTupleSchemeFactory implements SchemeFactory {
+      public cloneExperimentByAdmin_argsTupleScheme getScheme() {
+        return new cloneExperimentByAdmin_argsTupleScheme();
       }
     }
 
-    private static class cloneExperiment_argsTupleScheme extends TupleScheme<cloneExperiment_args> {
+    private static class cloneExperimentByAdmin_argsTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         BitSet optionals = new BitSet();
@@ -99824,7 +101696,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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
@@ -99847,8 +101719,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);
@@ -99860,8 +101732,8 @@ public class Airavata {
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new cloneExperiment_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new cloneExperiment_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new cloneExperimentByAdmin_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new cloneExperimentByAdmin_resultTupleSchemeFactory());
     }
 
     public String success; // required
@@ -99967,13 +101839,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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = 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(
       String success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
@@ -99995,7 +101867,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;
       }
@@ -100019,8 +101891,8 @@ public class Airavata {
       }
     }
 
-    public cloneExperiment_result deepCopy() {
-      return new cloneExperiment_result(this);
+    public cloneExperimentByAdmin_result deepCopy() {
+      return new cloneExperimentByAdmin_result(this);
     }
 
     @Override
@@ -100038,7 +101910,7 @@ public class Airavata {
       return this.success;
     }
 
-    public cloneExperiment_result setSuccess(String success) {
+    public cloneExperimentByAdmin_result setSuccess(String success) {
       this.success = success;
       return this;
     }
@@ -100062,7 +101934,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;
     }
@@ -100086,7 +101958,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;
     }
@@ -100110,7 +101982,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;
     }
@@ -100134,7 +102006,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;
     }
@@ -100158,7 +102030,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;
     }
@@ -100182,7 +102054,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;
     }
@@ -100319,12 +102191,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -100437,7 +102309,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());
       }
@@ -100531,7 +102403,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("cloneExperiment_result(");
+      StringBuilder sb = new StringBuilder("cloneExperimentByAdmin_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -100614,15 +102486,15 @@ public class Airavata {
       }
     }
 
-    private static class cloneExperiment_resultStandardSchemeFactory implements SchemeFactory {
-      public cloneExperiment_resultStandardScheme getScheme() {
-        return new cloneExperiment_resultStandardScheme();
+    private static class cloneExperimentByAdmin_resultStandardSchemeFactory implements SchemeFactory {
+      public cloneExperimentByAdmin_resultStandardScheme getScheme() {
+        return new cloneExperimentByAdmin_resultStandardScheme();
       }
     }
 
-    private static class cloneExperiment_resultStandardScheme extends StandardScheme<cloneExperiment_result> {
+    private static class cloneExperimentByAdmin_resultStandardScheme extends 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)
@@ -100705,7 +102577,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);
@@ -100750,16 +102622,16 @@ public class Airavata {
 
     }
 
-    private static class cloneExperiment_resultTupleSchemeFactory implements SchemeFactory {
-      public cloneExperiment_resultTupleScheme getScheme() {
-        return new cloneExperiment_resultTupleScheme();
+    private static class cloneExperimentByAdmin_resultTupleSchemeFactory implements SchemeFactory {
+      public cloneExperimentByAdmin_resultTupleScheme getScheme() {
+        return new cloneExperimentByAdmin_resultTupleScheme();
       }
     }
 
-    private static class cloneExperiment_resultTupleScheme extends TupleScheme<cloneExperiment_result> {
+    private static class cloneExperimentByAdmin_resultTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.isSetSuccess()) {
@@ -100808,7 +102680,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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         BitSet incoming = iprot.readBitSet(7);
         if (incoming.get(0)) {
@@ -100850,31 +102722,28 @@ 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new cloneExperimentByAdmin_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new cloneExperimentByAdmin_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new terminateExperiment_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new terminateExperiment_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String existingExperimentID; // required
-    public String newExperimentName; // required
-    public String newExperimentProjectId; // required
+    public String airavataExperimentId; // required
+    public 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 Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -100891,12 +102760,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;
         }
@@ -100942,67 +102809,59 @@ public class Airavata {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.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 = 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,
-      String existingExperimentID,
-      String newExperimentName,
-      String newExperimentProjectId)
+      String airavataExperimentId,
+      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;
     }
@@ -101022,75 +102881,51 @@ public class Airavata {
       }
     }
 
-    public String getExistingExperimentID() {
-      return this.existingExperimentID;
-    }
-
-    public cloneExperimentByAdmin_args setExistingExperimentID(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 String getNewExperimentName() {
-      return this.newExperimentName;
+    public String getAiravataExperimentId() {
+      return this.airavataExperimentId;
     }
 
-    public cloneExperimentByAdmin_args setNewExperimentName(String newExperimentName) {
-      this.newExperimentName = newExperimentName;
+    public terminateExperiment_args setAiravataExperimentId(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 String getNewExperimentProjectId() {
-      return this.newExperimentProjectId;
+    public String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public cloneExperimentByAdmin_args setNewExperimentProjectId(String newExperimentProjectId) {
-      this.newExperimentProjectId = newExperimentProjectId;
+    public terminateExperiment_args setGatewayId(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;
       }
     }
 
@@ -101104,27 +102939,19 @@ public class Airavata {
         }
         break;
 
-      case EXISTING_EXPERIMENT_ID:
-        if (value == null) {
-          unsetExistingExperimentID();
-        } else {
-          setExistingExperimentID((String)value);
-        }
-        break;
-
-      case NEW_EXPERIMENT_NAME:
+      case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
-          unsetNewExperimentName();
+          unsetAiravataExperimentId();
         } else {
-          setNewExperimentName((String)value);
+          setAiravataExperimentId((String)value);
         }
         break;
 
-      case NEW_EXPERIMENT_PROJECT_ID:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetNewExperimentProjectId();
+          unsetGatewayId();
         } else {
-          setNewExperimentProjectId((String)value);
+          setGatewayId((String)value);
         }
         break;
 
@@ -101136,14 +102963,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 IllegalStateException();
@@ -101158,12 +102982,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 IllegalStateException();
     }
@@ -101172,12 +102994,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -101190,30 +103012,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;
       }
 
@@ -101229,26 +103042,21 @@ public class Airavata {
       if (present_authzToken)
         list.add(authzToken);
 
-      boolean present_existingExperimentID = true && (isSetExistingExperimentID());
-      list.add(present_existingExperimentID);
-      if (present_existingExperimentID)
-        list.add(existingExperimentID);
-
-      boolean present_newExperimentName = true && (isSetNewExperimentName());
-      list.add(present_newExperimentName);
-      if (present_newExperimentName)
-        list.add(newExperimentName);
+      boolean present_airavataExperimentId = true && (isSetAiravataExperimentId());
+      list.add(present_airavataExperimentId);
+      if (present_airavataExperimentId)
+        list.add(airavataExperimentId);
 
-      boolean present_newExperimentProjectId = true && (isSetNewExperimentProjectId());
-      list.add(present_newExperimentProjectId);
-      if (present_newExperimentProjectId)
-        list.add(newExperimentProjectId);
+      boolean present_gatewayId = true && (isSetGatewayId());
+      list.add(present_gatewayId);
+      if (present_gatewayId)
+        list.add(gatewayId);
 
       return list.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());
       }
@@ -101265,32 +103073,22 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = 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 = Boolean.valueOf(isSetNewExperimentName()).compareTo(other.isSetNewExperimentName());
+      lastComparison = 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 = Boolean.valueOf(isSetNewExperimentProjectId()).compareTo(other.isSetNewExperimentProjectId());
+      lastComparison = 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;
         }
@@ -101312,7 +103110,7 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("cloneExperimentByAdmin_args(");
+      StringBuilder sb = new StringBuilder("terminateExperiment_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -101323,27 +103121,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(")");
@@ -101377,15 +103167,15 @@ public class Airavata {
       }
     }
 
-    private static class cloneExperimentByAdmin_argsStandardSchemeFactory implements SchemeFactory {
-      public cloneExperimentByAdmin_argsStandardScheme getScheme() {
-        return new cloneExperimentByAdmin_argsStandardScheme();
+    private static class terminateExperiment_argsStandardSchemeFactory implements SchemeFactory {
+      public terminateExperiment_argsStandardScheme getScheme() {
+        return new terminateExperiment_argsStandardScheme();
       }
     }
 
-    private static class cloneExperimentByAdmin_argsStandardScheme extends StandardScheme<cloneExperimentByAdmin_args> {
+    private static class terminateExperiment_argsStandardScheme extends 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)
@@ -101404,26 +103194,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);
               }
@@ -101439,7 +103221,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);
@@ -101448,19 +103230,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();
@@ -101469,98 +103246,82 @@ public class Airavata {
 
     }
 
-    private static class cloneExperimentByAdmin_argsTupleSchemeFactory implements SchemeFactory {
-      public cloneExperimentByAdmin_argsTupleScheme getScheme() {
-        return new cloneExperimentByAdmin_argsTupleScheme();
+    private static class terminateExperiment_argsTupleSchemeFactory implements SchemeFactory {
+      public terminateExperiment_argsTupleScheme getScheme() {
+        return new terminateExperiment_argsTupleScheme();
       }
     }
 
-    private static class cloneExperimentByAdmin_argsTupleScheme extends TupleScheme<cloneExperimentByAdmin_args> {
+    private static class terminateExperiment_argsTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         BitSet optionals = new 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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        BitSet incoming = iprot.readBitSet(3);
+        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);
         }
       }
     }
 
   }
 
-  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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new cloneExperimentByAdmin_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new cloneExperimentByAdmin_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new terminateExperiment_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new terminateExperiment_resultTupleSchemeFactory());
     }
 
-    public 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 Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -101575,8 +103336,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
@@ -101587,8 +103346,6 @@ public class Airavata {
             return ASE;
           case 5: // AE
             return AE;
-          case 6: // PNFE
-            return PNFE;
           default:
             return null;
         }
@@ -101632,8 +103389,6 @@ public class Airavata {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 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.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -101644,41 +103399,32 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.PNFE, new org.apache.thrift.meta_data.FieldMetaData("pnfe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = 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(
-      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);
       }
@@ -101694,55 +103440,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 String getSuccess() {
-      return this.success;
-    }
-
-    public cloneExperimentByAdmin_result setSuccess(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;
     }
@@ -101766,7 +103483,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;
     }
@@ -101790,7 +103507,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;
     }
@@ -101814,7 +103531,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;
     }
@@ -101838,7 +103555,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;
     }
@@ -101858,40 +103575,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, Object value) {
       switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((String)value);
-        }
-        break;
-
       case IRE:
         if (value == null) {
           unsetIre();
@@ -101932,22 +103617,11 @@ public class Airavata {
         }
         break;
 
-      case PNFE:
-        if (value == null) {
-          unsetPnfe();
-        } else {
-          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
-        }
-        break;
-
       }
     }
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
       case IRE:
         return getIre();
 
@@ -101963,9 +103637,6 @@ public class Airavata {
       case AE:
         return getAe();
 
-      case PNFE:
-        return getPnfe();
-
       }
       throw new IllegalStateException();
     }
@@ -101977,8 +103648,6 @@ public class Airavata {
       }
 
       switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
       case IRE:
         return isSetIre();
       case ENF:
@@ -101989,8 +103658,6 @@ public class Airavata {
         return isSetAse();
       case AE:
         return isSetAe();
-      case PNFE:
-        return isSetPnfe();
       }
       throw new IllegalStateException();
     }
@@ -101999,24 +103666,15 @@ public class Airavata {
     public boolean equals(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;
 
-      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) {
@@ -102062,15 +103720,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;
     }
 
@@ -102078,11 +103727,6 @@ public class Airavata {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
-      boolean present_success = true && (isSetSuccess());
-      list.add(present_success);
-      if (present_success)
-        list.add(success);
-
       boolean present_ire = true && (isSetIre());
       list.add(present_ire);
       if (present_ire)
@@ -102108,32 +103752,17 @@ public class Airavata {
       if (present_ae)
         list.add(ae);
 
-      boolean present_pnfe = true && (isSetPnfe());
-      list.add(present_pnfe);
-      if (present_pnfe)
-        list.add(pnfe);
-
       return list.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 = 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 = Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
@@ -102184,16 +103813,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = 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;
     }
 
@@ -102211,17 +103830,9 @@ public class Airavata {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("cloneExperimentByAdmin_result(");
+      StringBuilder sb = new 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");
@@ -102261,14 +103872,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();
     }
@@ -102294,15 +103897,15 @@ public class Airavata {
       }
     }
 
-    private static class cloneExperimentByAdmin_resultStandardSchemeFactory implements SchemeFactory {
-      public cloneExperimentByAdmin_resultStandardScheme getScheme() {
-        return new cloneExperimentByAdmin_resultStandardScheme();
+    private static class terminateExperiment_resultStandardSchemeFactory implements SchemeFactory {
+      public terminateExperiment_resultStandardScheme getScheme() {
+        return new terminateExperiment_resultStandardScheme();
       }
     }
 
-    private static class cloneExperimentByAdmin_resultStandardScheme extends StandardScheme<cloneExperimentByAdmin_result> {
+    private static class terminateExperiment_resultStandardScheme extends 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)
@@ -102312,14 +103915,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();
@@ -102365,15 +103960,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);
           }
@@ -102385,15 +103971,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);
@@ -102419,54 +104000,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 SchemeFactory {
-      public cloneExperimentByAdmin_resultTupleScheme getScheme() {
-        return new cloneExperimentByAdmin_resultTupleScheme();
+    private static class terminateExperiment_resultTupleSchemeFactory implements SchemeFactory {
+      public terminateExperiment_resultTupleScheme getScheme() {
+        return new terminateExperiment_resultTupleScheme();
       }
     }
 
-    private static class cloneExperimentByAdmin_resultTupleScheme extends TupleScheme<cloneExperimentByAdmin_result> {
+    private static class terminateExperiment_resultTupleScheme extends 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 {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new 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);
         }
@@ -102482,76 +104049,64 @@ 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 {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(7);
+        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);
-        }
       }
     }
 
   }
 
-  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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new terminateExperiment_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new terminateExperiment_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new registerApplicationModule_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new registerApplicationModule_argsTupleSchemeFactory());
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String airavataExperimentId; // required
     public 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 Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -102568,10 +104123,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;
         }
@@ -102617,59 +104172,59 @@ public class Airavata {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.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 = 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,
-      String airavataExperimentId,
-      String gatewayId)
+      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;
     }
@@ -102689,51 +104244,51 @@ public class Airavata {
       }
     }
 
-    public String getAiravataExperimentId() {
-      return this.airavataExperimentId;
+    public String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public terminateExperiment_args setAiravataExperimentId(String airavataExperimentId) {
-      this.airavataExperimentId = airavataExperimentId;
+    public registerApplicationModule_args setGatewayId(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 String getGatewayId() {
-      return this.gatewayId;
+    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
+      return this.applicationModule;
     }
 
-    public terminateExperiment_args setGatewayId(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;
       }
     }
 
@@ -102747,19 +104302,19 @@ public class Airavata {
         }
         break;
 
-      case AIRAVATA_EXPERIMENT_ID:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetAiravataExperimentId();
+          unsetGatewayId();
         } else {
-          setAiravataExperimentId((String)value);
+          setGatewayId((String)value);
         }
         break;
 
-      case GATEWAY_ID:
+      case APPLICATION_MODULE:
         if (value == null) {
-          unsetGatewayId();
+          unsetApplicationModule();
         } else {
-          setGatewayId((String)value);
+          setApplicationModule((org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule)value);
         }
         break;
 
@@ -102771,12 +104326,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 IllegalStateException();
     }
@@ -102790,10 +104345,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 IllegalStateException();
     }
@@ -102802,12 +104357,12 @@ public class Airavata {
     public boolean equals(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;
 
@@ -102820,15 +104375,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;
-      }
... 66806 lines suppressed ...