airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From machris...@apache.org
Subject [airavata] 05/07: AIRAVATA-2840 Use sharing service to register/query cred tokens
Date Mon, 24 Sep 2018 16:55:42 GMT
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 f69def5697d3c5064679c24030527d80c5c37174
Author: Marcus Christie <machristie@apache.org>
AuthorDate: Mon Sep 24 12:35:45 2018 -0400

    AIRAVATA-2840 Use sharing service to register/query cred tokens
---
 .../api/server/handler/AiravataServerHandler.java  |   178 +-
 .../java/org/apache/airavata/api/Airavata.java     | 10396 ++++++++++++-------
 .../store/store/impl/db/CredentialsDAO.java        |    11 +-
 .../store/store/impl/db/CredentialsDAOTest.java    |     4 +
 .../airavata-apis/airavata_api.thrift              |    26 +-
 5 files changed, 6861 insertions(+), 3754 deletions(-)

diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index fce683a..4f77dc5 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -622,14 +622,35 @@ public class AiravataServerHandler implements Airavata.Iface {
         String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID);
         String userName = authzToken.getClaimsMap().get(Constants.USER_NAME);
         CredentialStoreService.Client csClient = csClientPool.getResource();
+        SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+        RegistryService.Client regClient = registryClientPool.getResource();
         try {
             SSHCredential sshCredential = new SSHCredential();
             sshCredential.setUsername(userName);
             sshCredential.setGatewayId(gatewayId);
             sshCredential.setDescription(description);
             String key = csClient.addSSHCredential(sshCredential);
+            try {
+                Entity entity = new Entity();
+                entity.setEntityId(key);
+                entity.setDomainId(gatewayId);
+                entity.setEntityTypeId(gatewayId + ":" + ResourceType.CREDENTIAL_TOKEN);
+                entity.setOwnerId(userName + "@" + gatewayId);
+                entity.setName(key);
+                entity.setDescription(description);
+                sharingClient.createEntity(entity);
+            } catch (Exception ex) {
+                logger.error(ex.getMessage(), ex);
+                logger.error("Rolling back ssh key creation for user " + userName + " and description [" + description + "]");
+                csClient.deleteSSHCredential(key, gatewayId);
+                AiravataSystemException ase = new AiravataSystemException();
+                ase.setMessage("Failed to create sharing registry record");
+                throw ase;
+            }
             logger.debug("Airavata generated SSH keys for gateway : " + gatewayId + " and for user : " + userName);
             csClientPool.returnResource(csClient);
+            sharingClientPool.returnResource(sharingClient);
+            registryClientPool.returnResource(regClient);
             return key;
         }catch (Exception e){
             logger.error("Error occurred while registering SSH Credential", e);
@@ -637,6 +658,8 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
             exception.setMessage("Error occurred while registering SSH Credential. More info : " + e.getMessage());
             csClientPool.returnBrokenResource(csClient);
+            sharingClientPool.returnBrokenResource(sharingClient);
+            registryClientPool.returnBrokenResource(regClient);
             throw exception;
         }
     }
@@ -656,6 +679,8 @@ public class AiravataServerHandler implements Airavata.Iface {
         String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID);
         String userName = authzToken.getClaimsMap().get(Constants.USER_NAME);
         CredentialStoreService.Client csClient = csClientPool.getResource();
+        SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+        RegistryService.Client regClient = registryClientPool.getResource();
         try {
             PasswordCredential pwdCredential = new PasswordCredential();
             pwdCredential.setPortalUserName(userName);
@@ -664,8 +689,27 @@ public class AiravataServerHandler implements Airavata.Iface {
             pwdCredential.setDescription(description);
             pwdCredential.setGatewayId(gatewayId);
             String key = csClient.addPasswordCredential(pwdCredential);
+            try {
+                Entity entity = new Entity();
+                entity.setEntityId(key);
+                entity.setDomainId(gatewayId);
+                entity.setEntityTypeId(gatewayId + ":" + ResourceType.CREDENTIAL_TOKEN);
+                entity.setOwnerId(userName + "@" + gatewayId);
+                entity.setName(key);
+                entity.setDescription(description);
+                sharingClient.createEntity(entity);
+            } catch (Exception ex) {
+                logger.error(ex.getMessage(), ex);
+                logger.error("Rolling back password registration for user " + userName + " and description [" + description + "]");
+                csClient.deletePWDCredential(key, gatewayId);
+                AiravataSystemException ase = new AiravataSystemException();
+                ase.setMessage("Failed to create sharing registry record");
+                throw ase;
+            }
             logger.debug("Airavata generated PWD credential for gateway : " + gatewayId + " and for user : " + loginUserName);
             csClientPool.returnResource(csClient);
+            sharingClientPool.returnResource(sharingClient);
+            registryClientPool.returnResource(regClient);
             return key;
         }catch (Exception e){
             logger.error("Error occurred while registering PWD Credential", e);
@@ -679,19 +723,95 @@ public class AiravataServerHandler implements Airavata.Iface {
 
     @Override
     @SecurityCheck
+    public CredentialSummary getCredentialSummary(AuthzToken authzToken, SummaryType type, String tokenId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        CredentialStoreService.Client csClient = csClientPool.getResource();
+        SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+        String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID);
+        try {
+            if (!userHasAccessInternal(sharingClient, authzToken, tokenId, ResourcePermissionType.READ)) {
+                throw new AuthorizationException("User does not have permission to access this resource");
+            }
+            CredentialSummary credentialSummary = csClient.getCredentialSummary(type, tokenId, gatewayId);
+            csClientPool.returnResource(csClient);
+            sharingClientPool.returnResource(sharingClient);
+            return credentialSummary;
+        } catch (AuthorizationException ae) {
+            String userName = authzToken.getClaimsMap().get(Constants.USER_NAME);
+            logger.info("User " + userName + " not allowed to access credential store token " + tokenId);
+            csClientPool.returnResource(csClient);
+            sharingClientPool.returnResource(sharingClient);
+            throw ae;
+        } catch (Exception e) {
+            String msg = "Error retrieving credential summary of type " + type + " for token " + tokenId + ". GatewayId: "+ gatewayId;
+            logger.error(msg, e);
+            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage(msg+" More info : " + e.getMessage());
+            csClientPool.returnBrokenResource(csClient);
+            sharingClientPool.returnBrokenResource(sharingClient);
+            throw exception;
+        }
+    }
+
+    @Override
+    @SecurityCheck
+    public List<CredentialSummary> getAllCredentialSummaries(AuthzToken authzToken, SummaryType type) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+        CredentialStoreService.Client csClient = csClientPool.getResource();
+        SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+        String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID);
+        String userName = authzToken.getClaimsMap().get(Constants.USER_NAME);
+        try {
+            List<SearchCriteria> filters = new ArrayList<>();
+            SearchCriteria searchCriteria = new SearchCriteria();
+            searchCriteria.setSearchField(EntitySearchField.ENTITY_TYPE_ID);
+            searchCriteria.setSearchCondition(SearchCondition.EQUAL);
+            searchCriteria.setValue(gatewayId + ":" + ResourceType.CREDENTIAL_TOKEN.name());
+            filters.add(searchCriteria);
+            List<String> accessibleTokenIds = sharingClient.searchEntities(gatewayId, userName + "@" + gatewayId, filters, 0, -1)
+                    .stream()
+                    .map(p -> p.entityId)
+                    .collect(Collectors.toList());
+            List<CredentialSummary> credentialSummaries = csClient.getAllCredentialSummaries(type, accessibleTokenIds, gatewayId);
+            csClientPool.returnResource(csClient);
+            sharingClientPool.returnResource(sharingClient);
+            return credentialSummaries;
+        } catch (Exception e) {
+            String msg = "Error retrieving credential summaries of type " + type + ". GatewayId: "+ gatewayId;
+            logger.error(msg, e);
+            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage(msg+" More info : " + e.getMessage());
+            csClientPool.returnBrokenResource(csClient);
+            sharingClientPool.returnBrokenResource(sharingClient);
+            throw exception;
+        }
+    }
+
+    @Override
+    @SecurityCheck
     public boolean deleteSSHPubKey(AuthzToken authzToken, String airavataCredStoreToken, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         CredentialStoreService.Client csClient = csClientPool.getResource();
+        SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
         try {
+            if (!userHasAccessInternal(sharingClient, authzToken, airavataCredStoreToken, ResourcePermissionType.WRITE)) {
+                throw new AuthorizationException("User does not have permission to delete this resource.");
+            }
             logger.debug("Airavata deleted SSH pub key for gateway Id : " + gatewayId + " and with token id : " + airavataCredStoreToken);
             boolean result = csClient.deleteSSHCredential(airavataCredStoreToken, gatewayId);
             csClientPool.returnResource(csClient);
+            sharingClientPool.returnResource(sharingClient);
             return result;
-        }catch (Exception e){
+        } catch (AuthorizationException ae) {
+            String userName = authzToken.getClaimsMap().get(Constants.USER_NAME);
+            logger.info("User " + userName + " not allowed to delete (no WRITE permission) credential store token " + airavataCredStoreToken);
+            csClientPool.returnResource(csClient);
+            sharingClientPool.returnResource(sharingClient);
+            throw ae;
+        } catch (Exception e){
             logger.error("Error occurred while deleting SSH credential", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
             exception.setMessage("Error occurred while deleting SSH credential. More info : " + e.getMessage());
             csClientPool.returnBrokenResource(csClient);
+            sharingClientPool.returnBrokenResource(sharingClient);
             throw exception;
         }
     }
@@ -700,17 +820,29 @@ public class AiravataServerHandler implements Airavata.Iface {
     @SecurityCheck
     public boolean deletePWDCredential(AuthzToken authzToken, String airavataCredStoreToken, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         CredentialStoreService.Client csClient = csClientPool.getResource();
+        SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
         try {
+            if (!userHasAccessInternal(sharingClient, authzToken, airavataCredStoreToken, ResourcePermissionType.WRITE)) {
+                throw new AuthorizationException("User does not have permission to delete this resource.");
+            }
             logger.debug("Airavata deleted PWD credential for gateway Id : " + gatewayId + " and with token id : " + airavataCredStoreToken);
             boolean result = csClient.deletePWDCredential(airavataCredStoreToken, gatewayId);
             csClientPool.returnResource(csClient);
+            sharingClientPool.returnResource(sharingClient);
             return result;
+        } catch (AuthorizationException ae) {
+            String userName = authzToken.getClaimsMap().get(Constants.USER_NAME);
+            logger.info("User " + userName + " not allowed to delete (no WRITE permission) credential store token " + airavataCredStoreToken);
+            csClientPool.returnResource(csClient);
+            sharingClientPool.returnResource(sharingClient);
+            throw ae;
         }catch (Exception e){
             logger.error("Error occurred while deleting PWD credential", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
             exception.setMessage("Error occurred while deleting PWD credential. More info : " + e.getMessage());
             csClientPool.returnBrokenResource(csClient);
+            sharingClientPool.returnBrokenResource(sharingClient);
             throw exception;
         }
     }
@@ -5212,8 +5344,9 @@ public class AiravataServerHandler implements Airavata.Iface {
         SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
         String userName = authzToken.getClaimsMap().get(Constants.USER_NAME);
         try {
+            validateGroupResourceProfile(sharingClient, authzToken, groupResourceProfile);
             String groupResourceProfileId = regClient.createGroupResourceProfile(groupResourceProfile);
-            if(ServerSettings.isEnableSharing()) {
+            if (ServerSettings.isEnableSharing()) {
                 try {
                     Entity entity = new Entity();
                     entity.setEntityId(groupResourceProfileId);
@@ -5238,6 +5371,11 @@ public class AiravataServerHandler implements Airavata.Iface {
             registryClientPool.returnResource(regClient);
             sharingClientPool.returnResource(sharingClient);
             return groupResourceProfileId;
+        } catch (AuthorizationException ae) {
+            logger.info("User " + userName + " not allowed access to resources referenced in this GroupResourceProfile. Reason: " + ae.getMessage());
+            registryClientPool.returnResource(regClient);
+            sharingClientPool.returnResource(sharingClient);
+            throw ae;
         } catch (Exception e) {
             String msg = "Error creating group resource profile.";
             logger.error(msg, e);
@@ -5248,27 +5386,41 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
     }
 
+    private void validateGroupResourceProfile(SharingRegistryService.Client sharingClient, AuthzToken authzToken, GroupResourceProfile groupResourceProfile) throws AuthorizationException {
+        Set<String> tokenIds = new HashSet<>();
+        if (groupResourceProfile.getComputePreferences() != null) {
+            for (GroupComputeResourcePreference groupComputeResourcePreference : groupResourceProfile.getComputePreferences()) {
+                if (groupComputeResourcePreference.getResourceSpecificCredentialStoreToken() != null) {
+                    tokenIds.add(groupComputeResourcePreference.getResourceSpecificCredentialStoreToken());
+                }
+            }
+        }
+        for (String tokenId : tokenIds) {
+            if (!userHasAccessInternal(sharingClient, authzToken, tokenId, ResourcePermissionType.READ)) {
+                throw new AuthorizationException("User does not have permission to a credential token in this resource.");
+            }
+        }
+    }
+
     @Override
     @SecurityCheck
     public void updateGroupResourceProfile(AuthzToken authzToken, GroupResourceProfile groupResourceProfile) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         RegistryService.Client regClient = registryClientPool.getResource();
         SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
         try {
-            if(ServerSettings.isEnableSharing()) {
-                try {
-                    String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID);
-                    String userId = authzToken.getClaimsMap().get(Constants.USER_NAME);
-                    if (!sharingClient.userHasAccess(gatewayId, userId + "@" + gatewayId,
-                            groupResourceProfile.getGroupResourceProfileId(), gatewayId + ":WRITE")){
-                        throw new AuthorizationException("User does not have permission to update group resource profile");
-                    }
-                } catch (Exception e) {
-                    throw new AuthorizationException("User does not have permission to update group resource profile");
-                }
+            validateGroupResourceProfile(sharingClient, authzToken, groupResourceProfile);
+            if (!userHasAccessInternal(sharingClient, authzToken, groupResourceProfile.getGroupResourceProfileId(), ResourcePermissionType.WRITE)){
+                throw new AuthorizationException("User does not have permission to update group resource profile");
             }
             regClient.updateGroupResourceProfile(groupResourceProfile);
             registryClientPool.returnResource(regClient);
             sharingClientPool.returnResource(sharingClient);
+        } catch (AuthorizationException ae) {
+            String userName = authzToken.getClaimsMap().get(Constants.USER_NAME);
+            logger.info("User " + userName + " not allowed access to update GroupResourceProfile " + groupResourceProfile.getGroupResourceProfileId() + ", reason: " + ae.getMessage());
+            registryClientPool.returnResource(regClient);
+            sharingClientPool.returnResource(sharingClient);
+            throw ae;
         } catch (Exception e) {
             String msg = "Error updating group resource profile. groupResourceProfileId: "+groupResourceProfile.getGroupResourceProfileId();
             logger.error(msg, e);
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 6c87d12..19b71c6 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
@@ -218,6 +218,10 @@ public class Airavata {
      */
     public java.lang.String registerPwdCredential(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String loginUserName, java.lang.String password, java.lang.String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
+    public org.apache.airavata.model.credential.store.CredentialSummary getCredentialSummary(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, java.lang.String tokenId) 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.TE [...]
+
+    public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getAllCredentialSummaries(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+
     /**
      * 
      * Delete a Gateway
@@ -3047,6 +3051,10 @@ public class Airavata {
 
     public void registerPwdCredential(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String loginUserName, java.lang.String password, java.lang.String description, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
+    public void getCredentialSummary(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, java.lang.String tokenId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> resultHandler) throws org.apache.thrift.TException;
+
+    public void getAllCredentialSummaries(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException;
+
     public void deleteSSHPubKey(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataCredStoreToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
     public void deletePWDCredential(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataCredStoreToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
@@ -3981,6 +3989,76 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerPwdCredential failed: unknown result");
     }
 
+    public org.apache.airavata.model.credential.store.CredentialSummary getCredentialSummary(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, java.lang.String tokenId) 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.TE [...]
+    {
+      send_getCredentialSummary(authzToken, type, tokenId);
+      return recv_getCredentialSummary();
+    }
+
+    public void send_getCredentialSummary(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, java.lang.String tokenId) throws org.apache.thrift.TException
+    {
+      getCredentialSummary_args args = new getCredentialSummary_args();
+      args.setAuthzToken(authzToken);
+      args.setType(type);
+      args.setTokenId(tokenId);
+      sendBase("getCredentialSummary", args);
+    }
+
+    public org.apache.airavata.model.credential.store.CredentialSummary recv_getCredentialSummary() 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
+    {
+      getCredentialSummary_result result = new getCredentialSummary_result();
+      receiveBase(result, "getCredentialSummary");
+      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, "getCredentialSummary failed: unknown result");
+    }
+
+    public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getAllCredentialSummaries(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    {
+      send_getAllCredentialSummaries(authzToken, type);
+      return recv_getAllCredentialSummaries();
+    }
+
+    public void send_getAllCredentialSummaries(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type) throws org.apache.thrift.TException
+    {
+      getAllCredentialSummaries_args args = new getAllCredentialSummaries_args();
+      args.setAuthzToken(authzToken);
+      args.setType(type);
+      sendBase("getAllCredentialSummaries", args);
+    }
+
+    public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> recv_getAllCredentialSummaries() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    {
+      getAllCredentialSummaries_result result = new getAllCredentialSummaries_result();
+      receiveBase(result, "getAllCredentialSummaries");
+      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;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllCredentialSummaries failed: unknown result");
+    }
+
     public boolean deleteSSHPubKey(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataCredStoreToken, java.lang.String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_deleteSSHPubKey(authzToken, airavataCredStoreToken, gatewayId);
@@ -10795,6 +10873,79 @@ public class Airavata {
       }
     }
 
+    public void getCredentialSummary(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, java.lang.String tokenId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getCredentialSummary_call method_call = new getCredentialSummary_call(authzToken, type, tokenId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getCredentialSummary_call extends org.apache.thrift.async.TAsyncMethodCall<org.apache.airavata.model.credential.store.CredentialSummary> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private org.apache.airavata.model.credential.store.SummaryType type;
+      private java.lang.String tokenId;
+      public getCredentialSummary_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, java.lang.String tokenId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.th [...]
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.type = type;
+        this.tokenId = tokenId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCredentialSummary", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getCredentialSummary_args args = new getCredentialSummary_args();
+        args.setAuthzToken(authzToken);
+        args.setType(type);
+        args.setTokenId(tokenId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.model.credential.store.CredentialSummary getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getCredentialSummary();
+      }
+    }
+
+    public void getAllCredentialSummaries(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getAllCredentialSummaries_call method_call = new getAllCredentialSummaries_call(authzToken, type, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getAllCredentialSummaries_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private org.apache.airavata.model.credential.store.SummaryType type;
+      public getAllCredentialSummaries_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift. [...]
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.type = type;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllCredentialSummaries", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getAllCredentialSummaries_args args = new getAllCredentialSummaries_args();
+        args.setAuthzToken(authzToken);
+        args.setType(type);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getAllCredentialSummaries();
+      }
+    }
+
     public void deleteSSHPubKey(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataCredStoreToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteSSHPubKey_call method_call = new deleteSSHPubKey_call(authzToken, airavataCredStoreToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17132,6 +17283,8 @@ public class Airavata {
       processMap.put("getAllNotifications", new getAllNotifications());
       processMap.put("generateAndRegisterSSHKeys", new generateAndRegisterSSHKeys());
       processMap.put("registerPwdCredential", new registerPwdCredential());
+      processMap.put("getCredentialSummary", new getCredentialSummary());
+      processMap.put("getAllCredentialSummaries", new getAllCredentialSummaries());
       processMap.put("deleteSSHPubKey", new deleteSSHPubKey());
       processMap.put("deletePWDCredential", new deletePWDCredential());
       processMap.put("createProject", new createProject());
@@ -17786,6 +17939,64 @@ public class Airavata {
       }
     }
 
+    public static class getCredentialSummary<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getCredentialSummary_args> {
+      public getCredentialSummary() {
+        super("getCredentialSummary");
+      }
+
+      public getCredentialSummary_args getEmptyArgsInstance() {
+        return new getCredentialSummary_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getCredentialSummary_result getResult(I iface, getCredentialSummary_args args) throws org.apache.thrift.TException {
+        getCredentialSummary_result result = new getCredentialSummary_result();
+        try {
+          result.success = iface.getCredentialSummary(args.authzToken, args.type, args.tokenId);
+        } 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 getAllCredentialSummaries<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllCredentialSummaries_args> {
+      public getAllCredentialSummaries() {
+        super("getAllCredentialSummaries");
+      }
+
+      public getAllCredentialSummaries_args getEmptyArgsInstance() {
+        return new getAllCredentialSummaries_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getAllCredentialSummaries_result getResult(I iface, getAllCredentialSummaries_args args) throws org.apache.thrift.TException {
+        getAllCredentialSummaries_result result = new getAllCredentialSummaries_result();
+        try {
+          result.success = iface.getAllCredentialSummaries(args.authzToken, args.type);
+        } 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;
+        }
+        return result;
+      }
+    }
+
     public static class deleteSSHPubKey<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteSSHPubKey_args> {
       public deleteSSHPubKey() {
         super("deleteSSHPubKey");
@@ -22969,6 +23180,8 @@ public class Airavata {
       processMap.put("getAllNotifications", new getAllNotifications());
       processMap.put("generateAndRegisterSSHKeys", new generateAndRegisterSSHKeys());
       processMap.put("registerPwdCredential", new registerPwdCredential());
+      processMap.put("getCredentialSummary", new getCredentialSummary());
+      processMap.put("getAllCredentialSummaries", new getAllCredentialSummaries());
       processMap.put("deleteSSHPubKey", new deleteSSHPubKey());
       processMap.put("deletePWDCredential", new deletePWDCredential());
       processMap.put("createProject", new createProject());
@@ -24371,22 +24584,21 @@ public class Airavata {
       }
     }
 
-    public static class deleteSSHPubKey<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteSSHPubKey_args, java.lang.Boolean> {
-      public deleteSSHPubKey() {
-        super("deleteSSHPubKey");
+    public static class getCredentialSummary<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getCredentialSummary_args, org.apache.airavata.model.credential.store.CredentialSummary> {
+      public getCredentialSummary() {
+        super("getCredentialSummary");
       }
 
-      public deleteSSHPubKey_args getEmptyArgsInstance() {
-        return new deleteSSHPubKey_args();
+      public getCredentialSummary_args getEmptyArgsInstance() {
+        return new getCredentialSummary_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteSSHPubKey_result result = new deleteSSHPubKey_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary>() { 
+          public void onComplete(org.apache.airavata.model.credential.store.CredentialSummary o) {
+            getCredentialSummary_result result = new getCredentialSummary_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -24400,7 +24612,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteSSHPubKey_result result = new deleteSSHPubKey_result();
+            getCredentialSummary_result result = new getCredentialSummary_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -24413,6 +24625,10 @@ public class Airavata {
               result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
               result.setAseIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -24440,27 +24656,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteSSHPubKey_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteSSHPubKey(args.authzToken, args.airavataCredStoreToken, args.gatewayId,resultHandler);
+      public void start(I iface, getCredentialSummary_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> resultHandler) throws org.apache.thrift.TException {
+        iface.getCredentialSummary(args.authzToken, args.type, args.tokenId,resultHandler);
       }
     }
 
-    public static class deletePWDCredential<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deletePWDCredential_args, java.lang.Boolean> {
-      public deletePWDCredential() {
-        super("deletePWDCredential");
+    public static class getAllCredentialSummaries<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllCredentialSummaries_args, java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> {
+      public getAllCredentialSummaries() {
+        super("getAllCredentialSummaries");
       }
 
-      public deletePWDCredential_args getEmptyArgsInstance() {
-        return new deletePWDCredential_args();
+      public getAllCredentialSummaries_args getEmptyArgsInstance() {
+        return new getAllCredentialSummaries_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deletePWDCredential_result result = new deletePWDCredential_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> o) {
+            getAllCredentialSummaries_result result = new getAllCredentialSummaries_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -24474,7 +24689,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deletePWDCredential_result result = new deletePWDCredential_result();
+            getAllCredentialSummaries_result result = new getAllCredentialSummaries_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -24514,26 +24729,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deletePWDCredential_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deletePWDCredential(args.authzToken, args.airavataCredStoreToken, args.gatewayId,resultHandler);
+      public void start(I iface, getAllCredentialSummaries_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllCredentialSummaries(args.authzToken, args.type,resultHandler);
       }
     }
 
-    public static class createProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createProject_args, java.lang.String> {
-      public createProject() {
-        super("createProject");
+    public static class deleteSSHPubKey<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteSSHPubKey_args, java.lang.Boolean> {
+      public deleteSSHPubKey() {
+        super("deleteSSHPubKey");
       }
 
-      public createProject_args getEmptyArgsInstance() {
-        return new createProject_args();
+      public deleteSSHPubKey_args getEmptyArgsInstance() {
+        return new deleteSSHPubKey_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            createProject_result result = new createProject_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteSSHPubKey_result result = new deleteSSHPubKey_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -24547,7 +24763,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            createProject_result result = new createProject_result();
+            deleteSSHPubKey_result result = new deleteSSHPubKey_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -24560,10 +24776,6 @@ public class Airavata {
               result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
               result.setAseIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-              result.setAeIsSet(true);
-              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -24591,25 +24803,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, createProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.createProject(args.authzToken, args.gatewayId, args.project,resultHandler);
+      public void start(I iface, deleteSSHPubKey_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteSSHPubKey(args.authzToken, args.airavataCredStoreToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class updateProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateProject_args, Void> {
-      public updateProject() {
-        super("updateProject");
+    public static class deletePWDCredential<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deletePWDCredential_args, java.lang.Boolean> {
+      public deletePWDCredential() {
+        super("deletePWDCredential");
       }
 
-      public updateProject_args getEmptyArgsInstance() {
-        return new updateProject_args();
+      public deletePWDCredential_args getEmptyArgsInstance() {
+        return new deletePWDCredential_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            updateProject_result result = new updateProject_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deletePWDCredential_result result = new deletePWDCredential_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -24623,7 +24837,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateProject_result result = new updateProject_result();
+            deletePWDCredential_result result = new deletePWDCredential_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -24636,14 +24850,6 @@ public class Airavata {
               result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
               result.setAseIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
-              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
-              result.setPnfeIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-              result.setAeIsSet(true);
-              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -24671,25 +24877,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateProject_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.updateProject(args.authzToken, args.projectId, args.updatedProject,resultHandler);
+      public void start(I iface, deletePWDCredential_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deletePWDCredential(args.authzToken, args.airavataCredStoreToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class getProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProject_args, org.apache.airavata.model.workspace.Project> {
-      public getProject() {
-        super("getProject");
+    public static class createProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createProject_args, java.lang.String> {
+      public createProject() {
+        super("createProject");
       }
 
-      public getProject_args getEmptyArgsInstance() {
-        return new getProject_args();
+      public createProject_args getEmptyArgsInstance() {
+        return new createProject_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project>() { 
-          public void onComplete(org.apache.airavata.model.workspace.Project o) {
-            getProject_result result = new getProject_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            createProject_result result = new createProject_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24704,7 +24910,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getProject_result result = new getProject_result();
+            createProject_result result = new createProject_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -24717,10 +24923,6 @@ public class Airavata {
               result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
               result.setAseIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
-              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
-              result.setPnfeIsSet(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);
@@ -24752,27 +24954,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getProject_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> resultHandler) throws org.apache.thrift.TException {
-        iface.getProject(args.authzToken, args.projectId,resultHandler);
+      public void start(I iface, createProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.createProject(args.authzToken, args.gatewayId, args.project,resultHandler);
       }
     }
 
-    public static class deleteProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteProject_args, java.lang.Boolean> {
-      public deleteProject() {
-        super("deleteProject");
+    public static class updateProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateProject_args, Void> {
+      public updateProject() {
+        super("updateProject");
       }
 
-      public deleteProject_args getEmptyArgsInstance() {
-        return new deleteProject_args();
+      public updateProject_args getEmptyArgsInstance() {
+        return new updateProject_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteProject_result result = new deleteProject_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateProject_result result = new updateProject_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -24786,7 +24986,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteProject_result result = new deleteProject_result();
+            updateProject_result result = new updateProject_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -24834,25 +25034,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteProject(args.authzToken, args.projectId,resultHandler);
+      public void start(I iface, updateProject_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.updateProject(args.authzToken, args.projectId, args.updatedProject,resultHandler);
       }
     }
 
-    public static class getUserProjects<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserProjects_args, java.util.List<org.apache.airavata.model.workspace.Project>> {
-      public getUserProjects() {
-        super("getUserProjects");
+    public static class getProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProject_args, org.apache.airavata.model.workspace.Project> {
+      public getProject() {
+        super("getProject");
       }
 
-      public getUserProjects_args getEmptyArgsInstance() {
-        return new getUserProjects_args();
+      public getProject_args getEmptyArgsInstance() {
+        return new getProject_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.workspace.Project> o) {
-            getUserProjects_result result = new getUserProjects_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project>() { 
+          public void onComplete(org.apache.airavata.model.workspace.Project o) {
+            getProject_result result = new getProject_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -24867,7 +25067,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getUserProjects_result result = new getUserProjects_result();
+            getProject_result result = new getProject_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -24880,82 +25080,9 @@ public class Airavata {
               result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
               result.setAseIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-              result.setAeIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getUserProjects_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
-        iface.getUserProjects(args.authzToken, args.gatewayId, args.userName, args.limit, args.offset,resultHandler);
-      }
-    }
-
-    public static class searchProjects<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchProjects_args, java.util.List<org.apache.airavata.model.workspace.Project>> {
-      public searchProjects() {
-        super("searchProjects");
-      }
-
-      public searchProjects_args getEmptyArgsInstance() {
-        return new searchProjects_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.workspace.Project> o) {
-            searchProjects_result result = new searchProjects_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            searchProjects_result result = new searchProjects_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);
+            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+              result.setPnfeIsSet(true);
               msg = result;
             } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
               result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
@@ -24988,26 +25115,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchProjects_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
-        iface.searchProjects(args.authzToken, args.gatewayId, args.userName, args.filters, args.limit, args.offset,resultHandler);
+      public void start(I iface, getProject_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> resultHandler) throws org.apache.thrift.TException {
+        iface.getProject(args.authzToken, args.projectId,resultHandler);
       }
     }
 
-    public static class searchExperiments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchExperiments_args, java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> {
-      public searchExperiments() {
-        super("searchExperiments");
+    public static class deleteProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteProject_args, java.lang.Boolean> {
+      public deleteProject() {
+        super("deleteProject");
       }
 
-      public searchExperiments_args getEmptyArgsInstance() {
-        return new searchExperiments_args();
+      public deleteProject_args getEmptyArgsInstance() {
+        return new deleteProject_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> o) {
-            searchExperiments_result result = new searchExperiments_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteProject_result result = new deleteProject_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25021,7 +25149,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            searchExperiments_result result = new searchExperiments_result();
+            deleteProject_result result = new deleteProject_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -25034,6 +25162,10 @@ public class Airavata {
               result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
               result.setAseIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+              result.setPnfeIsSet(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);
@@ -25065,25 +25197,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchExperiments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.searchExperiments(args.authzToken, args.gatewayId, args.userName, args.filters, args.limit, args.offset,resultHandler);
+      public void start(I iface, deleteProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteProject(args.authzToken, args.projectId,resultHandler);
       }
     }
 
-    public static class getExperimentStatistics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentStatistics_args, org.apache.airavata.model.experiment.ExperimentStatistics> {
-      public getExperimentStatistics() {
-        super("getExperimentStatistics");
+    public static class getUserProjects<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserProjects_args, java.util.List<org.apache.airavata.model.workspace.Project>> {
+      public getUserProjects() {
+        super("getUserProjects");
       }
 
-      public getExperimentStatistics_args getEmptyArgsInstance() {
-        return new getExperimentStatistics_args();
+      public getUserProjects_args getEmptyArgsInstance() {
+        return new getUserProjects_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics>() { 
-          public void onComplete(org.apache.airavata.model.experiment.ExperimentStatistics o) {
-            getExperimentStatistics_result result = new getExperimentStatistics_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.workspace.Project> o) {
+            getUserProjects_result result = new getUserProjects_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25098,7 +25230,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getExperimentStatistics_result result = new getExperimentStatistics_result();
+            getUserProjects_result result = new getUserProjects_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -25142,25 +25274,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getExperimentStatistics_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> resultHandler) throws org.apache.thrift.TException {
-        iface.getExperimentStatistics(args.authzToken, args.gatewayId, args.fromTime, args.toTime, args.userName, args.applicationName, args.resourceHostName,resultHandler);
+      public void start(I iface, getUserProjects_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
+        iface.getUserProjects(args.authzToken, args.gatewayId, args.userName, args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class getExperimentsInProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentsInProject_args, java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> {
-      public getExperimentsInProject() {
-        super("getExperimentsInProject");
+    public static class searchProjects<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchProjects_args, java.util.List<org.apache.airavata.model.workspace.Project>> {
+      public searchProjects() {
+        super("searchProjects");
       }
 
-      public getExperimentsInProject_args getEmptyArgsInstance() {
-        return new getExperimentsInProject_args();
+      public searchProjects_args getEmptyArgsInstance() {
+        return new searchProjects_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> o) {
-            getExperimentsInProject_result result = new getExperimentsInProject_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.workspace.Project> o) {
+            searchProjects_result result = new searchProjects_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25175,7 +25307,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getExperimentsInProject_result result = new getExperimentsInProject_result();
+            searchProjects_result result = new searchProjects_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -25188,10 +25320,6 @@ public class Airavata {
               result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
               result.setAseIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
-              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
-              result.setPnfeIsSet(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);
@@ -25223,25 +25351,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getExperimentsInProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getExperimentsInProject(args.authzToken, args.projectId, args.limit, args.offset,resultHandler);
+      public void start(I iface, searchProjects_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
+        iface.searchProjects(args.authzToken, args.gatewayId, args.userName, args.filters, args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class getUserExperiments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserExperiments_args, java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> {
-      public getUserExperiments() {
-        super("getUserExperiments");
+    public static class searchExperiments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchExperiments_args, java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> {
+      public searchExperiments() {
+        super("searchExperiments");
       }
 
-      public getUserExperiments_args getEmptyArgsInstance() {
-        return new getUserExperiments_args();
+      public searchExperiments_args getEmptyArgsInstance() {
+        return new searchExperiments_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> o) {
-            getUserExperiments_result result = new getUserExperiments_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> o) {
+            searchExperiments_result result = new searchExperiments_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25256,7 +25384,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getUserExperiments_result result = new getUserExperiments_result();
+            searchExperiments_result result = new searchExperiments_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -25300,25 +25428,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getUserExperiments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getUserExperiments(args.authzToken, args.gatewayId, args.userName, args.limit, args.offset,resultHandler);
+      public void start(I iface, searchExperiments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.searchExperiments(args.authzToken, args.gatewayId, args.userName, args.filters, args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class createExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createExperiment_args, java.lang.String> {
-      public createExperiment() {
-        super("createExperiment");
+    public static class getExperimentStatistics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentStatistics_args, org.apache.airavata.model.experiment.ExperimentStatistics> {
+      public getExperimentStatistics() {
+        super("getExperimentStatistics");
       }
 
-      public createExperiment_args getEmptyArgsInstance() {
-        return new createExperiment_args();
+      public getExperimentStatistics_args getEmptyArgsInstance() {
+        return new getExperimentStatistics_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            createExperiment_result result = new createExperiment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics>() { 
+          public void onComplete(org.apache.airavata.model.experiment.ExperimentStatistics o) {
+            getExperimentStatistics_result result = new getExperimentStatistics_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25333,7 +25461,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            createExperiment_result result = new createExperiment_result();
+            getExperimentStatistics_result result = new getExperimentStatistics_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -25377,27 +25505,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, createExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.createExperiment(args.authzToken, args.gatewayId, args.experiment,resultHandler);
+      public void start(I iface, getExperimentStatistics_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> resultHandler) throws org.apache.thrift.TException {
+        iface.getExperimentStatistics(args.authzToken, args.gatewayId, args.fromTime, args.toTime, args.userName, args.applicationName, args.resourceHostName,resultHandler);
       }
     }
 
-    public static class deleteExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteExperiment_args, java.lang.Boolean> {
-      public deleteExperiment() {
-        super("deleteExperiment");
+    public static class getExperimentsInProject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentsInProject_args, java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> {
+      public getExperimentsInProject() {
+        super("getExperimentsInProject");
       }
 
-      public deleteExperiment_args getEmptyArgsInstance() {
-        return new deleteExperiment_args();
+      public getExperimentsInProject_args getEmptyArgsInstance() {
+        return new getExperimentsInProject_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteExperiment_result result = new deleteExperiment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> o) {
+            getExperimentsInProject_result result = new getExperimentsInProject_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25411,7 +25538,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteExperiment_result result = new deleteExperiment_result();
+            getExperimentsInProject_result result = new getExperimentsInProject_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -25424,6 +25551,10 @@ public class Airavata {
               result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
               result.setAseIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+              result.setPnfeIsSet(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);
@@ -25455,25 +25586,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteExperiment(args.authzToken, args.experimentId,resultHandler);
+      public void start(I iface, getExperimentsInProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getExperimentsInProject(args.authzToken, args.projectId, args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class getExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperiment_args, org.apache.airavata.model.experiment.ExperimentModel> {
-      public getExperiment() {
-        super("getExperiment");
+    public static class getUserExperiments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserExperiments_args, java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> {
+      public getUserExperiments() {
+        super("getUserExperiments");
       }
 
-      public getExperiment_args getEmptyArgsInstance() {
-        return new getExperiment_args();
+      public getUserExperiments_args getEmptyArgsInstance() {
+        return new getUserExperiments_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
-          public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
-            getExperiment_result result = new getExperiment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> o) {
+            getUserExperiments_result result = new getUserExperiments_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25488,15 +25619,11 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getExperiment_result result = new getExperiment_result();
+            getUserExperiments_result result = new getUserExperiments_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.ExperimentNotFoundException) {
-              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
-              result.setEnfIsSet(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);
@@ -25536,25 +25663,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getExperiment(args.authzToken, args.airavataExperimentId,resultHandler);
+      public void start(I iface, getUserExperiments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getUserExperiments(args.authzToken, args.gatewayId, args.userName, args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class getExperimentByAdmin<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentByAdmin_args, org.apache.airavata.model.experiment.ExperimentModel> {
-      public getExperimentByAdmin() {
-        super("getExperimentByAdmin");
+    public static class createExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createExperiment_args, java.lang.String> {
+      public createExperiment() {
+        super("createExperiment");
       }
 
-      public getExperimentByAdmin_args getEmptyArgsInstance() {
-        return new getExperimentByAdmin_args();
+      public createExperiment_args getEmptyArgsInstance() {
+        return new createExperiment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
-          public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
-            getExperimentByAdmin_result result = new getExperimentByAdmin_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            createExperiment_result result = new createExperiment_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -25569,15 +25696,11 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getExperimentByAdmin_result result = new getExperimentByAdmin_result();
+            createExperiment_result result = new createExperiment_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.ExperimentNotFoundException) {
-              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
-              result.setEnfIsSet(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);
@@ -25617,26 +25740,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getExperimentByAdmin_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getExperimentByAdmin(args.authzToken, args.airavataExperimentId,resultHandler);
+      public void start(I iface, createExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.createExperiment(args.authzToken, args.gatewayId, args.experiment,resultHandler);
       }
     }
 
-    public static class getDetailedExperimentTree<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDetailedExperimentTree_args, org.apache.airavata.model.experiment.ExperimentModel> {
-      public getDetailedExperimentTree() {
-        super("getDetailedExperimentTree");
+    public static class deleteExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteExperiment_args, java.lang.Boolean> {
+      public deleteExperiment() {
+        super("deleteExperiment");
       }
 
-      public getDetailedExperimentTree_args getEmptyArgsInstance() {
-        return new getDetailedExperimentTree_args();
+      public deleteExperiment_args getEmptyArgsInstance() {
+        return new deleteExperiment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
-          public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
-            getDetailedExperimentTree_result result = new getDetailedExperimentTree_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteExperiment_result result = new deleteExperiment_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25650,15 +25774,11 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getDetailedExperimentTree_result result = new getDetailedExperimentTree_result();
+            deleteExperiment_result result = new deleteExperiment_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.ExperimentNotFoundException) {
-              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
-              result.setEnfIsSet(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);
@@ -25698,25 +25818,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getDetailedExperimentTree_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getDetailedExperimentTree(args.authzToken, args.airavataExperimentId,resultHandler);
+      public void start(I iface, deleteExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteExperiment(args.authzToken, args.experimentId,resultHandler);
       }
     }
 
-    public static class updateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateExperiment_args, Void> {
-      public updateExperiment() {
-        super("updateExperiment");
+    public static class getExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperiment_args, org.apache.airavata.model.experiment.ExperimentModel> {
+      public getExperiment() {
+        super("getExperiment");
       }
 
-      public updateExperiment_args getEmptyArgsInstance() {
-        return new updateExperiment_args();
+      public getExperiment_args getEmptyArgsInstance() {
+        return new getExperiment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            updateExperiment_result result = new updateExperiment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
+          public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
+            getExperiment_result result = new getExperiment_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25730,7 +25851,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateExperiment_result result = new updateExperiment_result();
+            getExperiment_result result = new getExperiment_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -25778,25 +25899,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.updateExperiment(args.authzToken, args.airavataExperimentId, args.experiment,resultHandler);
+      public void start(I iface, getExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getExperiment(args.authzToken, args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class updateExperimentConfiguration<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateExperimentConfiguration_args, Void> {
-      public updateExperimentConfiguration() {
-        super("updateExperimentConfiguration");
+    public static class getExperimentByAdmin<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentByAdmin_args, org.apache.airavata.model.experiment.ExperimentModel> {
+      public getExperimentByAdmin() {
+        super("getExperimentByAdmin");
       }
 
-      public updateExperimentConfiguration_args getEmptyArgsInstance() {
-        return new updateExperimentConfiguration_args();
+      public getExperimentByAdmin_args getEmptyArgsInstance() {
+        return new getExperimentByAdmin_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
+          public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
+            getExperimentByAdmin_result result = new getExperimentByAdmin_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25810,72 +25932,24 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
-            if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-              result.setAeIsSet(true);
+            getExperimentByAdmin_result result = new getExperimentByAdmin_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.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, updateExperimentConfiguration_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.updateExperimentConfiguration(args.authzToken, args.airavataExperimentId, args.userConfiguration,resultHandler);
-      }
-    }
-
-    public static class updateResourceScheduleing<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateResourceScheduleing_args, Void> {
-      public updateResourceScheduleing() {
-        super("updateResourceScheduleing");
-      }
-
-      public updateResourceScheduleing_args getEmptyArgsInstance() {
-        return new updateResourceScheduleing_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            updateResourceScheduleing_result result = new updateResourceScheduleing_result();
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            updateResourceScheduleing_result result = new updateResourceScheduleing_result();
-            if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+            } else if (e instanceof org.apache.airavata.model.error.ExperimentNotFoundException) {
+              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
+              result.setEnfIsSet(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;
@@ -25906,27 +25980,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateResourceScheduleing_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.updateResourceScheduleing(args.authzToken, args.airavataExperimentId, args.resourceScheduling,resultHandler);
+      public void start(I iface, getExperimentByAdmin_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getExperimentByAdmin(args.authzToken, args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class validateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, validateExperiment_args, java.lang.Boolean> {
-      public validateExperiment() {
-        super("validateExperiment");
+    public static class getDetailedExperimentTree<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDetailedExperimentTree_args, org.apache.airavata.model.experiment.ExperimentModel> {
+      public getDetailedExperimentTree() {
+        super("getDetailedExperimentTree");
       }
 
-      public validateExperiment_args getEmptyArgsInstance() {
-        return new validateExperiment_args();
+      public getDetailedExperimentTree_args getEmptyArgsInstance() {
+        return new getDetailedExperimentTree_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            validateExperiment_result result = new validateExperiment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
+          public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
+            getDetailedExperimentTree_result result = new getDetailedExperimentTree_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -25940,7 +26013,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            validateExperiment_result result = new validateExperiment_result();
+            getDetailedExperimentTree_result result = new getDetailedExperimentTree_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -25988,25 +26061,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, validateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.validateExperiment(args.authzToken, args.airavataExperimentId,resultHandler);
+      public void start(I iface, getDetailedExperimentTree_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getDetailedExperimentTree(args.authzToken, args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class launchExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, launchExperiment_args, Void> {
-      public launchExperiment() {
-        super("launchExperiment");
+    public static class updateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateExperiment_args, Void> {
+      public updateExperiment() {
+        super("updateExperiment");
       }
 
-      public launchExperiment_args getEmptyArgsInstance() {
-        return new launchExperiment_args();
+      public updateExperiment_args getEmptyArgsInstance() {
+        return new updateExperiment_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
           public void onComplete(Void o) {
-            launchExperiment_result result = new launchExperiment_result();
+            updateExperiment_result result = new updateExperiment_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26020,7 +26093,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            launchExperiment_result result = new launchExperiment_result();
+            updateExperiment_result result = new updateExperiment_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -26068,26 +26141,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, launchExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.launchExperiment(args.authzToken, args.airavataExperimentId, args.gatewayId,resultHandler);
+      public void start(I iface, updateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.updateExperiment(args.authzToken, args.airavataExperimentId, args.experiment,resultHandler);
       }
     }
 
-    public static class getExperimentStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentStatus_args, org.apache.airavata.model.status.ExperimentStatus> {
-      public getExperimentStatus() {
-        super("getExperimentStatus");
+    public static class updateExperimentConfiguration<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateExperimentConfiguration_args, Void> {
+      public updateExperimentConfiguration() {
+        super("updateExperimentConfiguration");
       }
 
-      public getExperimentStatus_args getEmptyArgsInstance() {
-        return new getExperimentStatus_args();
+      public updateExperimentConfiguration_args getEmptyArgsInstance() {
+        return new updateExperimentConfiguration_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus>() { 
-          public void onComplete(org.apache.airavata.model.status.ExperimentStatus o) {
-            getExperimentStatus_result result = new getExperimentStatus_result();
-            result.success = o;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26101,24 +26173,8 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getExperimentStatus_result result = new getExperimentStatus_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.ExperimentNotFoundException) {
-              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
-              result.setEnfIsSet(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) {
+            updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
+            if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
               result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
               result.setAeIsSet(true);
               msg = result;
@@ -26149,26 +26205,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getExperimentStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> resultHandler) throws org.apache.thrift.TException {
-        iface.getExperimentStatus(args.authzToken, args.airavataExperimentId,resultHandler);
+      public void start(I iface, updateExperimentConfiguration_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.updateExperimentConfiguration(args.authzToken, args.airavataExperimentId, args.userConfiguration,resultHandler);
       }
     }
 
-    public static class getExperimentOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
-      public getExperimentOutputs() {
-        super("getExperimentOutputs");
+    public static class updateResourceScheduleing<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateResourceScheduleing_args, Void> {
+      public updateResourceScheduleing() {
+        super("updateResourceScheduleing");
       }
 
-      public getExperimentOutputs_args getEmptyArgsInstance() {
-        return new getExperimentOutputs_args();
+      public updateResourceScheduleing_args getEmptyArgsInstance() {
+        return new updateResourceScheduleing_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
-            getExperimentOutputs_result result = new getExperimentOutputs_result();
-            result.success = o;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            updateResourceScheduleing_result result = new updateResourceScheduleing_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26182,24 +26237,8 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getExperimentOutputs_result result = new getExperimentOutputs_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.ExperimentNotFoundException) {
-              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
-              result.setEnfIsSet(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) {
+            updateResourceScheduleing_result result = new updateResourceScheduleing_result();
+            if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
               result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
               result.setAeIsSet(true);
               msg = result;
@@ -26230,26 +26269,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getExperimentOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
-        iface.getExperimentOutputs(args.authzToken, args.airavataExperimentId,resultHandler);
+      public void start(I iface, updateResourceScheduleing_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.updateResourceScheduleing(args.authzToken, args.airavataExperimentId, args.resourceScheduling,resultHandler);
       }
     }
 
-    public static class getIntermediateOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getIntermediateOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
-      public getIntermediateOutputs() {
-        super("getIntermediateOutputs");
+    public static class validateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, validateExperiment_args, java.lang.Boolean> {
+      public validateExperiment() {
+        super("validateExperiment");
       }
 
-      public getIntermediateOutputs_args getEmptyArgsInstance() {
-        return new getIntermediateOutputs_args();
+      public validateExperiment_args getEmptyArgsInstance() {
+        return new validateExperiment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
-            getIntermediateOutputs_result result = new getIntermediateOutputs_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            validateExperiment_result result = new validateExperiment_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26263,7 +26303,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getIntermediateOutputs_result result = new getIntermediateOutputs_result();
+            validateExperiment_result result = new validateExperiment_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -26311,26 +26351,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getIntermediateOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
-        iface.getIntermediateOutputs(args.authzToken, args.airavataExperimentId,resultHandler);
+      public void start(I iface, validateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.validateExperiment(args.authzToken, args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class getJobStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobStatuses_args, java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> {
-      public getJobStatuses() {
-        super("getJobStatuses");
+    public static class launchExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, launchExperiment_args, Void> {
+      public launchExperiment() {
+        super("launchExperiment");
       }
 
-      public getJobStatuses_args getEmptyArgsInstance() {
-        return new getJobStatuses_args();
+      public launchExperiment_args getEmptyArgsInstance() {
+        return new launchExperiment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>>() { 
-          public void onComplete(java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> o) {
-            getJobStatuses_result result = new getJobStatuses_result();
-            result.success = o;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            launchExperiment_result result = new launchExperiment_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26344,7 +26383,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getJobStatuses_result result = new getJobStatuses_result();
+            launchExperiment_result result = new launchExperiment_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -26392,25 +26431,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getJobStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> resultHandler) throws org.apache.thrift.TException {
-        iface.getJobStatuses(args.authzToken, args.airavataExperimentId,resultHandler);
+      public void start(I iface, launchExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.launchExperiment(args.authzToken, args.airavataExperimentId, args.gatewayId,resultHandler);
       }
     }
 
-    public static class getJobDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobDetails_args, java.util.List<org.apache.airavata.model.job.JobModel>> {
-      public getJobDetails() {
-        super("getJobDetails");
+    public static class getExperimentStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentStatus_args, org.apache.airavata.model.status.ExperimentStatus> {
+      public getExperimentStatus() {
+        super("getExperimentStatus");
       }
 
-      public getJobDetails_args getEmptyArgsInstance() {
-        return new getJobDetails_args();
+      public getExperimentStatus_args getEmptyArgsInstance() {
+        return new getExperimentStatus_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.job.JobModel> o) {
-            getJobDetails_result result = new getJobDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus>() { 
+          public void onComplete(org.apache.airavata.model.status.ExperimentStatus o) {
+            getExperimentStatus_result result = new getExperimentStatus_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26425,7 +26464,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getJobDetails_result result = new getJobDetails_result();
+            getExperimentStatus_result result = new getExperimentStatus_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -26473,25 +26512,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getJobDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getJobDetails(args.authzToken, args.airavataExperimentId,resultHandler);
+      public void start(I iface, getExperimentStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> resultHandler) throws org.apache.thrift.TException {
+        iface.getExperimentStatus(args.authzToken, args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class cloneExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cloneExperiment_args, java.lang.String> {
-      public cloneExperiment() {
-        super("cloneExperiment");
+    public static class getExperimentOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
+      public getExperimentOutputs() {
+        super("getExperimentOutputs");
       }
 
-      public cloneExperiment_args getEmptyArgsInstance() {
-        return new cloneExperiment_args();
+      public getExperimentOutputs_args getEmptyArgsInstance() {
+        return new getExperimentOutputs_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            cloneExperiment_result result = new cloneExperiment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
+            getExperimentOutputs_result result = new getExperimentOutputs_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26506,7 +26545,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            cloneExperiment_result result = new cloneExperiment_result();
+            getExperimentOutputs_result result = new getExperimentOutputs_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -26527,10 +26566,6 @@ public class Airavata {
               result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
               result.setAeIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
-              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
-              result.setPnfeIsSet(true);
-              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -26558,25 +26593,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, cloneExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.cloneExperiment(args.authzToken, args.existingExperimentID, args.newExperimentName, args.newExperimentProjectId,resultHandler);
+      public void start(I iface, getExperimentOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
+        iface.getExperimentOutputs(args.authzToken, args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class cloneExperimentByAdmin<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cloneExperimentByAdmin_args, java.lang.String> {
-      public cloneExperimentByAdmin() {
-        super("cloneExperimentByAdmin");
+    public static class getIntermediateOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getIntermediateOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
+      public getIntermediateOutputs() {
+        super("getIntermediateOutputs");
       }
 
-      public cloneExperimentByAdmin_args getEmptyArgsInstance() {
-        return new cloneExperimentByAdmin_args();
+      public getIntermediateOutputs_args getEmptyArgsInstance() {
+        return new getIntermediateOutputs_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            cloneExperimentByAdmin_result result = new cloneExperimentByAdmin_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
+            getIntermediateOutputs_result result = new getIntermediateOutputs_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26591,7 +26626,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            cloneExperimentByAdmin_result result = new cloneExperimentByAdmin_result();
+            getIntermediateOutputs_result result = new getIntermediateOutputs_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -26612,10 +26647,6 @@ public class Airavata {
               result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
               result.setAeIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
-              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
-              result.setPnfeIsSet(true);
-              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -26643,25 +26674,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, cloneExperimentByAdmin_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.cloneExperimentByAdmin(args.authzToken, args.existingExperimentID, args.newExperimentName, args.newExperimentProjectId,resultHandler);
+      public void start(I iface, getIntermediateOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
+        iface.getIntermediateOutputs(args.authzToken, args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class terminateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, terminateExperiment_args, Void> {
-      public terminateExperiment() {
-        super("terminateExperiment");
+    public static class getJobStatuses<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobStatuses_args, java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> {
+      public getJobStatuses() {
+        super("getJobStatuses");
       }
 
-      public terminateExperiment_args getEmptyArgsInstance() {
-        return new terminateExperiment_args();
+      public getJobStatuses_args getEmptyArgsInstance() {
+        return new getJobStatuses_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            terminateExperiment_result result = new terminateExperiment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>>() { 
+          public void onComplete(java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> o) {
+            getJobStatuses_result result = new getJobStatuses_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26675,7 +26707,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            terminateExperiment_result result = new terminateExperiment_result();
+            getJobStatuses_result result = new getJobStatuses_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -26723,25 +26755,106 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, terminateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.terminateExperiment(args.authzToken, args.airavataExperimentId, args.gatewayId,resultHandler);
+      public void start(I iface, getJobStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> resultHandler) throws org.apache.thrift.TException {
+        iface.getJobStatuses(args.authzToken, args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class registerApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationModule_args, java.lang.String> {
-      public registerApplicationModule() {
-        super("registerApplicationModule");
+    public static class getJobDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobDetails_args, java.util.List<org.apache.airavata.model.job.JobModel>> {
+      public getJobDetails() {
+        super("getJobDetails");
       }
 
-      public registerApplicationModule_args getEmptyArgsInstance() {
-        return new registerApplicationModule_args();
+      public getJobDetails_args getEmptyArgsInstance() {
+        return new getJobDetails_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.job.JobModel> o) {
+            getJobDetails_result result = new getJobDetails_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getJobDetails_result result = new getJobDetails_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.ExperimentNotFoundException) {
+              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
+              result.setEnfIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
+              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
+              result.setAceIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
+              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
+              result.setAseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getJobDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getJobDetails(args.authzToken, args.airavataExperimentId,resultHandler);
+      }
+    }
+
+    public static class cloneExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cloneExperiment_args, java.lang.String> {
+      public cloneExperiment() {
+        super("cloneExperiment");
+      }
+
+      public cloneExperiment_args getEmptyArgsInstance() {
+        return new cloneExperiment_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            registerApplicationModule_result result = new registerApplicationModule_result();
+            cloneExperiment_result result = new cloneExperiment_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26756,11 +26869,15 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerApplicationModule_result result = new registerApplicationModule_result();
+            cloneExperiment_result result = new cloneExperiment_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.ExperimentNotFoundException) {
+              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
+              result.setEnfIsSet(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);
@@ -26773,6 +26890,10 @@ public class Airavata {
               result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
               result.setAeIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+              result.setPnfeIsSet(true);
+              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -26800,25 +26921,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, registerApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerApplicationModule(args.authzToken, args.gatewayId, args.applicationModule,resultHandler);
+      public void start(I iface, cloneExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.cloneExperiment(args.authzToken, args.existingExperimentID, args.newExperimentName, args.newExperimentProjectId,resultHandler);
       }
     }
 
-    public static class getApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationModule_args, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> {
-      public getApplicationModule() {
-        super("getApplicationModule");
+    public static class cloneExperimentByAdmin<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cloneExperimentByAdmin_args, java.lang.String> {
+      public cloneExperimentByAdmin() {
+        super("cloneExperimentByAdmin");
       }
 
-      public getApplicationModule_args getEmptyArgsInstance() {
-        return new getApplicationModule_args();
+      public cloneExperimentByAdmin_args getEmptyArgsInstance() {
+        return new cloneExperimentByAdmin_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule o) {
-            getApplicationModule_result result = new getApplicationModule_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            cloneExperimentByAdmin_result result = new cloneExperimentByAdmin_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26833,11 +26954,15 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationModule_result result = new getApplicationModule_result();
+            cloneExperimentByAdmin_result result = new cloneExperimentByAdmin_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.ExperimentNotFoundException) {
+              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
+              result.setEnfIsSet(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);
@@ -26850,6 +26975,10 @@ public class Airavata {
               result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
               result.setAeIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+              result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+              result.setPnfeIsSet(true);
+              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -26877,27 +27006,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationModule(args.authzToken, args.appModuleId,resultHandler);
+      public void start(I iface, cloneExperimentByAdmin_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.cloneExperimentByAdmin(args.authzToken, args.existingExperimentID, args.newExperimentName, args.newExperimentProjectId,resultHandler);
       }
     }
 
-    public static class updateApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationModule_args, java.lang.Boolean> {
-      public updateApplicationModule() {
-        super("updateApplicationModule");
+    public static class terminateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, terminateExperiment_args, Void> {
+      public terminateExperiment() {
+        super("terminateExperiment");
       }
 
-      public updateApplicationModule_args getEmptyArgsInstance() {
-        return new updateApplicationModule_args();
+      public terminateExperiment_args getEmptyArgsInstance() {
+        return new terminateExperiment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateApplicationModule_result result = new updateApplicationModule_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            terminateExperiment_result result = new terminateExperiment_result();
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -26911,11 +27038,15 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateApplicationModule_result result = new updateApplicationModule_result();
+            terminateExperiment_result result = new terminateExperiment_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.ExperimentNotFoundException) {
+              result.enf = (org.apache.airavata.model.error.ExperimentNotFoundException) e;
+              result.setEnfIsSet(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);
@@ -26955,25 +27086,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateApplicationModule(args.authzToken, args.appModuleId, args.applicationModule,resultHandler);
+      public void start(I iface, terminateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.terminateExperiment(args.authzToken, args.airavataExperimentId, args.gatewayId,resultHandler);
       }
     }
 
-    public static class getAllAppModules<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllAppModules_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> {
-      public getAllAppModules() {
-        super("getAllAppModules");
+    public static class registerApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationModule_args, java.lang.String> {
+      public registerApplicationModule() {
+        super("registerApplicationModule");
       }
 
-      public getAllAppModules_args getEmptyArgsInstance() {
-        return new getAllAppModules_args();
+      public registerApplicationModule_args getEmptyArgsInstance() {
+        return new registerApplicationModule_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
-            getAllAppModules_result result = new getAllAppModules_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerApplicationModule_result result = new registerApplicationModule_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26988,7 +27119,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllAppModules_result result = new getAllAppModules_result();
+            registerApplicationModule_result result = new registerApplicationModule_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27032,25 +27163,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllAppModules(args.authzToken, args.gatewayId,resultHandler);
+      public void start(I iface, registerApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerApplicationModule(args.authzToken, args.gatewayId, args.applicationModule,resultHandler);
       }
     }
 
-    public static class getAccessibleAppModules<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleAppModules_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> {
-      public getAccessibleAppModules() {
-        super("getAccessibleAppModules");
+    public static class getApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationModule_args, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> {
+      public getApplicationModule() {
+        super("getApplicationModule");
       }
 
-      public getAccessibleAppModules_args getEmptyArgsInstance() {
-        return new getAccessibleAppModules_args();
+      public getApplicationModule_args getEmptyArgsInstance() {
+        return new getApplicationModule_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
-            getAccessibleAppModules_result result = new getAccessibleAppModules_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule o) {
+            getApplicationModule_result result = new getApplicationModule_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27065,7 +27196,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAccessibleAppModules_result result = new getAccessibleAppModules_result();
+            getApplicationModule_result result = new getApplicationModule_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27109,25 +27240,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAccessibleAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAccessibleAppModules(args.authzToken, args.gatewayId,resultHandler);
+      public void start(I iface, getApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationModule(args.authzToken, args.appModuleId,resultHandler);
       }
     }
 
-    public static class deleteApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationModule_args, java.lang.Boolean> {
-      public deleteApplicationModule() {
-        super("deleteApplicationModule");
+    public static class updateApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationModule_args, java.lang.Boolean> {
+      public updateApplicationModule() {
+        super("updateApplicationModule");
       }
 
-      public deleteApplicationModule_args getEmptyArgsInstance() {
-        return new deleteApplicationModule_args();
+      public updateApplicationModule_args getEmptyArgsInstance() {
+        return new updateApplicationModule_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            deleteApplicationModule_result result = new deleteApplicationModule_result();
+            updateApplicationModule_result result = new updateApplicationModule_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -27143,7 +27274,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteApplicationModule_result result = new deleteApplicationModule_result();
+            updateApplicationModule_result result = new updateApplicationModule_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27187,25 +27318,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteApplicationModule(args.authzToken, args.appModuleId,resultHandler);
+      public void start(I iface, updateApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateApplicationModule(args.authzToken, args.appModuleId, args.applicationModule,resultHandler);
       }
     }
 
-    public static class registerApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationDeployment_args, java.lang.String> {
-      public registerApplicationDeployment() {
-        super("registerApplicationDeployment");
+    public static class getAllAppModules<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllAppModules_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> {
+      public getAllAppModules() {
+        super("getAllAppModules");
       }
 
-      public registerApplicationDeployment_args getEmptyArgsInstance() {
-        return new registerApplicationDeployment_args();
+      public getAllAppModules_args getEmptyArgsInstance() {
+        return new getAllAppModules_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerApplicationDeployment_result result = new registerApplicationDeployment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
+            getAllAppModules_result result = new getAllAppModules_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27220,7 +27351,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerApplicationDeployment_result result = new registerApplicationDeployment_result();
+            getAllAppModules_result result = new getAllAppModules_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27264,25 +27395,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, registerApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerApplicationDeployment(args.authzToken, args.gatewayId, args.applicationDeployment,resultHandler);
+      public void start(I iface, getAllAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllAppModules(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class getApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationDeployment_args, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> {
-      public getApplicationDeployment() {
-        super("getApplicationDeployment");
+    public static class getAccessibleAppModules<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleAppModules_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> {
+      public getAccessibleAppModules() {
+        super("getAccessibleAppModules");
       }
 
-      public getApplicationDeployment_args getEmptyArgsInstance() {
-        return new getApplicationDeployment_args();
+      public getAccessibleAppModules_args getEmptyArgsInstance() {
+        return new getAccessibleAppModules_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription o) {
-            getApplicationDeployment_result result = new getApplicationDeployment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
+            getAccessibleAppModules_result result = new getAccessibleAppModules_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27297,7 +27428,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationDeployment_result result = new getApplicationDeployment_result();
+            getAccessibleAppModules_result result = new getAccessibleAppModules_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27341,25 +27472,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationDeployment(args.authzToken, args.appDeploymentId,resultHandler);
+      public void start(I iface, getAccessibleAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAccessibleAppModules(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class updateApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationDeployment_args, java.lang.Boolean> {
-      public updateApplicationDeployment() {
-        super("updateApplicationDeployment");
+    public static class deleteApplicationModule<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationModule_args, java.lang.Boolean> {
+      public deleteApplicationModule() {
+        super("deleteApplicationModule");
       }
 
-      public updateApplicationDeployment_args getEmptyArgsInstance() {
-        return new updateApplicationDeployment_args();
+      public deleteApplicationModule_args getEmptyArgsInstance() {
+        return new deleteApplicationModule_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateApplicationDeployment_result result = new updateApplicationDeployment_result();
+            deleteApplicationModule_result result = new deleteApplicationModule_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -27375,7 +27506,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateApplicationDeployment_result result = new updateApplicationDeployment_result();
+            deleteApplicationModule_result result = new deleteApplicationModule_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27419,27 +27550,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateApplicationDeployment(args.authzToken, args.appDeploymentId, args.applicationDeployment,resultHandler);
+      public void start(I iface, deleteApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteApplicationModule(args.authzToken, args.appModuleId,resultHandler);
       }
     }
 
-    public static class deleteApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationDeployment_args, java.lang.Boolean> {
-      public deleteApplicationDeployment() {
-        super("deleteApplicationDeployment");
+    public static class registerApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationDeployment_args, java.lang.String> {
+      public registerApplicationDeployment() {
+        super("registerApplicationDeployment");
       }
 
-      public deleteApplicationDeployment_args getEmptyArgsInstance() {
-        return new deleteApplicationDeployment_args();
+      public registerApplicationDeployment_args getEmptyArgsInstance() {
+        return new registerApplicationDeployment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerApplicationDeployment_result result = new registerApplicationDeployment_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27453,7 +27583,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
+            registerApplicationDeployment_result result = new registerApplicationDeployment_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27497,25 +27627,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteApplicationDeployment(args.authzToken, args.appDeploymentId,resultHandler);
+      public void start(I iface, registerApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerApplicationDeployment(args.authzToken, args.gatewayId, args.applicationDeployment,resultHandler);
       }
     }
 
-    public static class getAllApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
-      public getAllApplicationDeployments() {
-        super("getAllApplicationDeployments");
+    public static class getApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationDeployment_args, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> {
+      public getApplicationDeployment() {
+        super("getApplicationDeployment");
       }
 
-      public getAllApplicationDeployments_args getEmptyArgsInstance() {
-        return new getAllApplicationDeployments_args();
+      public getApplicationDeployment_args getEmptyArgsInstance() {
+        return new getApplicationDeployment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
-            getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription o) {
+            getApplicationDeployment_result result = new getApplicationDeployment_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27530,7 +27660,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
+            getApplicationDeployment_result result = new getApplicationDeployment_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27574,26 +27704,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllApplicationDeployments(args.authzToken, args.gatewayId,resultHandler);
+      public void start(I iface, getApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationDeployment(args.authzToken, args.appDeploymentId,resultHandler);
       }
     }
 
-    public static class getAccessibleApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
-      public getAccessibleApplicationDeployments() {
-        super("getAccessibleApplicationDeployments");
+    public static class updateApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationDeployment_args, java.lang.Boolean> {
+      public updateApplicationDeployment() {
+        super("updateApplicationDeployment");
       }
 
-      public getAccessibleApplicationDeployments_args getEmptyArgsInstance() {
-        return new getAccessibleApplicationDeployments_args();
+      public updateApplicationDeployment_args getEmptyArgsInstance() {
+        return new updateApplicationDeployment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
-            getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateApplicationDeployment_result result = new updateApplicationDeployment_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27607,7 +27738,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
+            updateApplicationDeployment_result result = new updateApplicationDeployment_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27651,26 +27782,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAccessibleApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAccessibleApplicationDeployments(args.authzToken, args.gatewayId, args.permissionType,resultHandler);
+      public void start(I iface, updateApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateApplicationDeployment(args.authzToken, args.appDeploymentId, args.applicationDeployment,resultHandler);
       }
     }
 
-    public static class getAppModuleDeployedResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAppModuleDeployedResources_args, java.util.List<java.lang.String>> {
-      public getAppModuleDeployedResources() {
-        super("getAppModuleDeployedResources");
+    public static class deleteApplicationDeployment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationDeployment_args, java.lang.Boolean> {
+      public deleteApplicationDeployment() {
+        super("deleteApplicationDeployment");
       }
 
-      public getAppModuleDeployedResources_args getEmptyArgsInstance() {
-        return new getAppModuleDeployedResources_args();
+      public deleteApplicationDeployment_args getEmptyArgsInstance() {
+        return new deleteApplicationDeployment_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
-          public void onComplete(java.util.List<java.lang.String> o) {
-            getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -27684,7 +27816,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
+            deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27728,25 +27860,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAppModuleDeployedResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAppModuleDeployedResources(args.authzToken, args.appModuleId,resultHandler);
+      public void start(I iface, deleteApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteApplicationDeployment(args.authzToken, args.appDeploymentId,resultHandler);
       }
     }
 
-    public static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
-      public getApplicationDeploymentsForAppModuleAndGroupResourceProfile() {
-        super("getApplicationDeploymentsForAppModuleAndGroupResourceProfile");
+    public static class getAllApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
+      public getAllApplicationDeployments() {
+        super("getAllApplicationDeployments");
       }
 
-      public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args getEmptyArgsInstance() {
-        return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args();
+      public getAllApplicationDeployments_args getEmptyArgsInstance() {
+        return new getAllApplicationDeployments_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
-            getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result result = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result();
+            getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27761,7 +27893,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result result = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result();
+            getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27805,25 +27937,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationDeploymentsForAppModuleAndGroupResourceProfile(args.authzToken, args.appModuleId, args.groupResourceProfileId,resultHandler);
+      public void start(I iface, getAllApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllApplicationDeployments(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class registerApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationInterface_args, java.lang.String> {
-      public registerApplicationInterface() {
-        super("registerApplicationInterface");
+    public static class getAccessibleApplicationDeployments<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAccessibleApplicationDeployments_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
+      public getAccessibleApplicationDeployments() {
+        super("getAccessibleApplicationDeployments");
       }
 
-      public registerApplicationInterface_args getEmptyArgsInstance() {
-        return new registerApplicationInterface_args();
+      public getAccessibleApplicationDeployments_args getEmptyArgsInstance() {
+        return new getAccessibleApplicationDeployments_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerApplicationInterface_result result = new registerApplicationInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
+            getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27838,7 +27970,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerApplicationInterface_result result = new registerApplicationInterface_result();
+            getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27882,25 +28014,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, registerApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerApplicationInterface(args.authzToken, args.gatewayId, args.applicationInterface,resultHandler);
+      public void start(I iface, getAccessibleApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAccessibleApplicationDeployments(args.authzToken, args.gatewayId, args.permissionType,resultHandler);
       }
     }
 
-    public static class cloneApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cloneApplicationInterface_args, java.lang.String> {
-      public cloneApplicationInterface() {
-        super("cloneApplicationInterface");
+    public static class getAppModuleDeployedResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAppModuleDeployedResources_args, java.util.List<java.lang.String>> {
+      public getAppModuleDeployedResources() {
+        super("getAppModuleDeployedResources");
       }
 
-      public cloneApplicationInterface_args getEmptyArgsInstance() {
-        return new cloneApplicationInterface_args();
+      public getAppModuleDeployedResources_args getEmptyArgsInstance() {
+        return new getAppModuleDeployedResources_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            cloneApplicationInterface_result result = new cloneApplicationInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          public void onComplete(java.util.List<java.lang.String> o) {
+            getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27915,7 +28047,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            cloneApplicationInterface_result result = new cloneApplicationInterface_result();
+            getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -27959,25 +28091,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, cloneApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.cloneApplicationInterface(args.authzToken, args.existingAppInterfaceID, args.newApplicationName, args.gatewayId,resultHandler);
+      public void start(I iface, getAppModuleDeployedResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAppModuleDeployedResources(args.authzToken, args.appModuleId,resultHandler);
       }
     }
 
-    public static class getApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationInterface_args, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> {
-      public getApplicationInterface() {
-        super("getApplicationInterface");
+    public static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args, java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> {
+      public getApplicationDeploymentsForAppModuleAndGroupResourceProfile() {
+        super("getApplicationDeploymentsForAppModuleAndGroupResourceProfile");
       }
 
-      public getApplicationInterface_args getEmptyArgsInstance() {
-        return new getApplicationInterface_args();
+      public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args getEmptyArgsInstance() {
+        return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription o) {
-            getApplicationInterface_result result = new getApplicationInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
+            getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result result = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -27992,7 +28124,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationInterface_result result = new getApplicationInterface_result();
+            getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result result = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28036,27 +28168,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationInterface(args.authzToken, args.appInterfaceId,resultHandler);
+      public void start(I iface, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationDeploymentsForAppModuleAndGroupResourceProfile(args.authzToken, args.appModuleId, args.groupResourceProfileId,resultHandler);
       }
     }
 
-    public static class updateApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationInterface_args, java.lang.Boolean> {
-      public updateApplicationInterface() {
-        super("updateApplicationInterface");
+    public static class registerApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerApplicationInterface_args, java.lang.String> {
+      public registerApplicationInterface() {
+        super("registerApplicationInterface");
       }
 
-      public updateApplicationInterface_args getEmptyArgsInstance() {
-        return new updateApplicationInterface_args();
+      public registerApplicationInterface_args getEmptyArgsInstance() {
+        return new registerApplicationInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateApplicationInterface_result result = new updateApplicationInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerApplicationInterface_result result = new registerApplicationInterface_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28070,7 +28201,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateApplicationInterface_result result = new updateApplicationInterface_result();
+            registerApplicationInterface_result result = new registerApplicationInterface_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28114,27 +28245,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateApplicationInterface(args.authzToken, args.appInterfaceId, args.applicationInterface,resultHandler);
+      public void start(I iface, registerApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerApplicationInterface(args.authzToken, args.gatewayId, args.applicationInterface,resultHandler);
       }
     }
 
-    public static class deleteApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationInterface_args, java.lang.Boolean> {
-      public deleteApplicationInterface() {
-        super("deleteApplicationInterface");
+    public static class cloneApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cloneApplicationInterface_args, java.lang.String> {
+      public cloneApplicationInterface() {
+        super("cloneApplicationInterface");
       }
 
-      public deleteApplicationInterface_args getEmptyArgsInstance() {
-        return new deleteApplicationInterface_args();
+      public cloneApplicationInterface_args getEmptyArgsInstance() {
+        return new cloneApplicationInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteApplicationInterface_result result = new deleteApplicationInterface_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            cloneApplicationInterface_result result = new cloneApplicationInterface_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28148,7 +28278,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteApplicationInterface_result result = new deleteApplicationInterface_result();
+            cloneApplicationInterface_result result = new cloneApplicationInterface_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28192,25 +28322,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteApplicationInterface(args.authzToken, args.appInterfaceId,resultHandler);
+      public void start(I iface, cloneApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.cloneApplicationInterface(args.authzToken, args.existingAppInterfaceID, args.newApplicationName, args.gatewayId,resultHandler);
       }
     }
 
-    public static class getAllApplicationInterfaceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationInterfaceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
-      public getAllApplicationInterfaceNames() {
-        super("getAllApplicationInterfaceNames");
+    public static class getApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationInterface_args, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> {
+      public getApplicationInterface() {
+        super("getApplicationInterface");
       }
 
-      public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
-        return new getAllApplicationInterfaceNames_args();
+      public getApplicationInterface_args getEmptyArgsInstance() {
+        return new getApplicationInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
-          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
-            getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription o) {
+            getApplicationInterface_result result = new getApplicationInterface_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28225,7 +28355,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
+            getApplicationInterface_result result = new getApplicationInterface_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28269,26 +28399,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllApplicationInterfaceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllApplicationInterfaceNames(args.authzToken, args.gatewayId,resultHandler);
+      public void start(I iface, getApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationInterface(args.authzToken, args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class getAllApplicationInterfaces<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationInterfaces_args, java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> {
-      public getAllApplicationInterfaces() {
-        super("getAllApplicationInterfaces");
+    public static class updateApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateApplicationInterface_args, java.lang.Boolean> {
+      public updateApplicationInterface() {
+        super("updateApplicationInterface");
       }
 
-      public getAllApplicationInterfaces_args getEmptyArgsInstance() {
-        return new getAllApplicationInterfaces_args();
+      public updateApplicationInterface_args getEmptyArgsInstance() {
+        return new updateApplicationInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> o) {
-            getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateApplicationInterface_result result = new updateApplicationInterface_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28302,7 +28433,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
+            updateApplicationInterface_result result = new updateApplicationInterface_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28346,26 +28477,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllApplicationInterfaces_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllApplicationInterfaces(args.authzToken, args.gatewayId,resultHandler);
+      public void start(I iface, updateApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateApplicationInterface(args.authzToken, args.appInterfaceId, args.applicationInterface,resultHandler);
       }
     }
 
-    public static class getApplicationInputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationInputs_args, java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> {
-      public getApplicationInputs() {
-        super("getApplicationInputs");
+    public static class deleteApplicationInterface<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteApplicationInterface_args, java.lang.Boolean> {
+      public deleteApplicationInterface() {
+        super("deleteApplicationInterface");
       }
 
-      public getApplicationInputs_args getEmptyArgsInstance() {
-        return new getApplicationInputs_args();
+      public deleteApplicationInterface_args getEmptyArgsInstance() {
+        return new deleteApplicationInterface_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> o) {
-            getApplicationInputs_result result = new getApplicationInputs_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteApplicationInterface_result result = new deleteApplicationInterface_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28379,7 +28511,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationInputs_result result = new getApplicationInputs_result();
+            deleteApplicationInterface_result result = new deleteApplicationInterface_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28423,25 +28555,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getApplicationInputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationInputs(args.authzToken, args.appInterfaceId,resultHandler);
+      public void start(I iface, deleteApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteApplicationInterface(args.authzToken, args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class getApplicationOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
-      public getApplicationOutputs() {
-        super("getApplicationOutputs");
+    public static class getAllApplicationInterfaceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationInterfaceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
+      public getAllApplicationInterfaceNames() {
+        super("getAllApplicationInterfaceNames");
       }
 
-      public getApplicationOutputs_args getEmptyArgsInstance() {
-        return new getApplicationOutputs_args();
+      public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
+        return new getAllApplicationInterfaceNames_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
-            getApplicationOutputs_result result = new getApplicationOutputs_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
+            getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28456,7 +28588,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getApplicationOutputs_result result = new getApplicationOutputs_result();
+            getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28500,25 +28632,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getApplicationOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
-        iface.getApplicationOutputs(args.authzToken, args.appInterfaceId,resultHandler);
+      public void start(I iface, getAllApplicationInterfaceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllApplicationInterfaceNames(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class getAvailableAppInterfaceComputeResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAvailableAppInterfaceComputeResources_args, java.util.Map<java.lang.String,java.lang.String>> {
-      public getAvailableAppInterfaceComputeResources() {
-        super("getAvailableAppInterfaceComputeResources");
+    public static class getAllApplicationInterfaces<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllApplicationInterfaces_args, java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> {
+      public getAllApplicationInterfaces() {
+        super("getAllApplicationInterfaces");
       }
 
-      public getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
-        return new getAvailableAppInterfaceComputeResources_args();
+      public getAllApplicationInterfaces_args getEmptyArgsInstance() {
+        return new getAllApplicationInterfaces_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
-          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
-            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> o) {
+            getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28533,7 +28665,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
+            getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28577,25 +28709,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAvailableAppInterfaceComputeResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAvailableAppInterfaceComputeResources(args.authzToken, args.appInterfaceId,resultHandler);
+      public void start(I iface, getAllApplicationInterfaces_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllApplicationInterfaces(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
-    public static class registerComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerComputeResource_args, java.lang.String> {
-      public registerComputeResource() {
-        super("registerComputeResource");
+    public static class getApplicationInputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationInputs_args, java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> {
+      public getApplicationInputs() {
+        super("getApplicationInputs");
       }
 
-      public registerComputeResource_args getEmptyArgsInstance() {
-        return new registerComputeResource_args();
+      public getApplicationInputs_args getEmptyArgsInstance() {
+        return new getApplicationInputs_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerComputeResource_result result = new registerComputeResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> o) {
+            getApplicationInputs_result result = new getApplicationInputs_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28610,7 +28742,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerComputeResource_result result = new registerComputeResource_result();
+            getApplicationInputs_result result = new getApplicationInputs_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28654,25 +28786,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, registerComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerComputeResource(args.authzToken, args.computeResourceDescription,resultHandler);
+      public void start(I iface, getApplicationInputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationInputs(args.authzToken, args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class getComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getComputeResource_args, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> {
-      public getComputeResource() {
-        super("getComputeResource");
+    public static class getApplicationOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getApplicationOutputs_args, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> {
+      public getApplicationOutputs() {
+        super("getApplicationOutputs");
       }
 
-      public getComputeResource_args getEmptyArgsInstance() {
-        return new getComputeResource_args();
+      public getApplicationOutputs_args getEmptyArgsInstance() {
+        return new getApplicationOutputs_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription o) {
-            getComputeResource_result result = new getComputeResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
+            getApplicationOutputs_result result = new getApplicationOutputs_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28687,7 +28819,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getComputeResource_result result = new getComputeResource_result();
+            getApplicationOutputs_result result = new getApplicationOutputs_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28731,25 +28863,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> resultHandler) throws org.apache.thrift.TException {
-        iface.getComputeResource(args.authzToken, args.computeResourceId,resultHandler);
+      public void start(I iface, getApplicationOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
+        iface.getApplicationOutputs(args.authzToken, args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class getAllComputeResourceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllComputeResourceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
-      public getAllComputeResourceNames() {
-        super("getAllComputeResourceNames");
+    public static class getAvailableAppInterfaceComputeResources<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAvailableAppInterfaceComputeResources_args, java.util.Map<java.lang.String,java.lang.String>> {
+      public getAvailableAppInterfaceComputeResources() {
+        super("getAvailableAppInterfaceComputeResources");
       }
 
-      public getAllComputeResourceNames_args getEmptyArgsInstance() {
-        return new getAllComputeResourceNames_args();
+      public getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
+        return new getAvailableAppInterfaceComputeResources_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
-            getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
+            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28764,7 +28896,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
+            getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28808,27 +28940,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllComputeResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllComputeResourceNames(args.authzToken,resultHandler);
+      public void start(I iface, getAvailableAppInterfaceComputeResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAvailableAppInterfaceComputeResources(args.authzToken, args.appInterfaceId,resultHandler);
       }
     }
 
-    public static class updateComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateComputeResource_args, java.lang.Boolean> {
-      public updateComputeResource() {
-        super("updateComputeResource");
+    public static class registerComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerComputeResource_args, java.lang.String> {
+      public registerComputeResource() {
+        super("registerComputeResource");
       }
 
-      public updateComputeResource_args getEmptyArgsInstance() {
-        return new updateComputeResource_args();
+      public registerComputeResource_args getEmptyArgsInstance() {
+        return new registerComputeResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateComputeResource_result result = new updateComputeResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerComputeResource_result result = new registerComputeResource_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28842,7 +28973,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateComputeResource_result result = new updateComputeResource_result();
+            registerComputeResource_result result = new registerComputeResource_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28886,27 +29017,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateComputeResource(args.authzToken, args.computeResourceId, args.computeResourceDescription,resultHandler);
+      public void start(I iface, registerComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerComputeResource(args.authzToken, args.computeResourceDescription,resultHandler);
       }
     }
 
-    public static class deleteComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteComputeResource_args, java.lang.Boolean> {
-      public deleteComputeResource() {
-        super("deleteComputeResource");
+    public static class getComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getComputeResource_args, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> {
+      public getComputeResource() {
+        super("getComputeResource");
       }
 
-      public deleteComputeResource_args getEmptyArgsInstance() {
-        return new deleteComputeResource_args();
+      public getComputeResource_args getEmptyArgsInstance() {
+        return new getComputeResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteComputeResource_result result = new deleteComputeResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription o) {
+            getComputeResource_result result = new getComputeResource_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -28920,7 +29050,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteComputeResource_result result = new deleteComputeResource_result();
+            getComputeResource_result result = new getComputeResource_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -28964,25 +29094,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteComputeResource(args.authzToken, args.computeResourceId,resultHandler);
+      public void start(I iface, getComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> resultHandler) throws org.apache.thrift.TException {
+        iface.getComputeResource(args.authzToken, args.computeResourceId,resultHandler);
       }
     }
 
-    public static class registerStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerStorageResource_args, java.lang.String> {
-      public registerStorageResource() {
-        super("registerStorageResource");
+    public static class getAllComputeResourceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllComputeResourceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
+      public getAllComputeResourceNames() {
+        super("getAllComputeResourceNames");
       }
 
-      public registerStorageResource_args getEmptyArgsInstance() {
-        return new registerStorageResource_args();
+      public getAllComputeResourceNames_args getEmptyArgsInstance() {
+        return new getAllComputeResourceNames_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            registerStorageResource_result result = new registerStorageResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
+            getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -28997,7 +29127,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            registerStorageResource_result result = new registerStorageResource_result();
+            getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29041,26 +29171,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, registerStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.registerStorageResource(args.authzToken, args.storageResourceDescription,resultHandler);
+      public void start(I iface, getAllComputeResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllComputeResourceNames(args.authzToken,resultHandler);
       }
     }
 
-    public static class getStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getStorageResource_args, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> {
-      public getStorageResource() {
-        super("getStorageResource");
+    public static class updateComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateComputeResource_args, java.lang.Boolean> {
+      public updateComputeResource() {
+        super("updateComputeResource");
       }
 
-      public getStorageResource_args getEmptyArgsInstance() {
-        return new getStorageResource_args();
+      public updateComputeResource_args getEmptyArgsInstance() {
+        return new updateComputeResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription o) {
-            getStorageResource_result result = new getStorageResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateComputeResource_result result = new updateComputeResource_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29074,7 +29205,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getStorageResource_result result = new getStorageResource_result();
+            updateComputeResource_result result = new updateComputeResource_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29118,26 +29249,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> resultHandler) throws org.apache.thrift.TException {
-        iface.getStorageResource(args.authzToken, args.storageResourceId,resultHandler);
+      public void start(I iface, updateComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateComputeResource(args.authzToken, args.computeResourceId, args.computeResourceDescription,resultHandler);
       }
     }
 
-    public static class getAllStorageResourceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllStorageResourceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
-      public getAllStorageResourceNames() {
-        super("getAllStorageResourceNames");
+    public static class deleteComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteComputeResource_args, java.lang.Boolean> {
+      public deleteComputeResource() {
+        super("deleteComputeResource");
       }
 
-      public getAllStorageResourceNames_args getEmptyArgsInstance() {
-        return new getAllStorageResourceNames_args();
+      public deleteComputeResource_args getEmptyArgsInstance() {
+        return new deleteComputeResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
-          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
-            getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteComputeResource_result result = new deleteComputeResource_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29151,7 +29283,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
+            deleteComputeResource_result result = new deleteComputeResource_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29195,27 +29327,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getAllStorageResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllStorageResourceNames(args.authzToken,resultHandler);
+      public void start(I iface, deleteComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteComputeResource(args.authzToken, args.computeResourceId,resultHandler);
       }
     }
 
-    public static class updateStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateStorageResource_args, java.lang.Boolean> {
-      public updateStorageResource() {
-        super("updateStorageResource");
+    public static class registerStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerStorageResource_args, java.lang.String> {
+      public registerStorageResource() {
+        super("registerStorageResource");
       }
 
-      public updateStorageResource_args getEmptyArgsInstance() {
-        return new updateStorageResource_args();
+      public registerStorageResource_args getEmptyArgsInstance() {
+        return new registerStorageResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateStorageResource_result result = new updateStorageResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            registerStorageResource_result result = new registerStorageResource_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29229,7 +29360,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateStorageResource_result result = new updateStorageResource_result();
+            registerStorageResource_result result = new registerStorageResource_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29273,27 +29404,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateStorageResource(args.authzToken, args.storageResourceId, args.storageResourceDescription,resultHandler);
+      public void start(I iface, registerStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.registerStorageResource(args.authzToken, args.storageResourceDescription,resultHandler);
       }
     }
 
-    public static class deleteStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteStorageResource_args, java.lang.Boolean> {
-      public deleteStorageResource() {
-        super("deleteStorageResource");
+    public static class getStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getStorageResource_args, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> {
+      public getStorageResource() {
+        super("getStorageResource");
       }
 
-      public deleteStorageResource_args getEmptyArgsInstance() {
-        return new deleteStorageResource_args();
+      public getStorageResource_args getEmptyArgsInstance() {
+        return new getStorageResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteStorageResource_result result = new deleteStorageResource_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription o) {
+            getStorageResource_result result = new getStorageResource_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29307,7 +29437,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteStorageResource_result result = new deleteStorageResource_result();
+            getStorageResource_result result = new getStorageResource_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29351,25 +29481,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, deleteStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteStorageResource(args.authzToken, args.storageResourceId,resultHandler);
+      public void start(I iface, getStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> resultHandler) throws org.apache.thrift.TException {
+        iface.getStorageResource(args.authzToken, args.storageResourceId,resultHandler);
       }
     }
 
-    public static class addLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalSubmissionDetails_args, java.lang.String> {
-      public addLocalSubmissionDetails() {
-        super("addLocalSubmissionDetails");
+    public static class getAllStorageResourceNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllStorageResourceNames_args, java.util.Map<java.lang.String,java.lang.String>> {
+      public getAllStorageResourceNames() {
+        super("getAllStorageResourceNames");
       }
 
-      public addLocalSubmissionDetails_args getEmptyArgsInstance() {
-        return new addLocalSubmissionDetails_args();
+      public getAllStorageResourceNames_args getEmptyArgsInstance() {
+        return new getAllStorageResourceNames_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
+            getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -29384,7 +29514,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
+            getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29428,25 +29558,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addLocalSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.localSubmission,resultHandler);
+      public void start(I iface, getAllStorageResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllStorageResourceNames(args.authzToken,resultHandler);
       }
     }
 
-    public static class updateLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalSubmissionDetails_args, java.lang.Boolean> {
-      public updateLocalSubmissionDetails() {
-        super("updateLocalSubmissionDetails");
+    public static class updateStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateStorageResource_args, java.lang.Boolean> {
+      public updateStorageResource() {
+        super("updateStorageResource");
       }
 
-      public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateLocalSubmissionDetails_args();
+      public updateStorageResource_args getEmptyArgsInstance() {
+        return new updateStorageResource_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
+            updateStorageResource_result result = new updateStorageResource_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -29462,7 +29592,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
+            updateStorageResource_result result = new updateStorageResource_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29506,26 +29636,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateLocalSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.localSubmission,resultHandler);
+      public void start(I iface, updateStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateStorageResource(args.authzToken, args.storageResourceId, args.storageResourceDescription,resultHandler);
       }
     }
 
-    public static class getLocalJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> {
-      public getLocalJobSubmission() {
-        super("getLocalJobSubmission");
+    public static class deleteStorageResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteStorageResource_args, java.lang.Boolean> {
+      public deleteStorageResource() {
+        super("deleteStorageResource");
       }
 
-      public getLocalJobSubmission_args getEmptyArgsInstance() {
-        return new getLocalJobSubmission_args();
+      public deleteStorageResource_args getEmptyArgsInstance() {
+        return new deleteStorageResource_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission o) {
-            getLocalJobSubmission_result result = new getLocalJobSubmission_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteStorageResource_result result = new deleteStorageResource_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29539,7 +29670,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getLocalJobSubmission_result result = new getLocalJobSubmission_result();
+            deleteStorageResource_result result = new deleteStorageResource_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29583,25 +29714,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getLocalJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> resultHandler) throws org.apache.thrift.TException {
-        iface.getLocalJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
+      public void start(I iface, deleteStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteStorageResource(args.authzToken, args.storageResourceId,resultHandler);
       }
     }
 
-    public static class addSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHJobSubmissionDetails_args, java.lang.String> {
-      public addSSHJobSubmissionDetails() {
-        super("addSSHJobSubmissionDetails");
+    public static class addLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalSubmissionDetails_args, java.lang.String> {
+      public addLocalSubmissionDetails() {
+        super("addLocalSubmissionDetails");
       }
 
-      public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addSSHJobSubmissionDetails_args();
+      public addLocalSubmissionDetails_args getEmptyArgsInstance() {
+        return new addLocalSubmissionDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
+            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -29616,7 +29747,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
+            addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29660,26 +29791,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addSSHJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
+      public void start(I iface, addLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addLocalSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.localSubmission,resultHandler);
       }
     }
 
-    public static class addSSHForkJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHForkJobSubmissionDetails_args, java.lang.String> {
-      public addSSHForkJobSubmissionDetails() {
-        super("addSSHForkJobSubmissionDetails");
+    public static class updateLocalSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalSubmissionDetails_args, java.lang.Boolean> {
+      public updateLocalSubmissionDetails() {
+        super("updateLocalSubmissionDetails");
       }
 
-      public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addSSHForkJobSubmissionDetails_args();
+      public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateLocalSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -29693,7 +29825,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
+            updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29737,25 +29869,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addSSHForkJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addSSHForkJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
+      public void start(I iface, updateLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateLocalSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.localSubmission,resultHandler);
       }
     }
 
-    public static class getSSHJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSSHJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> {
-      public getSSHJobSubmission() {
-        super("getSSHJobSubmission");
+    public static class getLocalJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> {
+      public getLocalJobSubmission() {
+        super("getLocalJobSubmission");
       }
 
-      public getSSHJobSubmission_args getEmptyArgsInstance() {
-        return new getSSHJobSubmission_args();
+      public getLocalJobSubmission_args getEmptyArgsInstance() {
+        return new getLocalJobSubmission_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission o) {
-            getSSHJobSubmission_result result = new getSSHJobSubmission_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission o) {
+            getLocalJobSubmission_result result = new getLocalJobSubmission_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -29770,7 +29902,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getSSHJobSubmission_result result = new getSSHJobSubmission_result();
+            getLocalJobSubmission_result result = new getLocalJobSubmission_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29814,25 +29946,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getSSHJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> resultHandler) throws org.apache.thrift.TException {
-        iface.getSSHJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
+      public void start(I iface, getLocalJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> resultHandler) throws org.apache.thrift.TException {
+        iface.getLocalJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
       }
     }
 
-    public static class addUNICOREJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUNICOREJobSubmissionDetails_args, java.lang.String> {
-      public addUNICOREJobSubmissionDetails() {
-        super("addUNICOREJobSubmissionDetails");
+    public static class addSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHJobSubmissionDetails_args, java.lang.String> {
+      public addSSHJobSubmissionDetails() {
+        super("addSSHJobSubmissionDetails");
       }
 
-      public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addUNICOREJobSubmissionDetails_args();
+      public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addSSHJobSubmissionDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
+            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -29847,7 +29979,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
+            addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29891,25 +30023,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addUNICOREJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addUNICOREJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.unicoreJobSubmission,resultHandler);
+      public void start(I iface, addSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addSSHJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
       }
     }
 
-    public static class getUnicoreJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUnicoreJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> {
-      public getUnicoreJobSubmission() {
-        super("getUnicoreJobSubmission");
+    public static class addSSHForkJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSSHForkJobSubmissionDetails_args, java.lang.String> {
+      public addSSHForkJobSubmissionDetails() {
+        super("addSSHForkJobSubmissionDetails");
       }
 
-      public getUnicoreJobSubmission_args getEmptyArgsInstance() {
-        return new getUnicoreJobSubmission_args();
+      public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addSSHForkJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission o) {
-            getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -29924,7 +30056,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
+            addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -29968,25 +30100,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getUnicoreJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> resultHandler) throws org.apache.thrift.TException {
-        iface.getUnicoreJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
+      public void start(I iface, addSSHForkJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addSSHForkJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
       }
     }
 
-    public static class addCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addCloudJobSubmissionDetails_args, java.lang.String> {
-      public addCloudJobSubmissionDetails() {
-        super("addCloudJobSubmissionDetails");
+    public static class getSSHJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSSHJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> {
+      public getSSHJobSubmission() {
+        super("getSSHJobSubmission");
       }
 
-      public addCloudJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new addCloudJobSubmissionDetails_args();
+      public getSSHJobSubmission_args getEmptyArgsInstance() {
+        return new getSSHJobSubmission_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission o) {
+            getSSHJobSubmission_result result = new getSSHJobSubmission_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -30001,7 +30133,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
+            getSSHJobSubmission_result result = new getSSHJobSubmission_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30045,25 +30177,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addCloudJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.cloudSubmission,resultHandler);
+      public void start(I iface, getSSHJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> resultHandler) throws org.apache.thrift.TException {
+        iface.getSSHJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
       }
     }
 
-    public static class getCloudJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getCloudJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> {
-      public getCloudJobSubmission() {
-        super("getCloudJobSubmission");
+    public static class addUNICOREJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUNICOREJobSubmissionDetails_args, java.lang.String> {
+      public addUNICOREJobSubmissionDetails() {
+        super("addUNICOREJobSubmissionDetails");
       }
 
-      public getCloudJobSubmission_args getEmptyArgsInstance() {
-        return new getCloudJobSubmission_args();
+      public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addUNICOREJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission>() { 
-          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission o) {
-            getCloudJobSubmission_result result = new getCloudJobSubmission_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -30078,7 +30210,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getCloudJobSubmission_result result = new getCloudJobSubmission_result();
+            addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30122,27 +30254,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getCloudJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> resultHandler) throws org.apache.thrift.TException {
-        iface.getCloudJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
+      public void start(I iface, addUNICOREJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addUNICOREJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.unicoreJobSubmission,resultHandler);
       }
     }
 
-    public static class updateSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSSHJobSubmissionDetails_args, java.lang.Boolean> {
-      public updateSSHJobSubmissionDetails() {
-        super("updateSSHJobSubmissionDetails");
+    public static class getUnicoreJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUnicoreJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> {
+      public getUnicoreJobSubmission() {
+        super("getUnicoreJobSubmission");
       }
 
-      public updateSSHJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateSSHJobSubmissionDetails_args();
+      public getUnicoreJobSubmission_args getEmptyArgsInstance() {
+        return new getUnicoreJobSubmission_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission o) {
+            getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30156,7 +30287,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
+            getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30200,27 +30331,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateSSHJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
+      public void start(I iface, getUnicoreJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> resultHandler) throws org.apache.thrift.TException {
+        iface.getUnicoreJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
       }
     }
 
-    public static class updateCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateCloudJobSubmissionDetails_args, java.lang.Boolean> {
-      public updateCloudJobSubmissionDetails() {
-        super("updateCloudJobSubmissionDetails");
+    public static class addCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addCloudJobSubmissionDetails_args, java.lang.String> {
+      public addCloudJobSubmissionDetails() {
+        super("addCloudJobSubmissionDetails");
       }
 
-      public updateCloudJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateCloudJobSubmissionDetails_args();
+      public addCloudJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new addCloudJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30234,7 +30364,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
+            addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30278,27 +30408,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateCloudJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
+      public void start(I iface, addCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addCloudJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.cloudSubmission,resultHandler);
       }
     }
 
-    public static class updateUnicoreJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreJobSubmissionDetails_args, java.lang.Boolean> {
-      public updateUnicoreJobSubmissionDetails() {
-        super("updateUnicoreJobSubmissionDetails");
+    public static class getCloudJobSubmission<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getCloudJobSubmission_args, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> {
+      public getCloudJobSubmission() {
+        super("getCloudJobSubmission");
       }
 
-      public updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
-        return new updateUnicoreJobSubmissionDetails_args();
+      public getCloudJobSubmission_args getEmptyArgsInstance() {
+        return new getCloudJobSubmission_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission o) {
+            getCloudJobSubmission_result result = new getCloudJobSubmission_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30312,7 +30441,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
+            getCloudJobSubmission_result result = new getCloudJobSubmission_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30356,26 +30485,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateUnicoreJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateUnicoreJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.unicoreJobSubmission,resultHandler);
+      public void start(I iface, getCloudJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> resultHandler) throws org.apache.thrift.TException {
+        iface.getCloudJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
       }
     }
 
-    public static class addLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalDataMovementDetails_args, java.lang.String> {
-      public addLocalDataMovementDetails() {
-        super("addLocalDataMovementDetails");
+    public static class updateSSHJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSSHJobSubmissionDetails_args, java.lang.Boolean> {
+      public updateSSHJobSubmissionDetails() {
+        super("updateSSHJobSubmissionDetails");
       }
 
-      public addLocalDataMovementDetails_args getEmptyArgsInstance() {
-        return new addLocalDataMovementDetails_args();
+      public updateSSHJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateSSHJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30389,7 +30519,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
+            updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30433,25 +30563,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addLocalDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.localDataMovement,resultHandler);
+      public void start(I iface, updateSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateSSHJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
       }
     }
 
-    public static class updateLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalDataMovementDetails_args, java.lang.Boolean> {
-      public updateLocalDataMovementDetails() {
-        super("updateLocalDataMovementDetails");
+    public static class updateCloudJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateCloudJobSubmissionDetails_args, java.lang.Boolean> {
+      public updateCloudJobSubmissionDetails() {
+        super("updateCloudJobSubmissionDetails");
       }
 
-      public updateLocalDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateLocalDataMovementDetails_args();
+      public updateCloudJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateCloudJobSubmissionDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
+            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -30467,7 +30597,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
+            updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30511,26 +30641,27 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateLocalDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.localDataMovement,resultHandler);
+      public void start(I iface, updateCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateCloudJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
       }
     }
 
-    public static class getLocalDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalDataMovement_args, org.apache.airavata.model.data.movement.LOCALDataMovement> {
-      public getLocalDataMovement() {
-        super("getLocalDataMovement");
+    public static class updateUnicoreJobSubmissionDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreJobSubmissionDetails_args, java.lang.Boolean> {
+      public updateUnicoreJobSubmissionDetails() {
+        super("updateUnicoreJobSubmissionDetails");
       }
 
-      public getLocalDataMovement_args getEmptyArgsInstance() {
-        return new getLocalDataMovement_args();
+      public updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
+        return new updateUnicoreJobSubmissionDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement>() { 
-          public void onComplete(org.apache.airavata.model.data.movement.LOCALDataMovement o) {
-            getLocalDataMovement_result result = new getLocalDataMovement_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -30544,7 +30675,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getLocalDataMovement_result result = new getLocalDataMovement_result();
+            updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30588,25 +30719,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getLocalDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> resultHandler) throws org.apache.thrift.TException {
-        iface.getLocalDataMovement(args.authzToken, args.dataMovementId,resultHandler);
+      public void start(I iface, updateUnicoreJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateUnicoreJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.unicoreJobSubmission,resultHandler);
       }
     }
 
-    public static class addSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSCPDataMovementDetails_args, java.lang.String> {
-      public addSCPDataMovementDetails() {
-        super("addSCPDataMovementDetails");
+    public static class addLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addLocalDataMovementDetails_args, java.lang.String> {
+      public addLocalDataMovementDetails() {
+        super("addLocalDataMovementDetails");
       }
 
-      public addSCPDataMovementDetails_args getEmptyArgsInstance() {
-        return new addSCPDataMovementDetails_args();
+      public addLocalDataMovementDetails_args getEmptyArgsInstance() {
+        return new addLocalDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
+            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -30621,7 +30752,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
+            addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30665,25 +30796,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addSCPDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.scpDataMovement,resultHandler);
+      public void start(I iface, addLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addLocalDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.localDataMovement,resultHandler);
       }
     }
 
-    public static class updateSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSCPDataMovementDetails_args, java.lang.Boolean> {
-      public updateSCPDataMovementDetails() {
-        super("updateSCPDataMovementDetails");
+    public static class updateLocalDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateLocalDataMovementDetails_args, java.lang.Boolean> {
+      public updateLocalDataMovementDetails() {
+        super("updateLocalDataMovementDetails");
       }
 
-      public updateSCPDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateSCPDataMovementDetails_args();
+      public updateLocalDataMovementDetails_args getEmptyArgsInstance() {
+        return new updateLocalDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
+            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -30699,7 +30830,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
+            updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30743,25 +30874,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateSCPDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.scpDataMovement,resultHandler);
+      public void start(I iface, updateLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateLocalDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.localDataMovement,resultHandler);
       }
     }
 
-    public static class getSCPDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSCPDataMovement_args, org.apache.airavata.model.data.movement.SCPDataMovement> {
-      public getSCPDataMovement() {
-        super("getSCPDataMovement");
+    public static class getLocalDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getLocalDataMovement_args, org.apache.airavata.model.data.movement.LOCALDataMovement> {
+      public getLocalDataMovement() {
+        super("getLocalDataMovement");
       }
 
-      public getSCPDataMovement_args getEmptyArgsInstance() {
-        return new getSCPDataMovement_args();
+      public getLocalDataMovement_args getEmptyArgsInstance() {
+        return new getLocalDataMovement_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement>() { 
-          public void onComplete(org.apache.airavata.model.data.movement.SCPDataMovement o) {
-            getSCPDataMovement_result result = new getSCPDataMovement_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.data.movement.LOCALDataMovement o) {
+            getLocalDataMovement_result result = new getLocalDataMovement_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -30776,7 +30907,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getSCPDataMovement_result result = new getSCPDataMovement_result();
+            getLocalDataMovement_result result = new getLocalDataMovement_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30820,25 +30951,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getSCPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> resultHandler) throws org.apache.thrift.TException {
-        iface.getSCPDataMovement(args.authzToken, args.dataMovementId,resultHandler);
+      public void start(I iface, getLocalDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> resultHandler) throws org.apache.thrift.TException {
+        iface.getLocalDataMovement(args.authzToken, args.dataMovementId,resultHandler);
       }
     }
 
-    public static class addUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUnicoreDataMovementDetails_args, java.lang.String> {
-      public addUnicoreDataMovementDetails() {
-        super("addUnicoreDataMovementDetails");
+    public static class addSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSCPDataMovementDetails_args, java.lang.String> {
+      public addSCPDataMovementDetails() {
+        super("addSCPDataMovementDetails");
       }
 
-      public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
-        return new addUnicoreDataMovementDetails_args();
+      public addSCPDataMovementDetails_args getEmptyArgsInstance() {
+        return new addSCPDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
+            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -30853,7 +30984,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
+            addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30897,25 +31028,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addUnicoreDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement,resultHandler);
+      public void start(I iface, addSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addSCPDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.scpDataMovement,resultHandler);
       }
     }
 
-    public static class updateUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreDataMovementDetails_args, java.lang.Boolean> {
-      public updateUnicoreDataMovementDetails() {
-        super("updateUnicoreDataMovementDetails");
+    public static class updateSCPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateSCPDataMovementDetails_args, java.lang.Boolean> {
+      public updateSCPDataMovementDetails() {
+        super("updateSCPDataMovementDetails");
       }
 
-      public updateUnicoreDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateUnicoreDataMovementDetails_args();
+      public updateSCPDataMovementDetails_args getEmptyArgsInstance() {
+        return new updateSCPDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
+            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -30931,7 +31062,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
+            updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -30975,25 +31106,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateUnicoreDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.unicoreDataMovement,resultHandler);
+      public void start(I iface, updateSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateSCPDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.scpDataMovement,resultHandler);
       }
     }
 
-    public static class getUnicoreDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUnicoreDataMovement_args, org.apache.airavata.model.data.movement.UnicoreDataMovement> {
-      public getUnicoreDataMovement() {
-        super("getUnicoreDataMovement");
+    public static class getSCPDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSCPDataMovement_args, org.apache.airavata.model.data.movement.SCPDataMovement> {
+      public getSCPDataMovement() {
+        super("getSCPDataMovement");
       }
 
-      public getUnicoreDataMovement_args getEmptyArgsInstance() {
-        return new getUnicoreDataMovement_args();
+      public getSCPDataMovement_args getEmptyArgsInstance() {
+        return new getSCPDataMovement_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement>() { 
-          public void onComplete(org.apache.airavata.model.data.movement.UnicoreDataMovement o) {
-            getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.data.movement.SCPDataMovement o) {
+            getSCPDataMovement_result result = new getSCPDataMovement_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -31008,7 +31139,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
+            getSCPDataMovement_result result = new getSCPDataMovement_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -31052,25 +31183,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getUnicoreDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> resultHandler) throws org.apache.thrift.TException {
-        iface.getUnicoreDataMovement(args.authzToken, args.dataMovementId,resultHandler);
+      public void start(I iface, getSCPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> resultHandler) throws org.apache.thrift.TException {
+        iface.getSCPDataMovement(args.authzToken, args.dataMovementId,resultHandler);
       }
     }
 
-    public static class addGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGridFTPDataMovementDetails_args, java.lang.String> {
-      public addGridFTPDataMovementDetails() {
-        super("addGridFTPDataMovementDetails");
+    public static class addUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addUnicoreDataMovementDetails_args, java.lang.String> {
+      public addUnicoreDataMovementDetails() {
+        super("addUnicoreDataMovementDetails");
       }
 
-      public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
-        return new addGridFTPDataMovementDetails_args();
+      public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
+        return new addUnicoreDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
           public void onComplete(java.lang.String o) {
-            addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
+            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -31085,7 +31216,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
+            addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -31129,25 +31260,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, addGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.addGridFTPDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement,resultHandler);
+      public void start(I iface, addUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addUnicoreDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement,resultHandler);
       }
     }
 
-    public static class updateGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGridFTPDataMovementDetails_args, java.lang.Boolean> {
-      public updateGridFTPDataMovementDetails() {
-        super("updateGridFTPDataMovementDetails");
+    public static class updateUnicoreDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateUnicoreDataMovementDetails_args, java.lang.Boolean> {
+      public updateUnicoreDataMovementDetails() {
+        super("updateUnicoreDataMovementDetails");
       }
 
-      public updateGridFTPDataMovementDetails_args getEmptyArgsInstance() {
-        return new updateGridFTPDataMovementDetails_args();
+      public updateUnicoreDataMovementDetails_args getEmptyArgsInstance() {
+        return new updateUnicoreDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
+            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31163,7 +31294,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
+            updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -31207,25 +31338,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, updateGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateGridFTPDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.gridFTPDataMovement,resultHandler);
+      public void start(I iface, updateUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateUnicoreDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.unicoreDataMovement,resultHandler);
       }
     }
 
-    public static class getGridFTPDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGridFTPDataMovement_args, org.apache.airavata.model.data.movement.GridFTPDataMovement> {
-      public getGridFTPDataMovement() {
-        super("getGridFTPDataMovement");
+    public static class getUnicoreDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUnicoreDataMovement_args, org.apache.airavata.model.data.movement.UnicoreDataMovement> {
+      public getUnicoreDataMovement() {
+        super("getUnicoreDataMovement");
       }
 
-      public getGridFTPDataMovement_args getEmptyArgsInstance() {
-        return new getGridFTPDataMovement_args();
+      public getUnicoreDataMovement_args getEmptyArgsInstance() {
+        return new getUnicoreDataMovement_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement>() { 
-          public void onComplete(org.apache.airavata.model.data.movement.GridFTPDataMovement o) {
-            getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.data.movement.UnicoreDataMovement o) {
+            getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -31240,7 +31371,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
+            getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -31284,27 +31415,26 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getGridFTPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> resultHandler) throws org.apache.thrift.TException {
-        iface.getGridFTPDataMovement(args.authzToken, args.dataMovementId,resultHandler);
+      public void start(I iface, getUnicoreDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> resultHandler) throws org.apache.thrift.TException {
+        iface.getUnicoreDataMovement(args.authzToken, args.dataMovementId,resultHandler);
       }
     }
 
-    public static class changeJobSubmissionPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriority_args, java.lang.Boolean> {
-      public changeJobSubmissionPriority() {
-        super("changeJobSubmissionPriority");
+    public static class addGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGridFTPDataMovementDetails_args, java.lang.String> {
+      public addGridFTPDataMovementDetails() {
+        super("addGridFTPDataMovementDetails");
       }
 
-      public changeJobSubmissionPriority_args getEmptyArgsInstance() {
-        return new changeJobSubmissionPriority_args();
+      public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
+        return new addGridFTPDataMovementDetails_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -31318,7 +31448,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
+            addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -31362,25 +31492,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, changeJobSubmissionPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.changeJobSubmissionPriority(args.authzToken, args.jobSubmissionInterfaceId, args.newPriorityOrder,resultHandler);
+      public void start(I iface, addGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.addGridFTPDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement,resultHandler);
       }
     }
 
-    public static class changeDataMovementPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriority_args, java.lang.Boolean> {
-      public changeDataMovementPriority() {
-        super("changeDataMovementPriority");
+    public static class updateGridFTPDataMovementDetails<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGridFTPDataMovementDetails_args, java.lang.Boolean> {
+      public updateGridFTPDataMovementDetails() {
+        super("updateGridFTPDataMovementDetails");
       }
 
-      public changeDataMovementPriority_args getEmptyArgsInstance() {
-        return new changeDataMovementPriority_args();
+      public updateGridFTPDataMovementDetails_args getEmptyArgsInstance() {
+        return new updateGridFTPDataMovementDetails_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            changeDataMovementPriority_result result = new changeDataMovementPriority_result();
+            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31396,7 +31526,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            changeDataMovementPriority_result result = new changeDataMovementPriority_result();
+            updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -31440,25 +31570,102 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, changeDataMovementPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.changeDataMovementPriority(args.authzToken, args.dataMovementInterfaceId, args.newPriorityOrder,resultHandler);
+      public void start(I iface, updateGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateGridFTPDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.gridFTPDataMovement,resultHandler);
       }
     }
 
-    public static class changeJobSubmissionPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriorities_args, java.lang.Boolean> {
-      public changeJobSubmissionPriorities() {
-        super("changeJobSubmissionPriorities");
+    public static class getGridFTPDataMovement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGridFTPDataMovement_args, org.apache.airavata.model.data.movement.GridFTPDataMovement> {
+      public getGridFTPDataMovement() {
+        super("getGridFTPDataMovement");
       }
 
-      public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
-        return new changeJobSubmissionPriorities_args();
+      public getGridFTPDataMovement_args getEmptyArgsInstance() {
+        return new getGridFTPDataMovement_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.data.movement.GridFTPDataMovement o) {
+            getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
+            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
+              result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
+              result.setIreIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
+              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
+              result.setAceIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
+              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
+              result.setAseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getGridFTPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> resultHandler) throws org.apache.thrift.TException {
+        iface.getGridFTPDataMovement(args.authzToken, args.dataMovementId,resultHandler);
+      }
+    }
+
+    public static class changeJobSubmissionPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriority_args, java.lang.Boolean> {
+      public changeJobSubmissionPriority() {
+        super("changeJobSubmissionPriority");
+      }
+
+      public changeJobSubmissionPriority_args getEmptyArgsInstance() {
+        return new changeJobSubmissionPriority_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
+            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31474,7 +31681,7 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
+            changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -31518,25 +31725,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, changeJobSubmissionPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.changeJobSubmissionPriorities(args.authzToken, args.jobSubmissionPriorityMap,resultHandler);
+      public void start(I iface, changeJobSubmissionPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.changeJobSubmissionPriority(args.authzToken, args.jobSubmissionInterfaceId, args.newPriorityOrder,resultHandler);
       }
     }
 
-    public static class changeDataMovementPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriorities_args, java.lang.Boolean> {
-      public changeDataMovementPriorities() {
-        super("changeDataMovementPriorities");
+    public static class changeDataMovementPriority<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriority_args, java.lang.Boolean> {
+      public changeDataMovementPriority() {
+        super("changeDataMovementPriority");
       }
 
-      public changeDataMovementPriorities_args getEmptyArgsInstance() {
-        return new changeDataMovementPriorities_args();
+      public changeDataMovementPriority_args getEmptyArgsInstance() {
+        return new changeDataMovementPriority_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
+            changeDataMovementPriority_result result = new changeDataMovementPriority_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -31552,7 +31759,163 @@ public class Airavata {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
+            changeDataMovementPriority_result result = new changeDataMovementPriority_result();
+            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
+              result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
+              result.setIreIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
+              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
+              result.setAceIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
+              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
+              result.setAseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, changeDataMovementPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.changeDataMovementPriority(args.authzToken, args.dataMovementInterfaceId, args.newPriorityOrder,resultHandler);
+      }
+    }
+
+    public static class changeJobSubmissionPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeJobSubmissionPriorities_args, java.lang.Boolean> {
+      public changeJobSubmissionPriorities() {
+        super("changeJobSubmissionPriorities");
+      }
+
+      public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
+        return new changeJobSubmissionPriorities_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
+            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
+              result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
+              result.setIreIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
+              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
+              result.setAceIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
+              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
+              result.setAseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, changeJobSubmissionPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.changeJobSubmissionPriorities(args.authzToken, args.jobSubmissionPriorityMap,resultHandler);
+      }
+    }
+
+    public static class changeDataMovementPriorities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, changeDataMovementPriorities_args, java.lang.Boolean> {
+      public changeDataMovementPriorities() {
+        super("changeDataMovementPriorities");
+      }
+
+      public changeDataMovementPriorities_args getEmptyArgsInstance() {
+        return new changeDataMovementPriorities_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
             if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
               result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
               result.setIreIsSet(true);
@@ -57791,25 +58154,33 @@ public class Airavata {
     }
   }
 
-  public static class deleteSSHPubKey_args implements org.apache.thrift.TBase<deleteSSHPubKey_args, deleteSSHPubKey_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteSSHPubKey_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteSSHPubKey_args");
+  public static class getCredentialSummary_args implements org.apache.thrift.TBase<getCredentialSummary_args, getCredentialSummary_args._Fields>, java.io.Serializable, Cloneable, Comparable<getCredentialSummary_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCredentialSummary_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_CRED_STORE_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataCredStoreToken", 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 TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I32, (short)2);
+    private static final org.apache.thrift.protocol.TField TOKEN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("tokenId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteSSHPubKey_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteSSHPubKey_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCredentialSummary_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCredentialSummary_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataCredStoreToken; // required
-    public java.lang.String gatewayId; // required
+    /**
+     * 
+     * @see org.apache.airavata.model.credential.store.SummaryType
+     */
+    public org.apache.airavata.model.credential.store.SummaryType type; // required
+    public java.lang.String tokenId; // 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_CRED_STORE_TOKEN((short)2, "airavataCredStoreToken"),
-      GATEWAY_ID((short)3, "gatewayId");
+      /**
+       * 
+       * @see org.apache.airavata.model.credential.store.SummaryType
+       */
+      TYPE((short)2, "type"),
+      TOKEN_ID((short)3, "tokenId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -57826,10 +58197,10 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // AIRAVATA_CRED_STORE_TOKEN
-            return AIRAVATA_CRED_STORE_TOKEN;
-          case 3: // GATEWAY_ID
-            return GATEWAY_ID;
+          case 2: // TYPE
+            return TYPE;
+          case 3: // TOKEN_ID
+            return TOKEN_ID;
           default:
             return null;
         }
@@ -57875,59 +58246,59 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.AIRAVATA_CRED_STORE_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("airavataCredStoreToken", 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, 
+      tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.credential.store.SummaryType.class)));
+      tmpMap.put(_Fields.TOKEN_ID, new org.apache.thrift.meta_data.FieldMetaData("tokenId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteSSHPubKey_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCredentialSummary_args.class, metaDataMap);
     }
 
-    public deleteSSHPubKey_args() {
+    public getCredentialSummary_args() {
     }
 
-    public deleteSSHPubKey_args(
+    public getCredentialSummary_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String airavataCredStoreToken,
-      java.lang.String gatewayId)
+      org.apache.airavata.model.credential.store.SummaryType type,
+      java.lang.String tokenId)
     {
       this();
       this.authzToken = authzToken;
-      this.airavataCredStoreToken = airavataCredStoreToken;
-      this.gatewayId = gatewayId;
+      this.type = type;
+      this.tokenId = tokenId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public deleteSSHPubKey_args(deleteSSHPubKey_args other) {
+    public getCredentialSummary_args(getCredentialSummary_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetAiravataCredStoreToken()) {
-        this.airavataCredStoreToken = other.airavataCredStoreToken;
+      if (other.isSetType()) {
+        this.type = other.type;
       }
-      if (other.isSetGatewayId()) {
-        this.gatewayId = other.gatewayId;
+      if (other.isSetTokenId()) {
+        this.tokenId = other.tokenId;
       }
     }
 
-    public deleteSSHPubKey_args deepCopy() {
-      return new deleteSSHPubKey_args(this);
+    public getCredentialSummary_args deepCopy() {
+      return new getCredentialSummary_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.airavataCredStoreToken = null;
-      this.gatewayId = null;
+      this.type = null;
+      this.tokenId = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteSSHPubKey_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getCredentialSummary_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -57947,51 +58318,59 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getAiravataCredStoreToken() {
-      return this.airavataCredStoreToken;
+    /**
+     * 
+     * @see org.apache.airavata.model.credential.store.SummaryType
+     */
+    public org.apache.airavata.model.credential.store.SummaryType getType() {
+      return this.type;
     }
 
-    public deleteSSHPubKey_args setAiravataCredStoreToken(java.lang.String airavataCredStoreToken) {
-      this.airavataCredStoreToken = airavataCredStoreToken;
+    /**
+     * 
+     * @see org.apache.airavata.model.credential.store.SummaryType
+     */
+    public getCredentialSummary_args setType(org.apache.airavata.model.credential.store.SummaryType type) {
+      this.type = type;
       return this;
     }
 
-    public void unsetAiravataCredStoreToken() {
-      this.airavataCredStoreToken = null;
+    public void unsetType() {
+      this.type = null;
     }
 
-    /** Returns true if field airavataCredStoreToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAiravataCredStoreToken() {
-      return this.airavataCredStoreToken != null;
+    /** Returns true if field type is set (has been assigned a value) and false otherwise */
+    public boolean isSetType() {
+      return this.type != null;
     }
 
-    public void setAiravataCredStoreTokenIsSet(boolean value) {
+    public void setTypeIsSet(boolean value) {
       if (!value) {
-        this.airavataCredStoreToken = null;
+        this.type = null;
       }
     }
 
-    public java.lang.String getGatewayId() {
-      return this.gatewayId;
+    public java.lang.String getTokenId() {
+      return this.tokenId;
     }
 
-    public deleteSSHPubKey_args setGatewayId(java.lang.String gatewayId) {
-      this.gatewayId = gatewayId;
+    public getCredentialSummary_args setTokenId(java.lang.String tokenId) {
+      this.tokenId = tokenId;
       return this;
     }
 
-    public void unsetGatewayId() {
-      this.gatewayId = null;
+    public void unsetTokenId() {
+      this.tokenId = 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 tokenId is set (has been assigned a value) and false otherwise */
+    public boolean isSetTokenId() {
+      return this.tokenId != null;
     }
 
-    public void setGatewayIdIsSet(boolean value) {
+    public void setTokenIdIsSet(boolean value) {
       if (!value) {
-        this.gatewayId = null;
+        this.tokenId = null;
       }
     }
 
@@ -58005,19 +58384,19 @@ public class Airavata {
         }
         break;
 
-      case AIRAVATA_CRED_STORE_TOKEN:
+      case TYPE:
         if (value == null) {
-          unsetAiravataCredStoreToken();
+          unsetType();
         } else {
-          setAiravataCredStoreToken((java.lang.String)value);
+          setType((org.apache.airavata.model.credential.store.SummaryType)value);
         }
         break;
 
-      case GATEWAY_ID:
+      case TOKEN_ID:
         if (value == null) {
-          unsetGatewayId();
+          unsetTokenId();
         } else {
-          setGatewayId((java.lang.String)value);
+          setTokenId((java.lang.String)value);
         }
         break;
 
@@ -58029,11 +58408,11 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case AIRAVATA_CRED_STORE_TOKEN:
-        return getAiravataCredStoreToken();
+      case TYPE:
+        return getType();
 
-      case GATEWAY_ID:
-        return getGatewayId();
+      case TOKEN_ID:
+        return getTokenId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -58048,10 +58427,10 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case AIRAVATA_CRED_STORE_TOKEN:
-        return isSetAiravataCredStoreToken();
-      case GATEWAY_ID:
-        return isSetGatewayId();
+      case TYPE:
+        return isSetType();
+      case TOKEN_ID:
+        return isSetTokenId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -58060,12 +58439,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof deleteSSHPubKey_args)
-        return this.equals((deleteSSHPubKey_args)that);
+      if (that instanceof getCredentialSummary_args)
+        return this.equals((getCredentialSummary_args)that);
       return false;
     }
 
-    public boolean equals(deleteSSHPubKey_args that) {
+    public boolean equals(getCredentialSummary_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -58080,21 +58459,21 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_airavataCredStoreToken = true && this.isSetAiravataCredStoreToken();
-      boolean that_present_airavataCredStoreToken = true && that.isSetAiravataCredStoreToken();
-      if (this_present_airavataCredStoreToken || that_present_airavataCredStoreToken) {
-        if (!(this_present_airavataCredStoreToken && that_present_airavataCredStoreToken))
+      boolean this_present_type = true && this.isSetType();
+      boolean that_present_type = true && that.isSetType();
+      if (this_present_type || that_present_type) {
+        if (!(this_present_type && that_present_type))
           return false;
-        if (!this.airavataCredStoreToken.equals(that.airavataCredStoreToken))
+        if (!this.type.equals(that.type))
           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))
+      boolean this_present_tokenId = true && this.isSetTokenId();
+      boolean that_present_tokenId = true && that.isSetTokenId();
+      if (this_present_tokenId || that_present_tokenId) {
+        if (!(this_present_tokenId && that_present_tokenId))
           return false;
-        if (!this.gatewayId.equals(that.gatewayId))
+        if (!this.tokenId.equals(that.tokenId))
           return false;
       }
 
@@ -58109,19 +58488,19 @@ public class Airavata {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetAiravataCredStoreToken()) ? 131071 : 524287);
-      if (isSetAiravataCredStoreToken())
-        hashCode = hashCode * 8191 + airavataCredStoreToken.hashCode();
+      hashCode = hashCode * 8191 + ((isSetType()) ? 131071 : 524287);
+      if (isSetType())
+        hashCode = hashCode * 8191 + type.getValue();
 
-      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
-      if (isSetGatewayId())
-        hashCode = hashCode * 8191 + gatewayId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetTokenId()) ? 131071 : 524287);
+      if (isSetTokenId())
+        hashCode = hashCode * 8191 + tokenId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(deleteSSHPubKey_args other) {
+    public int compareTo(getCredentialSummary_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -58138,22 +58517,22 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataCredStoreToken()).compareTo(other.isSetAiravataCredStoreToken());
+      lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetAiravataCredStoreToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataCredStoreToken, other.airavataCredStoreToken);
+      if (isSetType()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, other.type);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+      if (isSetTokenId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tokenId, other.tokenId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -58175,7 +58554,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteSSHPubKey_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getCredentialSummary_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -58186,19 +58565,19 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("airavataCredStoreToken:");
-      if (this.airavataCredStoreToken == null) {
+      sb.append("type:");
+      if (this.type == null) {
         sb.append("null");
       } else {
-        sb.append(this.airavataCredStoreToken);
+        sb.append(this.type);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
+      sb.append("tokenId:");
+      if (this.tokenId == null) {
         sb.append("null");
       } else {
-        sb.append(this.gatewayId);
+        sb.append(this.tokenId);
       }
       first = false;
       sb.append(")");
@@ -58210,11 +58589,11 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (airavataCredStoreToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataCredStoreToken' was not present! Struct: " + toString());
+      if (type == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'type' was not present! Struct: " + toString());
       }
-      if (gatewayId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
+      if (tokenId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'tokenId' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
       if (authzToken != null) {
@@ -58238,15 +58617,15 @@ public class Airavata {
       }
     }
 
-    private static class deleteSSHPubKey_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteSSHPubKey_argsStandardScheme getScheme() {
-        return new deleteSSHPubKey_argsStandardScheme();
+    private static class getCredentialSummary_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getCredentialSummary_argsStandardScheme getScheme() {
+        return new getCredentialSummary_argsStandardScheme();
       }
     }
 
-    private static class deleteSSHPubKey_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteSSHPubKey_args> {
+    private static class getCredentialSummary_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCredentialSummary_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getCredentialSummary_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -58265,18 +58644,18 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // AIRAVATA_CRED_STORE_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.airavataCredStoreToken = iprot.readString();
-                struct.setAiravataCredStoreTokenIsSet(true);
+            case 2: // TYPE
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.type = org.apache.airavata.model.credential.store.SummaryType.findByValue(iprot.readI32());
+                struct.setTypeIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // GATEWAY_ID
+            case 3: // TOKEN_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
+                struct.tokenId = iprot.readString();
+                struct.setTokenIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -58292,7 +58671,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getCredentialSummary_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -58301,14 +58680,14 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.airavataCredStoreToken != null) {
-          oprot.writeFieldBegin(AIRAVATA_CRED_STORE_TOKEN_FIELD_DESC);
-          oprot.writeString(struct.airavataCredStoreToken);
+        if (struct.type != null) {
+          oprot.writeFieldBegin(TYPE_FIELD_DESC);
+          oprot.writeI32(struct.type.getValue());
           oprot.writeFieldEnd();
         }
-        if (struct.gatewayId != null) {
-          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-          oprot.writeString(struct.gatewayId);
+        if (struct.tokenId != null) {
+          oprot.writeFieldBegin(TOKEN_ID_FIELD_DESC);
+          oprot.writeString(struct.tokenId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -58317,32 +58696,32 @@ public class Airavata {
 
     }
 
-    private static class deleteSSHPubKey_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteSSHPubKey_argsTupleScheme getScheme() {
-        return new deleteSSHPubKey_argsTupleScheme();
+    private static class getCredentialSummary_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getCredentialSummary_argsTupleScheme getScheme() {
+        return new getCredentialSummary_argsTupleScheme();
       }
     }
 
-    private static class deleteSSHPubKey_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteSSHPubKey_args> {
+    private static class getCredentialSummary_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getCredentialSummary_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getCredentialSummary_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.airavataCredStoreToken);
-        oprot.writeString(struct.gatewayId);
+        oprot.writeI32(struct.type.getValue());
+        oprot.writeString(struct.tokenId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getCredentialSummary_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.airavataCredStoreToken = iprot.readString();
-        struct.setAiravataCredStoreTokenIsSet(true);
-        struct.gatewayId = iprot.readString();
-        struct.setGatewayIdIsSet(true);
+        struct.type = org.apache.airavata.model.credential.store.SummaryType.findByValue(iprot.readI32());
+        struct.setTypeIsSet(true);
+        struct.tokenId = iprot.readString();
+        struct.setTokenIdIsSet(true);
       }
     }
 
@@ -58351,28 +58730,31 @@ public class Airavata {
     }
   }
 
-  public static class deleteSSHPubKey_result implements org.apache.thrift.TBase<deleteSSHPubKey_result, deleteSSHPubKey_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteSSHPubKey_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteSSHPubKey_result");
+  public static class getCredentialSummary_result implements org.apache.thrift.TBase<getCredentialSummary_result, getCredentialSummary_result._Fields>, java.io.Serializable, Cloneable, Comparable<getCredentialSummary_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCredentialSummary_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 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 ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteSSHPubKey_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteSSHPubKey_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCredentialSummary_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCredentialSummary_resultTupleSchemeFactory();
 
-    public boolean success; // required
+    public org.apache.airavata.model.credential.store.CredentialSummary success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -58395,6 +58777,8 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // AE
+            return AE;
           default:
             return null;
         }
@@ -58435,46 +58819,48 @@ public class Airavata {
     }
 
     // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.credential.store.CredentialSummary.class)));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteSSHPubKey_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCredentialSummary_result.class, metaDataMap);
     }
 
-    public deleteSSHPubKey_result() {
+    public getCredentialSummary_result() {
     }
 
-    public deleteSSHPubKey_result(
-      boolean success,
+    public getCredentialSummary_result(
+      org.apache.airavata.model.credential.store.CredentialSummary success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
       this.success = success;
-      setSuccessIsSet(true);
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.ae = ae;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public deleteSSHPubKey_result(deleteSSHPubKey_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
+    public getCredentialSummary_result(getCredentialSummary_result other) {
+      if (other.isSetSuccess()) {
+        this.success = new org.apache.airavata.model.credential.store.CredentialSummary(other.success);
+      }
       if (other.isSetIre()) {
         this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
       }
@@ -58484,49 +58870,53 @@ public class Airavata {
       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 deleteSSHPubKey_result deepCopy() {
-      return new deleteSSHPubKey_result(this);
+    public getCredentialSummary_result deepCopy() {
+      return new getCredentialSummary_result(this);
     }
 
     @Override
     public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
+      this.success = null;
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.ae = null;
     }
 
-    public boolean isSuccess() {
+    public org.apache.airavata.model.credential.store.CredentialSummary getSuccess() {
       return this.success;
     }
 
-    public deleteSSHPubKey_result setSuccess(boolean success) {
+    public getCredentialSummary_result setSuccess(org.apache.airavata.model.credential.store.CredentialSummary success) {
       this.success = success;
-      setSuccessIsSet(true);
       return this;
     }
 
     public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+      this.success = null;
     }
 
     /** Returns true if field success is set (has been assigned a value) and false otherwise */
     public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+      return this.success != null;
     }
 
     public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+      if (!value) {
+        this.success = null;
+      }
     }
 
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteSSHPubKey_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getCredentialSummary_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -58550,7 +58940,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public deleteSSHPubKey_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getCredentialSummary_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -58574,7 +58964,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public deleteSSHPubKey_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getCredentialSummary_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -58594,13 +58984,37 @@ public class Airavata {
       }
     }
 
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public getCredentialSummary_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.lang.Boolean)value);
+          setSuccess((org.apache.airavata.model.credential.store.CredentialSummary)value);
         }
         break;
 
@@ -58628,13 +59042,21 @@ public class Airavata {
         }
         break;
 
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
       }
     }
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
-        return isSuccess();
+        return getSuccess();
 
       case IRE:
         return getIre();
@@ -58645,6 +59067,9 @@ public class Airavata {
       case ASE:
         return getAse();
 
+      case AE:
+        return getAe();
+
       }
       throw new java.lang.IllegalStateException();
     }
@@ -58664,6 +59089,8 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
+      case AE:
+        return isSetAe();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -58672,23 +59099,23 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof deleteSSHPubKey_result)
-        return this.equals((deleteSSHPubKey_result)that);
+      if (that instanceof getCredentialSummary_result)
+        return this.equals((getCredentialSummary_result)that);
       return false;
     }
 
-    public boolean equals(deleteSSHPubKey_result that) {
+    public boolean equals(getCredentialSummary_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_success = true;
-      boolean that_present_success = true;
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
       if (this_present_success || that_present_success) {
         if (!(this_present_success && that_present_success))
           return false;
-        if (this.success != that.success)
+        if (!this.success.equals(that.success))
           return false;
       }
 
@@ -58719,6 +59146,15 @@ public class Airavata {
           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;
     }
 
@@ -58726,7 +59162,9 @@ public class Airavata {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
 
       hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
       if (isSetIre())
@@ -58740,11 +59178,15 @@ public class Airavata {
       if (isSetAse())
         hashCode = hashCode * 8191 + ase.hashCode();
 
+      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
+      if (isSetAe())
+        hashCode = hashCode * 8191 + ae.hashCode();
+
       return hashCode;
     }
 
     @Override
-    public int compareTo(deleteSSHPubKey_result other) {
+    public int compareTo(getCredentialSummary_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -58791,6 +59233,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -58808,11 +59260,15 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteSSHPubKey_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getCredentialSummary_result(");
       boolean first = true;
 
       sb.append("success:");
-      sb.append(this.success);
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
       first = false;
       if (!first) sb.append(", ");
       sb.append("ire:");
@@ -58838,6 +59294,14 @@ public class Airavata {
         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();
     }
@@ -58845,6 +59309,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 {
@@ -58857,23 +59324,21 @@ public class Airavata {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class deleteSSHPubKey_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteSSHPubKey_resultStandardScheme getScheme() {
-        return new deleteSSHPubKey_resultStandardScheme();
+    private static class getCredentialSummary_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getCredentialSummary_resultStandardScheme getScheme() {
+        return new getCredentialSummary_resultStandardScheme();
       }
     }
 
-    private static class deleteSSHPubKey_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteSSHPubKey_result> {
+    private static class getCredentialSummary_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCredentialSummary_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getCredentialSummary_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -58884,8 +59349,9 @@ public class Airavata {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.success = new org.apache.airavata.model.credential.store.CredentialSummary();
+                struct.success.read(iprot);
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -58918,6 +59384,15 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -58929,13 +59404,13 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getCredentialSummary_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
+        if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
+          struct.success.write(oprot);
           oprot.writeFieldEnd();
         }
         if (struct.ire != null) {
@@ -58953,22 +59428,27 @@ public class Airavata {
           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 deleteSSHPubKey_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteSSHPubKey_resultTupleScheme getScheme() {
-        return new deleteSSHPubKey_resultTupleScheme();
+    private static class getCredentialSummary_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getCredentialSummary_resultTupleScheme getScheme() {
+        return new getCredentialSummary_resultTupleScheme();
       }
     }
 
-    private static class deleteSSHPubKey_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteSSHPubKey_result> {
+    private static class getCredentialSummary_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getCredentialSummary_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getCredentialSummary_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -58983,9 +59463,12 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        oprot.writeBitSet(optionals, 4);
+        if (struct.isSetAe()) {
+          optionals.set(4);
+        }
+        oprot.writeBitSet(optionals, 5);
         if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
+          struct.success.write(oprot);
         }
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
@@ -58996,14 +59479,18 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getCredentialSummary_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(4);
+        java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
-          struct.success = iprot.readBool();
+          struct.success = new org.apache.airavata.model.credential.store.CredentialSummary();
+          struct.success.read(iprot);
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -59021,6 +59508,11 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
+        if (incoming.get(4)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
       }
     }
 
@@ -59029,25 +59521,30 @@ public class Airavata {
     }
   }
 
-  public static class deletePWDCredential_args implements org.apache.thrift.TBase<deletePWDCredential_args, deletePWDCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<deletePWDCredential_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePWDCredential_args");
+  public static class getAllCredentialSummaries_args implements org.apache.thrift.TBase<getAllCredentialSummaries_args, getAllCredentialSummaries_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaries_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaries_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_CRED_STORE_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataCredStoreToken", 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 TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I32, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deletePWDCredential_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePWDCredential_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllCredentialSummaries_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllCredentialSummaries_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataCredStoreToken; // required
-    public java.lang.String gatewayId; // required
+    /**
+     * 
+     * @see org.apache.airavata.model.credential.store.SummaryType
+     */
+    public org.apache.airavata.model.credential.store.SummaryType type; // 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_CRED_STORE_TOKEN((short)2, "airavataCredStoreToken"),
-      GATEWAY_ID((short)3, "gatewayId");
+      /**
+       * 
+       * @see org.apache.airavata.model.credential.store.SummaryType
+       */
+      TYPE((short)2, "type");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -59064,10 +59561,8 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // AIRAVATA_CRED_STORE_TOKEN
-            return AIRAVATA_CRED_STORE_TOKEN;
-          case 3: // GATEWAY_ID
-            return GATEWAY_ID;
+          case 2: // TYPE
+            return TYPE;
           default:
             return null;
         }
@@ -59113,59 +59608,51 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.AIRAVATA_CRED_STORE_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("airavataCredStoreToken", 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)));
+      tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.credential.store.SummaryType.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deletePWDCredential_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllCredentialSummaries_args.class, metaDataMap);
     }
 
-    public deletePWDCredential_args() {
+    public getAllCredentialSummaries_args() {
     }
 
-    public deletePWDCredential_args(
+    public getAllCredentialSummaries_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String airavataCredStoreToken,
-      java.lang.String gatewayId)
+      org.apache.airavata.model.credential.store.SummaryType type)
     {
       this();
       this.authzToken = authzToken;
-      this.airavataCredStoreToken = airavataCredStoreToken;
-      this.gatewayId = gatewayId;
+      this.type = type;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public deletePWDCredential_args(deletePWDCredential_args other) {
+    public getAllCredentialSummaries_args(getAllCredentialSummaries_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetAiravataCredStoreToken()) {
-        this.airavataCredStoreToken = other.airavataCredStoreToken;
-      }
-      if (other.isSetGatewayId()) {
-        this.gatewayId = other.gatewayId;
+      if (other.isSetType()) {
+        this.type = other.type;
       }
     }
 
-    public deletePWDCredential_args deepCopy() {
-      return new deletePWDCredential_args(this);
+    public getAllCredentialSummaries_args deepCopy() {
+      return new getAllCredentialSummaries_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.airavataCredStoreToken = null;
-      this.gatewayId = null;
+      this.type = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deletePWDCredential_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllCredentialSummaries_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -59185,51 +59672,35 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getAiravataCredStoreToken() {
-      return this.airavataCredStoreToken;
-    }
-
-    public deletePWDCredential_args setAiravataCredStoreToken(java.lang.String airavataCredStoreToken) {
-      this.airavataCredStoreToken = airavataCredStoreToken;
-      return this;
-    }
-
-    public void unsetAiravataCredStoreToken() {
-      this.airavataCredStoreToken = null;
-    }
-
-    /** Returns true if field airavataCredStoreToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAiravataCredStoreToken() {
-      return this.airavataCredStoreToken != null;
-    }
-
-    public void setAiravataCredStoreTokenIsSet(boolean value) {
-      if (!value) {
-        this.airavataCredStoreToken = null;
-      }
-    }
-
-    public java.lang.String getGatewayId() {
-      return this.gatewayId;
+    /**
+     * 
+     * @see org.apache.airavata.model.credential.store.SummaryType
+     */
+    public org.apache.airavata.model.credential.store.SummaryType getType() {
+      return this.type;
     }
 
-    public deletePWDCredential_args setGatewayId(java.lang.String gatewayId) {
-      this.gatewayId = gatewayId;
+    /**
+     * 
+     * @see org.apache.airavata.model.credential.store.SummaryType
+     */
+    public getAllCredentialSummaries_args setType(org.apache.airavata.model.credential.store.SummaryType type) {
+      this.type = type;
       return this;
     }
 
-    public void unsetGatewayId() {
-      this.gatewayId = null;
+    public void unsetType() {
+      this.type = 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 type is set (has been assigned a value) and false otherwise */
+    public boolean isSetType() {
+      return this.type != null;
     }
 
-    public void setGatewayIdIsSet(boolean value) {
+    public void setTypeIsSet(boolean value) {
       if (!value) {
-        this.gatewayId = null;
+        this.type = null;
       }
     }
 
@@ -59243,19 +59714,11 @@ public class Airavata {
         }
         break;
 
-      case AIRAVATA_CRED_STORE_TOKEN:
+      case TYPE:
         if (value == null) {
-          unsetAiravataCredStoreToken();
+          unsetType();
         } else {
-          setAiravataCredStoreToken((java.lang.String)value);
-        }
-        break;
-
-      case GATEWAY_ID:
-        if (value == null) {
-          unsetGatewayId();
-        } else {
-          setGatewayId((java.lang.String)value);
+          setType((org.apache.airavata.model.credential.store.SummaryType)value);
         }
         break;
 
@@ -59267,11 +59730,8 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case AIRAVATA_CRED_STORE_TOKEN:
-        return getAiravataCredStoreToken();
-
-      case GATEWAY_ID:
-        return getGatewayId();
+      case TYPE:
+        return getType();
 
       }
       throw new java.lang.IllegalStateException();
@@ -59286,10 +59746,8 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case AIRAVATA_CRED_STORE_TOKEN:
-        return isSetAiravataCredStoreToken();
-      case GATEWAY_ID:
-        return isSetGatewayId();
+      case TYPE:
+        return isSetType();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -59298,12 +59756,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof deletePWDCredential_args)
-        return this.equals((deletePWDCredential_args)that);
+      if (that instanceof getAllCredentialSummaries_args)
+        return this.equals((getAllCredentialSummaries_args)that);
       return false;
     }
 
-    public boolean equals(deletePWDCredential_args that) {
+    public boolean equals(getAllCredentialSummaries_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -59318,21 +59776,12 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_airavataCredStoreToken = true && this.isSetAiravataCredStoreToken();
-      boolean that_present_airavataCredStoreToken = true && that.isSetAiravataCredStoreToken();
-      if (this_present_airavataCredStoreToken || that_present_airavataCredStoreToken) {
-        if (!(this_present_airavataCredStoreToken && that_present_airavataCredStoreToken))
+      boolean this_present_type = true && this.isSetType();
+      boolean that_present_type = true && that.isSetType();
+      if (this_present_type || that_present_type) {
+        if (!(this_present_type && that_present_type))
           return false;
-        if (!this.airavataCredStoreToken.equals(that.airavataCredStoreToken))
-          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))
+        if (!this.type.equals(that.type))
           return false;
       }
 
@@ -59347,19 +59796,15 @@ public class Airavata {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetAiravataCredStoreToken()) ? 131071 : 524287);
-      if (isSetAiravataCredStoreToken())
-        hashCode = hashCode * 8191 + airavataCredStoreToken.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
-      if (isSetGatewayId())
-        hashCode = hashCode * 8191 + gatewayId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetType()) ? 131071 : 524287);
+      if (isSetType())
+        hashCode = hashCode * 8191 + type.getValue();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(deletePWDCredential_args other) {
+    public int compareTo(getAllCredentialSummaries_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -59376,22 +59821,12 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataCredStoreToken()).compareTo(other.isSetAiravataCredStoreToken());
+      lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetAiravataCredStoreToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataCredStoreToken, other.airavataCredStoreToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+      if (isSetType()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, other.type);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -59413,7 +59848,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("deletePWDCredential_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllCredentialSummaries_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -59424,19 +59859,11 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("airavataCredStoreToken:");
-      if (this.airavataCredStoreToken == null) {
+      sb.append("type:");
+      if (this.type == null) {
         sb.append("null");
       } else {
-        sb.append(this.airavataCredStoreToken);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.gatewayId);
+        sb.append(this.type);
       }
       first = false;
       sb.append(")");
@@ -59448,11 +59875,8 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (airavataCredStoreToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataCredStoreToken' was not present! Struct: " + toString());
-      }
-      if (gatewayId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
+      if (type == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'type' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
       if (authzToken != null) {
@@ -59476,15 +59900,15 @@ public class Airavata {
       }
     }
 
-    private static class deletePWDCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deletePWDCredential_argsStandardScheme getScheme() {
-        return new deletePWDCredential_argsStandardScheme();
+    private static class getAllCredentialSummaries_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllCredentialSummaries_argsStandardScheme getScheme() {
+        return new getAllCredentialSummaries_argsStandardScheme();
       }
     }
 
-    private static class deletePWDCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePWDCredential_args> {
+    private static class getAllCredentialSummaries_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaries_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaries_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -59503,18 +59927,10 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // AIRAVATA_CRED_STORE_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.airavataCredStoreToken = iprot.readString();
-                struct.setAiravataCredStoreTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GATEWAY_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
+            case 2: // TYPE
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.type = org.apache.airavata.model.credential.store.SummaryType.findByValue(iprot.readI32());
+                struct.setTypeIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -59530,7 +59946,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaries_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -59539,14 +59955,9 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.airavataCredStoreToken != null) {
-          oprot.writeFieldBegin(AIRAVATA_CRED_STORE_TOKEN_FIELD_DESC);
-          oprot.writeString(struct.airavataCredStoreToken);
-          oprot.writeFieldEnd();
-        }
-        if (struct.gatewayId != null) {
-          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-          oprot.writeString(struct.gatewayId);
+        if (struct.type != null) {
+          oprot.writeFieldBegin(TYPE_FIELD_DESC);
+          oprot.writeI32(struct.type.getValue());
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -59555,32 +59966,29 @@ public class Airavata {
 
     }
 
-    private static class deletePWDCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deletePWDCredential_argsTupleScheme getScheme() {
-        return new deletePWDCredential_argsTupleScheme();
+    private static class getAllCredentialSummaries_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllCredentialSummaries_argsTupleScheme getScheme() {
+        return new getAllCredentialSummaries_argsTupleScheme();
       }
     }
 
-    private static class deletePWDCredential_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deletePWDCredential_args> {
+    private static class getAllCredentialSummaries_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllCredentialSummaries_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAllCredentialSummaries_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.airavataCredStoreToken);
-        oprot.writeString(struct.gatewayId);
+        oprot.writeI32(struct.type.getValue());
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAllCredentialSummaries_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.airavataCredStoreToken = iprot.readString();
-        struct.setAiravataCredStoreTokenIsSet(true);
-        struct.gatewayId = iprot.readString();
-        struct.setGatewayIdIsSet(true);
+        struct.type = org.apache.airavata.model.credential.store.SummaryType.findByValue(iprot.readI32());
+        struct.setTypeIsSet(true);
       }
     }
 
@@ -59589,18 +59997,18 @@ public class Airavata {
     }
   }
 
-  public static class deletePWDCredential_result implements org.apache.thrift.TBase<deletePWDCredential_result, deletePWDCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<deletePWDCredential_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePWDCredential_result");
+  public static class getAllCredentialSummaries_result implements org.apache.thrift.TBase<getAllCredentialSummaries_result, getAllCredentialSummaries_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaries_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaries_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 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 ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deletePWDCredential_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePWDCredential_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllCredentialSummaries_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllCredentialSummaries_resultTupleSchemeFactory();
 
-    public boolean success; // required
+    public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
@@ -59673,13 +60081,12 @@ public class Airavata {
     }
 
     // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+          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.credential.store.CredentialSummary.class))));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -59687,21 +60094,20 @@ public class Airavata {
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deletePWDCredential_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllCredentialSummaries_result.class, metaDataMap);
     }
 
-    public deletePWDCredential_result() {
+    public getAllCredentialSummaries_result() {
     }
 
-    public deletePWDCredential_result(
-      boolean success,
+    public getAllCredentialSummaries_result(
+      java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
       org.apache.airavata.model.error.AiravataSystemException ase)
     {
       this();
       this.success = success;
-      setSuccessIsSet(true);
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
@@ -59710,9 +60116,14 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public deletePWDCredential_result(deletePWDCredential_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
+    public getAllCredentialSummaries_result(getAllCredentialSummaries_result other) {
+      if (other.isSetSuccess()) {
+        java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> __this__success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(other.success.size());
+        for (org.apache.airavata.model.credential.store.CredentialSummary other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.credential.store.CredentialSummary(other_element));
+        }
+        this.success = __this__success;
+      }
       if (other.isSetIre()) {
         this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
       }
@@ -59724,47 +60135,62 @@ public class Airavata {
       }
     }
 
-    public deletePWDCredential_result deepCopy() {
-      return new deletePWDCredential_result(this);
+    public getAllCredentialSummaries_result deepCopy() {
+      return new getAllCredentialSummaries_result(this);
     }
 
     @Override
     public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
+      this.success = null;
       this.ire = null;
       this.ace = null;
       this.ase = null;
     }
 
-    public boolean isSuccess() {
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.model.credential.store.CredentialSummary> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.credential.store.CredentialSummary elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>();
+      }
+      this.success.add(elem);
+    }
+
+    public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getSuccess() {
       return this.success;
     }
 
-    public deletePWDCredential_result setSuccess(boolean success) {
+    public getAllCredentialSummaries_result setSuccess(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success) {
       this.success = success;
-      setSuccessIsSet(true);
       return this;
     }
 
     public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+      this.success = null;
     }
 
     /** Returns true if field success is set (has been assigned a value) and false otherwise */
     public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+      return this.success != null;
     }
 
     public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+      if (!value) {
+        this.success = null;
+      }
     }
 
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deletePWDCredential_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllCredentialSummaries_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -59788,7 +60214,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public deletePWDCredential_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllCredentialSummaries_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -59812,7 +60238,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public deletePWDCredential_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllCredentialSummaries_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -59838,7 +60264,7 @@ public class Airavata {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.lang.Boolean)value);
+          setSuccess((java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>)value);
         }
         break;
 
@@ -59872,7 +60298,7 @@ public class Airavata {
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
-        return isSuccess();
+        return getSuccess();
 
       case IRE:
         return getIre();
@@ -59910,23 +60336,23 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof deletePWDCredential_result)
-        return this.equals((deletePWDCredential_result)that);
+      if (that instanceof getAllCredentialSummaries_result)
+        return this.equals((getAllCredentialSummaries_result)that);
       return false;
     }
 
-    public boolean equals(deletePWDCredential_result that) {
+    public boolean equals(getAllCredentialSummaries_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_success = true;
-      boolean that_present_success = true;
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
       if (this_present_success || that_present_success) {
         if (!(this_present_success && that_present_success))
           return false;
-        if (this.success != that.success)
+        if (!this.success.equals(that.success))
           return false;
       }
 
@@ -59964,7 +60390,9 @@ public class Airavata {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
 
       hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
       if (isSetIre())
@@ -59982,7 +60410,7 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(deletePWDCredential_result other) {
+    public int compareTo(getAllCredentialSummaries_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -60046,11 +60474,15 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("deletePWDCredential_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllCredentialSummaries_result(");
       boolean first = true;
 
       sb.append("success:");
-      sb.append(this.success);
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
       first = false;
       if (!first) sb.append(", ");
       sb.append("ire:");
@@ -60095,23 +60527,21 @@ public class Airavata {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class deletePWDCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deletePWDCredential_resultStandardScheme getScheme() {
-        return new deletePWDCredential_resultStandardScheme();
+    private static class getAllCredentialSummaries_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllCredentialSummaries_resultStandardScheme getScheme() {
+        return new getAllCredentialSummaries_resultStandardScheme();
       }
     }
 
-    private static class deletePWDCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePWDCredential_result> {
+    private static class getAllCredentialSummaries_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaries_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaries_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -60122,8 +60552,19 @@ public class Airavata {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list24.size);
+                  org.apache.airavata.model.credential.store.CredentialSummary _elem25;
+                  for (int _i26 = 0; _i26 < _list24.size; ++_i26)
+                  {
+                    _elem25 = new org.apache.airavata.model.credential.store.CredentialSummary();
+                    _elem25.read(iprot);
+                    struct.success.add(_elem25);
+                  }
+                  iprot.readListEnd();
+                }
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -60167,13 +60608,20 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaries_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
+        if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (org.apache.airavata.model.credential.store.CredentialSummary _iter27 : struct.success)
+            {
+              _iter27.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
           oprot.writeFieldEnd();
         }
         if (struct.ire != null) {
@@ -60197,16 +60645,16 @@ public class Airavata {
 
     }
 
-    private static class deletePWDCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deletePWDCredential_resultTupleScheme getScheme() {
-        return new deletePWDCredential_resultTupleScheme();
+    private static class getAllCredentialSummaries_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllCredentialSummaries_resultTupleScheme getScheme() {
+        return new getAllCredentialSummaries_resultTupleScheme();
       }
     }
 
-    private static class deletePWDCredential_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deletePWDCredential_result> {
+    private static class getAllCredentialSummaries_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllCredentialSummaries_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAllCredentialSummaries_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -60223,7 +60671,13 @@ public class Airavata {
         }
         oprot.writeBitSet(optionals, 4);
         if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.model.credential.store.CredentialSummary _iter28 : struct.success)
+            {
+              _iter28.write(oprot);
+            }
+          }
         }
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
@@ -60237,11 +60691,21 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAllCredentialSummaries_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
-          struct.success = iprot.readBool();
+          {
+            org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list29.size);
+            org.apache.airavata.model.credential.store.CredentialSummary _elem30;
+            for (int _i31 = 0; _i31 < _list29.size; ++_i31)
+            {
+              _elem30 = new org.apache.airavata.model.credential.store.CredentialSummary();
+              _elem30.read(iprot);
+              struct.success.add(_elem30);
+            }
+          }
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -60267,25 +60731,25 @@ public class Airavata {
     }
   }
 
-  public static class createProject_args implements org.apache.thrift.TBase<createProject_args, createProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<createProject_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createProject_args");
+  public static class deleteSSHPubKey_args implements org.apache.thrift.TBase<deleteSSHPubKey_args, deleteSSHPubKey_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteSSHPubKey_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteSSHPubKey_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField PROJECT_FIELD_DESC = new org.apache.thrift.protocol.TField("project", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AIRAVATA_CRED_STORE_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataCredStoreToken", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createProject_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createProject_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteSSHPubKey_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteSSHPubKey_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public java.lang.String airavataCredStoreToken; // required
     public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.workspace.Project project; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      GATEWAY_ID((short)2, "gatewayId"),
-      PROJECT((short)3, "project");
+      AIRAVATA_CRED_STORE_TOKEN((short)2, "airavataCredStoreToken"),
+      GATEWAY_ID((short)3, "gatewayId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -60302,10 +60766,10 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // GATEWAY_ID
+          case 2: // AIRAVATA_CRED_STORE_TOKEN
+            return AIRAVATA_CRED_STORE_TOKEN;
+          case 3: // GATEWAY_ID
             return GATEWAY_ID;
-          case 3: // PROJECT
-            return PROJECT;
           default:
             return null;
         }
@@ -60351,59 +60815,59 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.AIRAVATA_CRED_STORE_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("airavataCredStoreToken", 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)));
-      tmpMap.put(_Fields.PROJECT, new org.apache.thrift.meta_data.FieldMetaData("project", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.Project.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createProject_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteSSHPubKey_args.class, metaDataMap);
     }
 
-    public createProject_args() {
+    public deleteSSHPubKey_args() {
     }
 
-    public createProject_args(
+    public deleteSSHPubKey_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String gatewayId,
-      org.apache.airavata.model.workspace.Project project)
+      java.lang.String airavataCredStoreToken,
+      java.lang.String gatewayId)
     {
       this();
       this.authzToken = authzToken;
+      this.airavataCredStoreToken = airavataCredStoreToken;
       this.gatewayId = gatewayId;
-      this.project = project;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public createProject_args(createProject_args other) {
+    public deleteSSHPubKey_args(deleteSSHPubKey_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
+      if (other.isSetAiravataCredStoreToken()) {
+        this.airavataCredStoreToken = other.airavataCredStoreToken;
+      }
       if (other.isSetGatewayId()) {
         this.gatewayId = other.gatewayId;
       }
-      if (other.isSetProject()) {
-        this.project = new org.apache.airavata.model.workspace.Project(other.project);
-      }
     }
 
-    public createProject_args deepCopy() {
-      return new createProject_args(this);
+    public deleteSSHPubKey_args deepCopy() {
+      return new deleteSSHPubKey_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
+      this.airavataCredStoreToken = null;
       this.gatewayId = null;
-      this.project = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public createProject_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteSSHPubKey_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -60423,51 +60887,51 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getGatewayId() {
-      return this.gatewayId;
+    public java.lang.String getAiravataCredStoreToken() {
+      return this.airavataCredStoreToken;
     }
 
-    public createProject_args setGatewayId(java.lang.String gatewayId) {
-      this.gatewayId = gatewayId;
+    public deleteSSHPubKey_args setAiravataCredStoreToken(java.lang.String airavataCredStoreToken) {
+      this.airavataCredStoreToken = airavataCredStoreToken;
       return this;
     }
 
-    public void unsetGatewayId() {
-      this.gatewayId = null;
+    public void unsetAiravataCredStoreToken() {
+      this.airavataCredStoreToken = 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 airavataCredStoreToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAiravataCredStoreToken() {
+      return this.airavataCredStoreToken != null;
     }
 
-    public void setGatewayIdIsSet(boolean value) {
+    public void setAiravataCredStoreTokenIsSet(boolean value) {
       if (!value) {
-        this.gatewayId = null;
+        this.airavataCredStoreToken = null;
       }
     }
 
-    public org.apache.airavata.model.workspace.Project getProject() {
-      return this.project;
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public createProject_args setProject(org.apache.airavata.model.workspace.Project project) {
-      this.project = project;
+    public deleteSSHPubKey_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
       return this;
     }
 
-    public void unsetProject() {
-      this.project = null;
+    public void unsetGatewayId() {
+      this.gatewayId = null;
     }
 
-    /** Returns true if field project is set (has been assigned a value) and false otherwise */
-    public boolean isSetProject() {
-      return this.project != 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 setProjectIsSet(boolean value) {
+    public void setGatewayIdIsSet(boolean value) {
       if (!value) {
-        this.project = null;
+        this.gatewayId = null;
       }
     }
 
@@ -60481,19 +60945,19 @@ public class Airavata {
         }
         break;
 
-      case GATEWAY_ID:
+      case AIRAVATA_CRED_STORE_TOKEN:
         if (value == null) {
-          unsetGatewayId();
+          unsetAiravataCredStoreToken();
         } else {
-          setGatewayId((java.lang.String)value);
+          setAiravataCredStoreToken((java.lang.String)value);
         }
         break;
 
-      case PROJECT:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetProject();
+          unsetGatewayId();
         } else {
-          setProject((org.apache.airavata.model.workspace.Project)value);
+          setGatewayId((java.lang.String)value);
         }
         break;
 
@@ -60505,12 +60969,12 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
+      case AIRAVATA_CRED_STORE_TOKEN:
+        return getAiravataCredStoreToken();
+
       case GATEWAY_ID:
         return getGatewayId();
 
-      case PROJECT:
-        return getProject();
-
       }
       throw new java.lang.IllegalStateException();
     }
@@ -60524,10 +60988,10 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
+      case AIRAVATA_CRED_STORE_TOKEN:
+        return isSetAiravataCredStoreToken();
       case GATEWAY_ID:
         return isSetGatewayId();
-      case PROJECT:
-        return isSetProject();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -60536,12 +61000,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof createProject_args)
-        return this.equals((createProject_args)that);
+      if (that instanceof deleteSSHPubKey_args)
+        return this.equals((deleteSSHPubKey_args)that);
       return false;
     }
 
-    public boolean equals(createProject_args that) {
+    public boolean equals(deleteSSHPubKey_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -60556,6 +61020,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_airavataCredStoreToken = true && this.isSetAiravataCredStoreToken();
+      boolean that_present_airavataCredStoreToken = true && that.isSetAiravataCredStoreToken();
+      if (this_present_airavataCredStoreToken || that_present_airavataCredStoreToken) {
+        if (!(this_present_airavataCredStoreToken && that_present_airavataCredStoreToken))
+          return false;
+        if (!this.airavataCredStoreToken.equals(that.airavataCredStoreToken))
+          return false;
+      }
+
       boolean this_present_gatewayId = true && this.isSetGatewayId();
       boolean that_present_gatewayId = true && that.isSetGatewayId();
       if (this_present_gatewayId || that_present_gatewayId) {
@@ -60565,15 +61038,6 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_project = true && this.isSetProject();
-      boolean that_present_project = true && that.isSetProject();
-      if (this_present_project || that_present_project) {
-        if (!(this_present_project && that_present_project))
-          return false;
-        if (!this.project.equals(that.project))
-          return false;
-      }
-
       return true;
     }
 
@@ -60585,19 +61049,19 @@ public class Airavata {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
+      hashCode = hashCode * 8191 + ((isSetAiravataCredStoreToken()) ? 131071 : 524287);
+      if (isSetAiravataCredStoreToken())
+        hashCode = hashCode * 8191 + airavataCredStoreToken.hashCode();
+
       hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
       if (isSetGatewayId())
         hashCode = hashCode * 8191 + gatewayId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetProject()) ? 131071 : 524287);
-      if (isSetProject())
-        hashCode = hashCode * 8191 + project.hashCode();
-
       return hashCode;
     }
 
     @Override
-    public int compareTo(createProject_args other) {
+    public int compareTo(deleteSSHPubKey_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -60614,22 +61078,22 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.valueOf(isSetAiravataCredStoreToken()).compareTo(other.isSetAiravataCredStoreToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+      if (isSetAiravataCredStoreToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataCredStoreToken, other.airavataCredStoreToken);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProject()).compareTo(other.isSetProject());
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetProject()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.project, other.project);
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -60651,7 +61115,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("createProject_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteSSHPubKey_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -60662,19 +61126,19 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
+      sb.append("airavataCredStoreToken:");
+      if (this.airavataCredStoreToken == null) {
         sb.append("null");
       } else {
-        sb.append(this.gatewayId);
+        sb.append(this.airavataCredStoreToken);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("project:");
-      if (this.project == null) {
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
         sb.append("null");
       } else {
-        sb.append(this.project);
+        sb.append(this.gatewayId);
       }
       first = false;
       sb.append(")");
@@ -60686,19 +61150,16 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
+      if (airavataCredStoreToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataCredStoreToken' was not present! Struct: " + toString());
+      }
       if (gatewayId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
       }
-      if (project == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'project' was not present! Struct: " + toString());
-      }
       // check for sub-struct validity
       if (authzToken != null) {
         authzToken.validate();
       }
-      if (project != null) {
-        project.validate();
-      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -60717,15 +61178,15 @@ public class Airavata {
       }
     }
 
-    private static class createProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public createProject_argsStandardScheme getScheme() {
-        return new createProject_argsStandardScheme();
+    private static class deleteSSHPubKey_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteSSHPubKey_argsStandardScheme getScheme() {
+        return new deleteSSHPubKey_argsStandardScheme();
       }
     }
 
-    private static class createProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createProject_args> {
+    private static class deleteSSHPubKey_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteSSHPubKey_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, createProject_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -60744,19 +61205,18 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // GATEWAY_ID
+            case 2: // AIRAVATA_CRED_STORE_TOKEN
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
+                struct.airavataCredStoreToken = iprot.readString();
+                struct.setAiravataCredStoreTokenIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // PROJECT
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.project = new org.apache.airavata.model.workspace.Project();
-                struct.project.read(iprot);
-                struct.setProjectIsSet(true);
+            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);
               }
@@ -60772,7 +61232,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, createProject_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -60781,49 +61241,48 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.airavataCredStoreToken != null) {
+          oprot.writeFieldBegin(AIRAVATA_CRED_STORE_TOKEN_FIELD_DESC);
+          oprot.writeString(struct.airavataCredStoreToken);
+          oprot.writeFieldEnd();
+        }
         if (struct.gatewayId != null) {
           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
           oprot.writeString(struct.gatewayId);
           oprot.writeFieldEnd();
         }
-        if (struct.project != null) {
-          oprot.writeFieldBegin(PROJECT_FIELD_DESC);
-          struct.project.write(oprot);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class createProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public createProject_argsTupleScheme getScheme() {
-        return new createProject_argsTupleScheme();
+    private static class deleteSSHPubKey_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteSSHPubKey_argsTupleScheme getScheme() {
+        return new deleteSSHPubKey_argsTupleScheme();
       }
     }
 
-    private static class createProject_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<createProject_args> {
+    private static class deleteSSHPubKey_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteSSHPubKey_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, createProject_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
+        oprot.writeString(struct.airavataCredStoreToken);
         oprot.writeString(struct.gatewayId);
-        struct.project.write(oprot);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, createProject_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
+        struct.airavataCredStoreToken = iprot.readString();
+        struct.setAiravataCredStoreTokenIsSet(true);
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
-        struct.project = new org.apache.airavata.model.workspace.Project();
-        struct.project.read(iprot);
-        struct.setProjectIsSet(true);
       }
     }
 
@@ -60832,31 +61291,28 @@ public class Airavata {
     }
   }
 
-  public static class createProject_result implements org.apache.thrift.TBase<createProject_result, createProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<createProject_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createProject_result");
+  public static class deleteSSHPubKey_result implements org.apache.thrift.TBase<deleteSSHPubKey_result, deleteSSHPubKey_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteSSHPubKey_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteSSHPubKey_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 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 ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createProject_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createProject_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteSSHPubKey_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteSSHPubKey_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
+    public boolean success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
+      ASE((short)3, "ase");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -60879,8 +61335,6 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
-          case 4: // AE
-            return AE;
           default:
             return null;
         }
@@ -60921,48 +61375,46 @@ public class Airavata {
     }
 
     // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createProject_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteSSHPubKey_result.class, metaDataMap);
     }
 
-    public createProject_result() {
+    public deleteSSHPubKey_result() {
     }
 
-    public createProject_result(
-      java.lang.String success,
+    public deleteSSHPubKey_result(
+      boolean success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       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.AiravataSystemException ase)
     {
       this();
       this.success = success;
+      setSuccessIsSet(true);
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
-      this.ae = ae;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public createProject_result(createProject_result other) {
-      if (other.isSetSuccess()) {
-        this.success = other.success;
-      }
+    public deleteSSHPubKey_result(deleteSSHPubKey_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);
       }
@@ -60972,53 +61424,49 @@ public class Airavata {
       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 createProject_result deepCopy() {
-      return new createProject_result(this);
+    public deleteSSHPubKey_result deepCopy() {
+      return new deleteSSHPubKey_result(this);
     }
 
     @Override
     public void clear() {
-      this.success = null;
+      setSuccessIsSet(false);
+      this.success = false;
       this.ire = null;
       this.ace = null;
       this.ase = null;
-      this.ae = null;
     }
 
-    public java.lang.String getSuccess() {
+    public boolean isSuccess() {
       return this.success;
     }
 
-    public createProject_result setSuccess(java.lang.String success) {
+    public deleteSSHPubKey_result setSuccess(boolean success) {
       this.success = success;
+      setSuccessIsSet(true);
       return this;
     }
 
     public void unsetSuccess() {
-      this.success = null;
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
     }
 
     /** Returns true if field success is set (has been assigned a value) and false otherwise */
     public boolean isSetSuccess() {
-      return this.success != null;
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
     }
 
     public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public createProject_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteSSHPubKey_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -61042,7 +61490,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public createProject_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteSSHPubKey_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -61066,7 +61514,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public createProject_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteSSHPubKey_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -61086,37 +61534,13 @@ public class Airavata {
       }
     }
 
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public createProject_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.lang.String)value);
+          setSuccess((java.lang.Boolean)value);
         }
         break;
 
@@ -61144,21 +61568,13 @@ public class Airavata {
         }
         break;
 
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
       }
     }
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
-        return getSuccess();
+        return isSuccess();
 
       case IRE:
         return getIre();
@@ -61169,9 +61585,6 @@ public class Airavata {
       case ASE:
         return getAse();
 
-      case AE:
-        return getAe();
-
       }
       throw new java.lang.IllegalStateException();
     }
@@ -61191,8 +61604,6 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
-      case AE:
-        return isSetAe();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -61201,23 +61612,23 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof createProject_result)
-        return this.equals((createProject_result)that);
+      if (that instanceof deleteSSHPubKey_result)
+        return this.equals((deleteSSHPubKey_result)that);
       return false;
     }
 
-    public boolean equals(createProject_result that) {
+    public boolean equals(deleteSSHPubKey_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
+      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.equals(that.success))
+        if (this.success != that.success)
           return false;
       }
 
@@ -61248,15 +61659,6 @@ public class Airavata {
           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;
     }
 
@@ -61264,9 +61666,7 @@ public class Airavata {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
 
       hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
       if (isSetIre())
@@ -61280,15 +61680,11 @@ public class Airavata {
       if (isSetAse())
         hashCode = hashCode * 8191 + ase.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
-      if (isSetAe())
-        hashCode = hashCode * 8191 + ae.hashCode();
-
       return hashCode;
     }
 
     @Override
-    public int compareTo(createProject_result other) {
+    public int compareTo(deleteSSHPubKey_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -61335,16 +61731,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -61362,15 +61748,11 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("createProject_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteSSHPubKey_result(");
       boolean first = true;
 
       sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
+      sb.append(this.success);
       first = false;
       if (!first) sb.append(", ");
       sb.append("ire:");
@@ -61396,14 +61778,6 @@ public class Airavata {
         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();
     }
@@ -61423,21 +61797,23 @@ public class Airavata {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class createProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public createProject_resultStandardScheme getScheme() {
-        return new createProject_resultStandardScheme();
+    private static class deleteSSHPubKey_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteSSHPubKey_resultStandardScheme getScheme() {
+        return new deleteSSHPubKey_resultStandardScheme();
       }
     }
 
-    private static class createProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createProject_result> {
+    private static class deleteSSHPubKey_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteSSHPubKey_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, createProject_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -61448,8 +61824,8 @@ public class Airavata {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.success = iprot.readString();
+              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);
@@ -61482,15 +61858,6 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -61502,13 +61869,13 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, createProject_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
+        if (struct.isSetSuccess()) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeString(struct.success);
+          oprot.writeBool(struct.success);
           oprot.writeFieldEnd();
         }
         if (struct.ire != null) {
@@ -61526,27 +61893,22 @@ public class Airavata {
           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 createProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public createProject_resultTupleScheme getScheme() {
-        return new createProject_resultTupleScheme();
+    private static class deleteSSHPubKey_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteSSHPubKey_resultTupleScheme getScheme() {
+        return new deleteSSHPubKey_resultTupleScheme();
       }
     }
 
-    private static class createProject_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<createProject_result> {
+    private static class deleteSSHPubKey_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteSSHPubKey_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, createProject_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -61561,12 +61923,9 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
+        oprot.writeBitSet(optionals, 4);
         if (struct.isSetSuccess()) {
-          oprot.writeString(struct.success);
+          oprot.writeBool(struct.success);
         }
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
@@ -61577,17 +61936,14 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, createProject_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(5);
+        java.util.BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
-          struct.success = iprot.readString();
+          struct.success = iprot.readBool();
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -61605,11 +61961,6 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
       }
     }
 
@@ -61618,25 +61969,25 @@ public class Airavata {
     }
   }
 
-  public static class updateProject_args implements org.apache.thrift.TBase<updateProject_args, updateProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateProject_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProject_args");
+  public static class deletePWDCredential_args implements org.apache.thrift.TBase<deletePWDCredential_args, deletePWDCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<deletePWDCredential_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePWDCredential_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 PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField UPDATED_PROJECT_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedProject", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AIRAVATA_CRED_STORE_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataCredStoreToken", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProject_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProject_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deletePWDCredential_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePWDCredential_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String projectId; // required
-    public org.apache.airavata.model.workspace.Project updatedProject; // required
+    public java.lang.String airavataCredStoreToken; // required
+    public java.lang.String gatewayId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      PROJECT_ID((short)2, "projectId"),
-      UPDATED_PROJECT((short)3, "updatedProject");
+      AIRAVATA_CRED_STORE_TOKEN((short)2, "airavataCredStoreToken"),
+      GATEWAY_ID((short)3, "gatewayId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -61653,10 +62004,10 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // PROJECT_ID
-            return PROJECT_ID;
-          case 3: // UPDATED_PROJECT
-            return UPDATED_PROJECT;
+          case 2: // AIRAVATA_CRED_STORE_TOKEN
+            return AIRAVATA_CRED_STORE_TOKEN;
+          case 3: // GATEWAY_ID
+            return GATEWAY_ID;
           default:
             return null;
         }
@@ -61702,59 +62053,59 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.AIRAVATA_CRED_STORE_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("airavataCredStoreToken", 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)));
-      tmpMap.put(_Fields.UPDATED_PROJECT, new org.apache.thrift.meta_data.FieldMetaData("updatedProject", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.Project.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateProject_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deletePWDCredential_args.class, metaDataMap);
     }
 
-    public updateProject_args() {
+    public deletePWDCredential_args() {
     }
 
-    public updateProject_args(
+    public deletePWDCredential_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String projectId,
-      org.apache.airavata.model.workspace.Project updatedProject)
+      java.lang.String airavataCredStoreToken,
+      java.lang.String gatewayId)
     {
       this();
       this.authzToken = authzToken;
-      this.projectId = projectId;
-      this.updatedProject = updatedProject;
+      this.airavataCredStoreToken = airavataCredStoreToken;
+      this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public updateProject_args(updateProject_args other) {
+    public deletePWDCredential_args(deletePWDCredential_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetProjectId()) {
-        this.projectId = other.projectId;
+      if (other.isSetAiravataCredStoreToken()) {
+        this.airavataCredStoreToken = other.airavataCredStoreToken;
       }
-      if (other.isSetUpdatedProject()) {
-        this.updatedProject = new org.apache.airavata.model.workspace.Project(other.updatedProject);
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
       }
     }
 
-    public updateProject_args deepCopy() {
-      return new updateProject_args(this);
+    public deletePWDCredential_args deepCopy() {
+      return new deletePWDCredential_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.projectId = null;
-      this.updatedProject = null;
+      this.airavataCredStoreToken = null;
+      this.gatewayId = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateProject_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deletePWDCredential_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -61774,51 +62125,51 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getProjectId() {
-      return this.projectId;
+    public java.lang.String getAiravataCredStoreToken() {
+      return this.airavataCredStoreToken;
     }
 
-    public updateProject_args setProjectId(java.lang.String projectId) {
-      this.projectId = projectId;
+    public deletePWDCredential_args setAiravataCredStoreToken(java.lang.String airavataCredStoreToken) {
+      this.airavataCredStoreToken = airavataCredStoreToken;
       return this;
     }
 
-    public void unsetProjectId() {
-      this.projectId = null;
+    public void unsetAiravataCredStoreToken() {
+      this.airavataCredStoreToken = null;
     }
 
-    /** Returns true if field projectId is set (has been assigned a value) and false otherwise */
-    public boolean isSetProjectId() {
-      return this.projectId != null;
+    /** Returns true if field airavataCredStoreToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAiravataCredStoreToken() {
+      return this.airavataCredStoreToken != null;
     }
 
-    public void setProjectIdIsSet(boolean value) {
+    public void setAiravataCredStoreTokenIsSet(boolean value) {
       if (!value) {
-        this.projectId = null;
+        this.airavataCredStoreToken = null;
       }
     }
 
-    public org.apache.airavata.model.workspace.Project getUpdatedProject() {
-      return this.updatedProject;
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public updateProject_args setUpdatedProject(org.apache.airavata.model.workspace.Project updatedProject) {
-      this.updatedProject = updatedProject;
+    public deletePWDCredential_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
       return this;
     }
 
-    public void unsetUpdatedProject() {
-      this.updatedProject = null;
+    public void unsetGatewayId() {
+      this.gatewayId = null;
     }
 
-    /** Returns true if field updatedProject is set (has been assigned a value) and false otherwise */
-    public boolean isSetUpdatedProject() {
-      return this.updatedProject != 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 setUpdatedProjectIsSet(boolean value) {
+    public void setGatewayIdIsSet(boolean value) {
       if (!value) {
-        this.updatedProject = null;
+        this.gatewayId = null;
       }
     }
 
@@ -61832,19 +62183,19 @@ public class Airavata {
         }
         break;
 
-      case PROJECT_ID:
+      case AIRAVATA_CRED_STORE_TOKEN:
         if (value == null) {
-          unsetProjectId();
+          unsetAiravataCredStoreToken();
         } else {
-          setProjectId((java.lang.String)value);
+          setAiravataCredStoreToken((java.lang.String)value);
         }
         break;
 
-      case UPDATED_PROJECT:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetUpdatedProject();
+          unsetGatewayId();
         } else {
-          setUpdatedProject((org.apache.airavata.model.workspace.Project)value);
+          setGatewayId((java.lang.String)value);
         }
         break;
 
@@ -61856,11 +62207,11 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case PROJECT_ID:
-        return getProjectId();
+      case AIRAVATA_CRED_STORE_TOKEN:
+        return getAiravataCredStoreToken();
 
-      case UPDATED_PROJECT:
-        return getUpdatedProject();
+      case GATEWAY_ID:
+        return getGatewayId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -61875,10 +62226,10 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case PROJECT_ID:
-        return isSetProjectId();
-      case UPDATED_PROJECT:
-        return isSetUpdatedProject();
+      case AIRAVATA_CRED_STORE_TOKEN:
+        return isSetAiravataCredStoreToken();
+      case GATEWAY_ID:
+        return isSetGatewayId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -61887,12 +62238,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof updateProject_args)
-        return this.equals((updateProject_args)that);
+      if (that instanceof deletePWDCredential_args)
+        return this.equals((deletePWDCredential_args)that);
       return false;
     }
 
-    public boolean equals(updateProject_args that) {
+    public boolean equals(deletePWDCredential_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -61907,21 +62258,21 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_projectId = true && this.isSetProjectId();
-      boolean that_present_projectId = true && that.isSetProjectId();
-      if (this_present_projectId || that_present_projectId) {
-        if (!(this_present_projectId && that_present_projectId))
+      boolean this_present_airavataCredStoreToken = true && this.isSetAiravataCredStoreToken();
+      boolean that_present_airavataCredStoreToken = true && that.isSetAiravataCredStoreToken();
+      if (this_present_airavataCredStoreToken || that_present_airavataCredStoreToken) {
+        if (!(this_present_airavataCredStoreToken && that_present_airavataCredStoreToken))
           return false;
-        if (!this.projectId.equals(that.projectId))
+        if (!this.airavataCredStoreToken.equals(that.airavataCredStoreToken))
           return false;
       }
 
-      boolean this_present_updatedProject = true && this.isSetUpdatedProject();
-      boolean that_present_updatedProject = true && that.isSetUpdatedProject();
-      if (this_present_updatedProject || that_present_updatedProject) {
-        if (!(this_present_updatedProject && that_present_updatedProject))
+      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.updatedProject.equals(that.updatedProject))
+        if (!this.gatewayId.equals(that.gatewayId))
           return false;
       }
 
@@ -61936,19 +62287,19 @@ public class Airavata {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetProjectId()) ? 131071 : 524287);
-      if (isSetProjectId())
-        hashCode = hashCode * 8191 + projectId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetAiravataCredStoreToken()) ? 131071 : 524287);
+      if (isSetAiravataCredStoreToken())
+        hashCode = hashCode * 8191 + airavataCredStoreToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetUpdatedProject()) ? 131071 : 524287);
-      if (isSetUpdatedProject())
-        hashCode = hashCode * 8191 + updatedProject.hashCode();
+      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+      if (isSetGatewayId())
+        hashCode = hashCode * 8191 + gatewayId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(updateProject_args other) {
+    public int compareTo(deletePWDCredential_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -61965,22 +62316,22 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+      lastComparison = java.lang.Boolean.valueOf(isSetAiravataCredStoreToken()).compareTo(other.isSetAiravataCredStoreToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetProjectId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectId, other.projectId);
+      if (isSetAiravataCredStoreToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataCredStoreToken, other.airavataCredStoreToken);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpdatedProject()).compareTo(other.isSetUpdatedProject());
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetUpdatedProject()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.updatedProject, other.updatedProject);
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -62002,7 +62353,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateProject_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deletePWDCredential_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -62013,19 +62364,19 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("projectId:");
-      if (this.projectId == null) {
+      sb.append("airavataCredStoreToken:");
+      if (this.airavataCredStoreToken == null) {
         sb.append("null");
       } else {
-        sb.append(this.projectId);
+        sb.append(this.airavataCredStoreToken);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("updatedProject:");
-      if (this.updatedProject == null) {
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
         sb.append("null");
       } else {
-        sb.append(this.updatedProject);
+        sb.append(this.gatewayId);
       }
       first = false;
       sb.append(")");
@@ -62037,19 +62388,16 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (projectId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectId' was not present! Struct: " + toString());
+      if (airavataCredStoreToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataCredStoreToken' was not present! Struct: " + toString());
       }
-      if (updatedProject == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'updatedProject' 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();
       }
-      if (updatedProject != null) {
-        updatedProject.validate();
-      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -62068,15 +62416,15 @@ public class Airavata {
       }
     }
 
-    private static class updateProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateProject_argsStandardScheme getScheme() {
-        return new updateProject_argsStandardScheme();
+    private static class deletePWDCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deletePWDCredential_argsStandardScheme getScheme() {
+        return new deletePWDCredential_argsStandardScheme();
       }
     }
 
-    private static class updateProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProject_args> {
+    private static class deletePWDCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePWDCredential_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, updateProject_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -62095,19 +62443,18 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // PROJECT_ID
+            case 2: // AIRAVATA_CRED_STORE_TOKEN
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.projectId = iprot.readString();
-                struct.setProjectIdIsSet(true);
+                struct.airavataCredStoreToken = iprot.readString();
+                struct.setAiravataCredStoreTokenIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // UPDATED_PROJECT
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.updatedProject = new org.apache.airavata.model.workspace.Project();
-                struct.updatedProject.read(iprot);
-                struct.setUpdatedProjectIsSet(true);
+            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);
               }
@@ -62123,7 +62470,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, updateProject_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -62132,14 +62479,14 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.projectId != null) {
-          oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
-          oprot.writeString(struct.projectId);
+        if (struct.airavataCredStoreToken != null) {
+          oprot.writeFieldBegin(AIRAVATA_CRED_STORE_TOKEN_FIELD_DESC);
+          oprot.writeString(struct.airavataCredStoreToken);
           oprot.writeFieldEnd();
         }
-        if (struct.updatedProject != null) {
-          oprot.writeFieldBegin(UPDATED_PROJECT_FIELD_DESC);
-          struct.updatedProject.write(oprot);
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -62148,33 +62495,32 @@ public class Airavata {
 
     }
 
-    private static class updateProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateProject_argsTupleScheme getScheme() {
-        return new updateProject_argsTupleScheme();
+    private static class deletePWDCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deletePWDCredential_argsTupleScheme getScheme() {
+        return new deletePWDCredential_argsTupleScheme();
       }
     }
 
-    private static class updateProject_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateProject_args> {
+    private static class deletePWDCredential_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deletePWDCredential_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, updateProject_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.projectId);
-        struct.updatedProject.write(oprot);
+        oprot.writeString(struct.airavataCredStoreToken);
+        oprot.writeString(struct.gatewayId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, updateProject_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.projectId = iprot.readString();
-        struct.setProjectIdIsSet(true);
-        struct.updatedProject = new org.apache.airavata.model.workspace.Project();
-        struct.updatedProject.read(iprot);
-        struct.setUpdatedProjectIsSet(true);
+        struct.airavataCredStoreToken = iprot.readString();
+        struct.setAiravataCredStoreTokenIsSet(true);
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
       }
     }
 
@@ -62183,31 +62529,28 @@ public class Airavata {
     }
   }
 
-  public static class updateProject_result implements org.apache.thrift.TBase<updateProject_result, updateProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateProject_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProject_result");
+  public static class deletePWDCredential_result implements org.apache.thrift.TBase<deletePWDCredential_result, deletePWDCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<deletePWDCredential_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePWDCredential_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 ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField PNFE_FIELD_DESC = new org.apache.thrift.protocol.TField("pnfe", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProject_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProject_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deletePWDCredential_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePWDCredential_resultTupleSchemeFactory();
 
+    public boolean success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      PNFE((short)4, "pnfe"),
-      AE((short)5, "ae");
+      ASE((short)3, "ase");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -62222,16 +62565,14 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
           case 1: // IRE
             return IRE;
           case 2: // ACE
             return ACE;
           case 3: // ASE
             return ASE;
-          case 4: // PNFE
-            return PNFE;
-          case 5: // AE
-            return AE;
           default:
             return null;
         }
@@ -62272,45 +62613,46 @@ public class Airavata {
     }
 
     // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
       tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
-      tmpMap.put(_Fields.PNFE, new org.apache.thrift.meta_data.FieldMetaData("pnfe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.ProjectNotFoundException.class)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateProject_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deletePWDCredential_result.class, metaDataMap);
     }
 
-    public updateProject_result() {
+    public deletePWDCredential_result() {
     }
 
-    public updateProject_result(
+    public deletePWDCredential_result(
+      boolean success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.ProjectNotFoundException pnfe,
-      org.apache.airavata.model.error.AuthorizationException ae)
+      org.apache.airavata.model.error.AiravataSystemException ase)
     {
       this();
+      this.success = success;
+      setSuccessIsSet(true);
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
-      this.pnfe = pnfe;
-      this.ae = ae;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public updateProject_result(updateProject_result other) {
+    public deletePWDCredential_result(deletePWDCredential_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);
       }
@@ -62320,32 +62662,49 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
-      if (other.isSetPnfe()) {
-        this.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException(other.pnfe);
-      }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
     }
 
-    public updateProject_result deepCopy() {
-      return new updateProject_result(this);
+    public deletePWDCredential_result deepCopy() {
+      return new deletePWDCredential_result(this);
     }
 
     @Override
     public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
       this.ire = null;
       this.ace = null;
       this.ase = null;
-      this.pnfe = null;
-      this.ae = null;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public deletePWDCredential_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateProject_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deletePWDCredential_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -62369,7 +62728,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public updateProject_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deletePWDCredential_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -62393,7 +62752,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public updateProject_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deletePWDCredential_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -62413,56 +62772,16 @@ public class Airavata {
       }
     }
 
-    public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
-      return this.pnfe;
-    }
-
-    public updateProject_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 org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public updateProject_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Boolean)value);
+        }
+        break;
+
       case IRE:
         if (value == null) {
           unsetIre();
@@ -62487,27 +62806,14 @@ public class Airavata {
         }
         break;
 
-      case PNFE:
-        if (value == null) {
-          unsetPnfe();
-        } else {
-          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
-        }
-        break;
-
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
       }
     }
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
       case IRE:
         return getIre();
 
@@ -62517,12 +62823,6 @@ public class Airavata {
       case ASE:
         return getAse();
 
-      case PNFE:
-        return getPnfe();
-
-      case AE:
-        return getAe();
-
       }
       throw new java.lang.IllegalStateException();
     }
@@ -62534,16 +62834,14 @@ public class Airavata {
       }
 
       switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
       case IRE:
         return isSetIre();
       case ACE:
         return isSetAce();
       case ASE:
         return isSetAse();
-      case PNFE:
-        return isSetPnfe();
-      case AE:
-        return isSetAe();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -62552,17 +62850,26 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof updateProject_result)
-        return this.equals((updateProject_result)that);
+      if (that instanceof deletePWDCredential_result)
+        return this.equals((deletePWDCredential_result)that);
       return false;
     }
 
-    public boolean equals(updateProject_result that) {
+    public boolean equals(deletePWDCredential_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
       boolean this_present_ire = true && this.isSetIre();
       boolean that_present_ire = true && that.isSetIre();
       if (this_present_ire || that_present_ire) {
@@ -62590,24 +62897,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;
-      }
-
-      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;
     }
 
@@ -62615,6 +62904,8 @@ public class Airavata {
     public int hashCode() {
       int hashCode = 1;
 
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
       hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
       if (isSetIre())
         hashCode = hashCode * 8191 + ire.hashCode();
@@ -62627,25 +62918,27 @@ public class Airavata {
       if (isSetAse())
         hashCode = hashCode * 8191 + ase.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetPnfe()) ? 131071 : 524287);
-      if (isSetPnfe())
-        hashCode = hashCode * 8191 + pnfe.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
-      if (isSetAe())
-        hashCode = hashCode * 8191 + ae.hashCode();
-
       return hashCode;
     }
 
     @Override
-    public int compareTo(updateProject_result other) {
+    public int compareTo(deletePWDCredential_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
@@ -62676,26 +62969,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetPnfe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pnfe, other.pnfe);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -62713,9 +62986,13 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateProject_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deletePWDCredential_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");
@@ -62739,22 +63016,6 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("pnfe:");
-      if (this.pnfe == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.pnfe);
-      }
-      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();
     }
@@ -62774,21 +63035,23 @@ public class Airavata {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class updateProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateProject_resultStandardScheme getScheme() {
-        return new updateProject_resultStandardScheme();
+    private static class deletePWDCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deletePWDCredential_resultStandardScheme getScheme() {
+        return new deletePWDCredential_resultStandardScheme();
       }
     }
 
-    private static class updateProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProject_result> {
+    private static class deletePWDCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePWDCredential_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, updateProject_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -62798,6 +63061,14 @@ 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();
@@ -62825,24 +63096,6 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // 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;
-            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);
           }
@@ -62854,10 +63107,15 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, updateProject_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deletePWDCredential_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);
@@ -62873,50 +63131,40 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.pnfe != null) {
-          oprot.writeFieldBegin(PNFE_FIELD_DESC);
-          struct.pnfe.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 updateProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateProject_resultTupleScheme getScheme() {
-        return new updateProject_resultTupleScheme();
+    private static class deletePWDCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deletePWDCredential_resultTupleScheme getScheme() {
+        return new deletePWDCredential_resultTupleScheme();
       }
     }
 
-    private static class updateProject_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateProject_result> {
+    private static class deletePWDCredential_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deletePWDCredential_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, updateProject_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetIre()) {
+        if (struct.isSetSuccess()) {
           optionals.set(0);
         }
-        if (struct.isSetAce()) {
+        if (struct.isSetIre()) {
           optionals.set(1);
         }
-        if (struct.isSetAse()) {
+        if (struct.isSetAce()) {
           optionals.set(2);
         }
-        if (struct.isSetPnfe()) {
+        if (struct.isSetAse()) {
           optionals.set(3);
         }
-        if (struct.isSetAe()) {
-          optionals.set(4);
+        oprot.writeBitSet(optionals, 4);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
         }
-        oprot.writeBitSet(optionals, 5);
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
@@ -62926,43 +63174,31 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
-        if (struct.isSetPnfe()) {
-          struct.pnfe.write(oprot);
-        }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, updateProject_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(5);
+        java.util.BitSet incoming = iprot.readBitSet(4);
         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(1)) {
+        if (incoming.get(2)) {
           struct.ace = new org.apache.airavata.model.error.AiravataClientException();
           struct.ace.read(iprot);
           struct.setAceIsSet(true);
         }
-        if (incoming.get(2)) {
+        if (incoming.get(3)) {
           struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(3)) {
-          struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
-          struct.pnfe.read(iprot);
-          struct.setPnfeIsSet(true);
-        }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
       }
     }
 
@@ -62971,22 +63207,25 @@ public class Airavata {
     }
   }
 
-  public static class getProject_args implements org.apache.thrift.TBase<getProject_args, getProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProject_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProject_args");
+  public static class createProject_args implements org.apache.thrift.TBase<createProject_args, createProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<createProject_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createProject_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 PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", 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)2);
+    private static final org.apache.thrift.protocol.TField PROJECT_FIELD_DESC = new org.apache.thrift.protocol.TField("project", org.apache.thrift.protocol.TType.STRUCT, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProject_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProject_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createProject_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createProject_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String projectId; // required
+    public java.lang.String gatewayId; // required
+    public org.apache.airavata.model.workspace.Project project; // 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"),
-      PROJECT_ID((short)2, "projectId");
+      GATEWAY_ID((short)2, "gatewayId"),
+      PROJECT((short)3, "project");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -63003,8 +63242,10 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // PROJECT_ID
-            return PROJECT_ID;
+          case 2: // GATEWAY_ID
+            return GATEWAY_ID;
+          case 3: // PROJECT
+            return PROJECT;
           default:
             return null;
         }
@@ -63050,51 +63291,59 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      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.PROJECT, new org.apache.thrift.meta_data.FieldMetaData("project", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.Project.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getProject_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createProject_args.class, metaDataMap);
     }
 
-    public getProject_args() {
+    public createProject_args() {
     }
 
-    public getProject_args(
+    public createProject_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String projectId)
+      java.lang.String gatewayId,
+      org.apache.airavata.model.workspace.Project project)
     {
       this();
       this.authzToken = authzToken;
-      this.projectId = projectId;
+      this.gatewayId = gatewayId;
+      this.project = project;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getProject_args(getProject_args other) {
+    public createProject_args(createProject_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetProjectId()) {
-        this.projectId = other.projectId;
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
+      }
+      if (other.isSetProject()) {
+        this.project = new org.apache.airavata.model.workspace.Project(other.project);
       }
     }
 
-    public getProject_args deepCopy() {
-      return new getProject_args(this);
+    public createProject_args deepCopy() {
+      return new createProject_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.projectId = null;
+      this.gatewayId = null;
+      this.project = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getProject_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public createProject_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -63114,27 +63363,51 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getProjectId() {
-      return this.projectId;
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public getProject_args setProjectId(java.lang.String projectId) {
-      this.projectId = projectId;
+    public createProject_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
       return this;
     }
 
-    public void unsetProjectId() {
-      this.projectId = null;
+    public void unsetGatewayId() {
+      this.gatewayId = null;
     }
 
-    /** Returns true if field projectId is set (has been assigned a value) and false otherwise */
-    public boolean isSetProjectId() {
-      return this.projectId != 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 setProjectIdIsSet(boolean value) {
+    public void setGatewayIdIsSet(boolean value) {
       if (!value) {
-        this.projectId = null;
+        this.gatewayId = null;
+      }
+    }
+
+    public org.apache.airavata.model.workspace.Project getProject() {
+      return this.project;
+    }
+
+    public createProject_args setProject(org.apache.airavata.model.workspace.Project project) {
+      this.project = project;
+      return this;
+    }
+
+    public void unsetProject() {
+      this.project = null;
+    }
+
+    /** Returns true if field project is set (has been assigned a value) and false otherwise */
+    public boolean isSetProject() {
+      return this.project != null;
+    }
+
+    public void setProjectIsSet(boolean value) {
+      if (!value) {
+        this.project = null;
       }
     }
 
@@ -63148,11 +63421,19 @@ public class Airavata {
         }
         break;
 
-      case PROJECT_ID:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetProjectId();
+          unsetGatewayId();
         } else {
-          setProjectId((java.lang.String)value);
+          setGatewayId((java.lang.String)value);
+        }
+        break;
+
+      case PROJECT:
+        if (value == null) {
+          unsetProject();
+        } else {
+          setProject((org.apache.airavata.model.workspace.Project)value);
         }
         break;
... 7731 lines suppressed ...


Mime
View raw message