You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/10/07 20:52:29 UTC

[02/31] airavata git commit: Feature request: User Compute Preference

http://git-wip-us.apache.org/repos/asf/airavata/blob/81c6ea84/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
index 36420b7..ecd0a0b 100644
--- a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
+++ b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
@@ -50,7 +50,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-08-09")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-01")
 public class RegistryService {
 
   public interface Iface {
@@ -2057,20 +2057,285 @@ public class RegistryService {
     public boolean deleteGatewayStoragePreference(String gatewayID, String storageId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     /**
-     * Delete the Storage Resource Preference of a registered gateway profile.
+     * Register a User Resource Profile.
+     * 
+     * @param userResourceProfile
+     *    User Resource Profile Object.
+     *    The userId should be obtained from Airavata user profile and passed to register a corresponding
+     *      resource profile.
+     * 
+     * @return status
+     *   Returns a success/failure of the update.
+     * 
+     * 
+     * @param userResourceProfile
+     */
+    public String registerUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Fetch the given User Resource Resource Profile.
+     * 
+     * @param userId
+     *   The identifier for the requested User Resource resource.
      * 
      * @param gatewayID
-     *   The identifier of the gateway profile to be deleted.
+     *   The identifier to link gateway for the requested User Resource resource.
      * 
-     * @param storageId
+     * @return userResourceProfile
+     *    User Resource Profile Object.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     */
+    public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getUserResourceProfile(String userId, String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Update a User Resource Profile.
+     * 
+     * @param userId
+     *   The identifier for the requested user resource to be updated.
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @param userResourceProfile
+     *    User Resource Profile Object.
+     * 
+     * @return status
+     *   Returns a success/failure of the update.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     * @param userResourceProfile
+     */
+    public boolean updateUserResourceProfile(String userId, String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Delete the given User Resource Profile.
+     * 
+     * @param userId
+     *   The identifier for the requested user resource to be deleted.
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @return status
+     *   Returns a success/failure of the deletion.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     */
+    public boolean deleteUserResourceProfile(String userId, String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Add a Compute Resource Preference to a registered user resource profile.
+     * 
+     * @param userId
+     *   The identifier for the user resource profile to be added.
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @param computeResourceId
+     *   Preferences related to a particular compute resource
+     * 
+     * @param computeResourcePreference
+     *   The ComputeResourcePreference object to be added to the resource profile.
+     * 
+     * @return status
+     *   Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+     *    Instead an update should be used.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     * @param computeResourceId
+     * @param userComputeResourcePreference
+     */
+    public boolean addUserComputeResourcePreference(String userId, String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Add a Storage Resource Preference to a registered user profile.
+     * 
+     * @param userId
+     *   The identifier of the userId profile to be added.
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @param userStorageResourceId
+     *   Preferences related to a particular compute resource
+     * 
+     * @param userStoragePreference
+     *   The ComputeResourcePreference object to be added to the resource profile.
+     * 
+     * @return status
+     *   Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+     *    Instead an update should be used.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     * @param userStorageResourceId
+     * @param userStoragePreference
+     */
+    public boolean addUserStoragePreference(String userId, String gatewayID, String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * 
+     * Fetch a Compute Resource Preference of a registered user resource profile.
+     * 
+     * @param userId
+     *   The identifier for the user resource profile to be requested
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @param userComputeResourceId
+     *   Preferences related to a particular compute resource
+     * 
+     * @return userComputeResourcePreference
+     *   Returns the ComputeResourcePreference object.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     * @param userComputeResourceId
+     */
+    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * 
+     * Fetch a Storage Resource Preference of a registered user profile.
+     * 
+     * @param userId
+     *   The identifier of the user resource profile to request to fetch the particular storage resource preference.
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @param userStorageResourceId
+     *   Identifier of the Stprage Preference required to be fetched.
+     * 
+     * @return UserStoragePreference
+     *   Returns the StoragePreference object.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     * @param userStorageResourceId
+     */
+    public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getUserStoragePreference(String userId, String gatewayID, String userStorageResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * 
+     * Fetch all user resource Profiles registered
+     * 
+     * @return userResourceProfile
+     *   Returns all the UserResourcePrifle list object.
+     * 
+     * 
+     */
+    public List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getAllUserResourceProfiles() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Update a Compute Resource Preference to a registered user resource profile.
+     * 
+     * @param userId
+     *   The identifier for the user resource profile to be updated.
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @param userComputeResourceId
+     *   Preferences related to a particular compute resource
+     * 
+     * @param userComputeResourcePreference
+     *   The ComputeResourcePreference object to be updated to the resource profile.
+     * 
+     * @return status
+     *   Returns a success/failure of the updation.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     * @param userComputeResourceId
+     * @param userComputeResourcePreference
+     */
+    public boolean updateUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Update a Storage Resource Preference of a registered user profile.
+     * 
+     * @param userId
+     *   The identifier of the user resource profile to be updated.
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @param userStorageId
+     *   The Storage resource identifier of the one that you want to update
+     * 
+     * @param userStoragePreference
+     *   The storagePreference object to be updated to the resource profile.
+     * 
+     * @return status
+     *   Returns a success/failure of the updation.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     * @param userStorageId
+     * @param userStoragePreference
+     */
+    public boolean updateUserStoragePreference(String userId, String gatewayID, String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Delete the Compute Resource Preference of a registered user resource profile.
+     * 
+     * @param userId
+     *   The identifier for the user resource profile to be deleted.
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @param userComputeResourceId
+     *   Preferences related to a particular compute resource
+     * 
+     * @return status
+     *   Returns a success/failure of the deletion.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     * @param userComputeResourceId
+     */
+    public boolean deleteUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Delete the Storage Resource Preference of a registered user resource profile.
+     * 
+     * @param userId
+     *   The identifier of the user resource profile to be deleted.
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource resource.
+     * 
+     * @param userStorageId
      *   ID of the storage preference you want to delete.
      * 
      * @return status
      *   Returns a success/failure of the deletion.
      * 
      * 
-     * @param gatewayId
+     * @param userId
+     * @param gatewayID
+     * @param userStorageId
      */
+    public boolean deleteUserStoragePreference(String userId, String gatewayID, String userStorageId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
     public List<String> getAllWorkflows(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     /**
@@ -2346,6 +2611,32 @@ public class RegistryService {
 
     public void deleteGatewayStoragePreference(String gatewayID, String storageId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void registerUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getUserResourceProfile(String userId, String gatewayID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateUserResourceProfile(String userId, String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void deleteUserResourceProfile(String userId, String gatewayID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void addUserComputeResourcePreference(String userId, String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void addUserStoragePreference(String userId, String gatewayID, String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getUserStoragePreference(String userId, String gatewayID, String userStorageResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getAllUserResourceProfiles(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateUserStoragePreference(String userId, String gatewayID, String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void deleteUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void deleteUserStoragePreference(String userId, String gatewayID, String userStorageId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void getAllWorkflows(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getWorkflow(String workflowTemplateId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -5505,6 +5796,367 @@ public class RegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGatewayStoragePreference failed: unknown result");
     }
 
+    public String registerUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_registerUserResourceProfile(userResourceProfile);
+      return recv_registerUserResourceProfile();
+    }
+
+    public void send_registerUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) throws org.apache.thrift.TException
+    {
+      registerUserResourceProfile_args args = new registerUserResourceProfile_args();
+      args.setUserResourceProfile(userResourceProfile);
+      sendBase("registerUserResourceProfile", args);
+    }
+
+    public String recv_registerUserResourceProfile() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      registerUserResourceProfile_result result = new registerUserResourceProfile_result();
+      receiveBase(result, "registerUserResourceProfile");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerUserResourceProfile failed: unknown result");
+    }
+
+    public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getUserResourceProfile(String userId, String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getUserResourceProfile(userId, gatewayID);
+      return recv_getUserResourceProfile();
+    }
+
+    public void send_getUserResourceProfile(String userId, String gatewayID) throws org.apache.thrift.TException
+    {
+      getUserResourceProfile_args args = new getUserResourceProfile_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      sendBase("getUserResourceProfile", args);
+    }
+
+    public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile recv_getUserResourceProfile() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getUserResourceProfile_result result = new getUserResourceProfile_result();
+      receiveBase(result, "getUserResourceProfile");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserResourceProfile failed: unknown result");
+    }
+
+    public boolean updateUserResourceProfile(String userId, String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_updateUserResourceProfile(userId, gatewayID, userResourceProfile);
+      return recv_updateUserResourceProfile();
+    }
+
+    public void send_updateUserResourceProfile(String userId, String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) throws org.apache.thrift.TException
+    {
+      updateUserResourceProfile_args args = new updateUserResourceProfile_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setUserResourceProfile(userResourceProfile);
+      sendBase("updateUserResourceProfile", args);
+    }
+
+    public boolean recv_updateUserResourceProfile() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      updateUserResourceProfile_result result = new updateUserResourceProfile_result();
+      receiveBase(result, "updateUserResourceProfile");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserResourceProfile failed: unknown result");
+    }
+
+    public boolean deleteUserResourceProfile(String userId, String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_deleteUserResourceProfile(userId, gatewayID);
+      return recv_deleteUserResourceProfile();
+    }
+
+    public void send_deleteUserResourceProfile(String userId, String gatewayID) throws org.apache.thrift.TException
+    {
+      deleteUserResourceProfile_args args = new deleteUserResourceProfile_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      sendBase("deleteUserResourceProfile", args);
+    }
+
+    public boolean recv_deleteUserResourceProfile() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
+      receiveBase(result, "deleteUserResourceProfile");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserResourceProfile failed: unknown result");
+    }
+
+    public boolean addUserComputeResourcePreference(String userId, String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_addUserComputeResourcePreference(userId, gatewayID, computeResourceId, userComputeResourcePreference);
+      return recv_addUserComputeResourcePreference();
+    }
+
+    public void send_addUserComputeResourcePreference(String userId, String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) throws org.apache.thrift.TException
+    {
+      addUserComputeResourcePreference_args args = new addUserComputeResourcePreference_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setComputeResourceId(computeResourceId);
+      args.setUserComputeResourcePreference(userComputeResourcePreference);
+      sendBase("addUserComputeResourcePreference", args);
+    }
+
+    public boolean recv_addUserComputeResourcePreference() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
+      receiveBase(result, "addUserComputeResourcePreference");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUserComputeResourcePreference failed: unknown result");
+    }
+
+    public boolean addUserStoragePreference(String userId, String gatewayID, String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_addUserStoragePreference(userId, gatewayID, userStorageResourceId, userStoragePreference);
+      return recv_addUserStoragePreference();
+    }
+
+    public void send_addUserStoragePreference(String userId, String gatewayID, String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) throws org.apache.thrift.TException
+    {
+      addUserStoragePreference_args args = new addUserStoragePreference_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setUserStorageResourceId(userStorageResourceId);
+      args.setUserStoragePreference(userStoragePreference);
+      sendBase("addUserStoragePreference", args);
+    }
+
+    public boolean recv_addUserStoragePreference() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      addUserStoragePreference_result result = new addUserStoragePreference_result();
+      receiveBase(result, "addUserStoragePreference");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUserStoragePreference failed: unknown result");
+    }
+
+    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getUserComputeResourcePreference(userId, gatewayID, userComputeResourceId);
+      return recv_getUserComputeResourcePreference();
+    }
+
+    public void send_getUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId) throws org.apache.thrift.TException
+    {
+      getUserComputeResourcePreference_args args = new getUserComputeResourcePreference_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setUserComputeResourceId(userComputeResourceId);
+      sendBase("getUserComputeResourcePreference", args);
+    }
+
+    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference recv_getUserComputeResourcePreference() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
+      receiveBase(result, "getUserComputeResourcePreference");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserComputeResourcePreference failed: unknown result");
+    }
+
+    public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getUserStoragePreference(String userId, String gatewayID, String userStorageResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getUserStoragePreference(userId, gatewayID, userStorageResourceId);
+      return recv_getUserStoragePreference();
+    }
+
+    public void send_getUserStoragePreference(String userId, String gatewayID, String userStorageResourceId) throws org.apache.thrift.TException
+    {
+      getUserStoragePreference_args args = new getUserStoragePreference_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setUserStorageResourceId(userStorageResourceId);
+      sendBase("getUserStoragePreference", args);
+    }
+
+    public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference recv_getUserStoragePreference() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getUserStoragePreference_result result = new getUserStoragePreference_result();
+      receiveBase(result, "getUserStoragePreference");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserStoragePreference failed: unknown result");
+    }
+
+    public List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getAllUserResourceProfiles() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getAllUserResourceProfiles();
+      return recv_getAllUserResourceProfiles();
+    }
+
+    public void send_getAllUserResourceProfiles() throws org.apache.thrift.TException
+    {
+      getAllUserResourceProfiles_args args = new getAllUserResourceProfiles_args();
+      sendBase("getAllUserResourceProfiles", args);
+    }
+
+    public List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> recv_getAllUserResourceProfiles() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
+      receiveBase(result, "getAllUserResourceProfiles");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserResourceProfiles failed: unknown result");
+    }
+
+    public boolean updateUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_updateUserComputeResourcePreference(userId, gatewayID, userComputeResourceId, userComputeResourcePreference);
+      return recv_updateUserComputeResourcePreference();
+    }
+
+    public void send_updateUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) throws org.apache.thrift.TException
+    {
+      updateUserComputeResourcePreference_args args = new updateUserComputeResourcePreference_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setUserComputeResourceId(userComputeResourceId);
+      args.setUserComputeResourcePreference(userComputeResourcePreference);
+      sendBase("updateUserComputeResourcePreference", args);
+    }
+
+    public boolean recv_updateUserComputeResourcePreference() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
+      receiveBase(result, "updateUserComputeResourcePreference");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserComputeResourcePreference failed: unknown result");
+    }
+
+    public boolean updateUserStoragePreference(String userId, String gatewayID, String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_updateUserStoragePreference(userId, gatewayID, userStorageId, userStoragePreference);
+      return recv_updateUserStoragePreference();
+    }
+
+    public void send_updateUserStoragePreference(String userId, String gatewayID, String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) throws org.apache.thrift.TException
+    {
+      updateUserStoragePreference_args args = new updateUserStoragePreference_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setUserStorageId(userStorageId);
+      args.setUserStoragePreference(userStoragePreference);
+      sendBase("updateUserStoragePreference", args);
+    }
+
+    public boolean recv_updateUserStoragePreference() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      updateUserStoragePreference_result result = new updateUserStoragePreference_result();
+      receiveBase(result, "updateUserStoragePreference");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserStoragePreference failed: unknown result");
+    }
+
+    public boolean deleteUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_deleteUserComputeResourcePreference(userId, gatewayID, userComputeResourceId);
+      return recv_deleteUserComputeResourcePreference();
+    }
+
+    public void send_deleteUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId) throws org.apache.thrift.TException
+    {
+      deleteUserComputeResourcePreference_args args = new deleteUserComputeResourcePreference_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setUserComputeResourceId(userComputeResourceId);
+      sendBase("deleteUserComputeResourcePreference", args);
+    }
+
+    public boolean recv_deleteUserComputeResourcePreference() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
+      receiveBase(result, "deleteUserComputeResourcePreference");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserComputeResourcePreference failed: unknown result");
+    }
+
+    public boolean deleteUserStoragePreference(String userId, String gatewayID, String userStorageId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_deleteUserStoragePreference(userId, gatewayID, userStorageId);
+      return recv_deleteUserStoragePreference();
+    }
+
+    public void send_deleteUserStoragePreference(String userId, String gatewayID, String userStorageId) throws org.apache.thrift.TException
+    {
+      deleteUserStoragePreference_args args = new deleteUserStoragePreference_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setUserStorageId(userStorageId);
+      sendBase("deleteUserStoragePreference", args);
+    }
+
+    public boolean recv_deleteUserStoragePreference() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
+      receiveBase(result, "deleteUserStoragePreference");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserStoragePreference failed: unknown result");
+    }
+
     public List<String> getAllWorkflows(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllWorkflows(gatewayId);
@@ -9824,6 +10476,491 @@ public class RegistryService {
       }
     }
 
+    public void registerUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      registerUserResourceProfile_call method_call = new registerUserResourceProfile_call(userResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class registerUserResourceProfile_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile;
+      public registerUserResourceProfile_call(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userResourceProfile = userResourceProfile;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        registerUserResourceProfile_args args = new registerUserResourceProfile_args();
+        args.setUserResourceProfile(userResourceProfile);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_registerUserResourceProfile();
+      }
+    }
+
+    public void getUserResourceProfile(String userId, String gatewayID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getUserResourceProfile_call method_call = new getUserResourceProfile_call(userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getUserResourceProfile_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      public getUserResourceProfile_call(String userId, String gatewayID, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getUserResourceProfile_args args = new getUserResourceProfile_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getUserResourceProfile();
+      }
+    }
+
+    public void updateUserResourceProfile(String userId, String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateUserResourceProfile_call method_call = new updateUserResourceProfile_call(userId, gatewayID, userResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateUserResourceProfile_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      private org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile;
+      public updateUserResourceProfile_call(String userId, String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+        this.userResourceProfile = userResourceProfile;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateUserResourceProfile_args args = new updateUserResourceProfile_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setUserResourceProfile(userResourceProfile);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_updateUserResourceProfile();
+      }
+    }
+
+    public void deleteUserResourceProfile(String userId, String gatewayID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      deleteUserResourceProfile_call method_call = new deleteUserResourceProfile_call(userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class deleteUserResourceProfile_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      public deleteUserResourceProfile_call(String userId, String gatewayID, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteUserResourceProfile_args args = new deleteUserResourceProfile_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_deleteUserResourceProfile();
+      }
+    }
+
+    public void addUserComputeResourcePreference(String userId, String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      addUserComputeResourcePreference_call method_call = new addUserComputeResourcePreference_call(userId, gatewayID, computeResourceId, userComputeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class addUserComputeResourcePreference_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      private String computeResourceId;
+      private org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference;
+      public addUserComputeResourcePreference_call(String userId, String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+        this.computeResourceId = computeResourceId;
+        this.userComputeResourcePreference = userComputeResourcePreference;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addUserComputeResourcePreference_args args = new addUserComputeResourcePreference_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setComputeResourceId(computeResourceId);
+        args.setUserComputeResourcePreference(userComputeResourcePreference);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_addUserComputeResourcePreference();
+      }
+    }
+
+    public void addUserStoragePreference(String userId, String gatewayID, String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      addUserStoragePreference_call method_call = new addUserStoragePreference_call(userId, gatewayID, userStorageResourceId, userStoragePreference, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class addUserStoragePreference_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      private String userStorageResourceId;
+      private org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference;
+      public addUserStoragePreference_call(String userId, String gatewayID, String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+        this.userStorageResourceId = userStorageResourceId;
+        this.userStoragePreference = userStoragePreference;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addUserStoragePreference_args args = new addUserStoragePreference_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setUserStorageResourceId(userStorageResourceId);
+        args.setUserStoragePreference(userStoragePreference);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_addUserStoragePreference();
+      }
+    }
+
+    public void getUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getUserComputeResourcePreference_call method_call = new getUserComputeResourcePreference_call(userId, gatewayID, userComputeResourceId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getUserComputeResourcePreference_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      private String userComputeResourceId;
+      public getUserComputeResourcePreference_call(String userId, String gatewayID, String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+        this.userComputeResourceId = userComputeResourceId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getUserComputeResourcePreference_args args = new getUserComputeResourcePreference_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setUserComputeResourceId(userComputeResourceId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getUserComputeResourcePreference();
+      }
+    }
+
+    public void getUserStoragePreference(String userId, String gatewayID, String userStorageResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getUserStoragePreference_call method_call = new getUserStoragePreference_call(userId, gatewayID, userStorageResourceId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getUserStoragePreference_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      private String userStorageResourceId;
+      public getUserStoragePreference_call(String userId, String gatewayID, String userStorageResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+        this.userStorageResourceId = userStorageResourceId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getUserStoragePreference_args args = new getUserStoragePreference_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setUserStorageResourceId(userStorageResourceId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getUserStoragePreference();
+      }
+    }
+
+    public void getAllUserResourceProfiles(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getAllUserResourceProfiles_call method_call = new getAllUserResourceProfiles_call(resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getAllUserResourceProfiles_call extends org.apache.thrift.async.TAsyncMethodCall {
+      public getAllUserResourceProfiles_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserResourceProfiles", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getAllUserResourceProfiles_args args = new getAllUserResourceProfiles_args();
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getAllUserResourceProfiles();
+      }
+    }
+
+    public void updateUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateUserComputeResourcePreference_call method_call = new updateUserComputeResourcePreference_call(userId, gatewayID, userComputeResourceId, userComputeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateUserComputeResourcePreference_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      private String userComputeResourceId;
+      private org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference;
+      public updateUserComputeResourcePreference_call(String userId, String gatewayID, String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+        this.userComputeResourceId = userComputeResourceId;
+        this.userComputeResourcePreference = userComputeResourcePreference;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateUserComputeResourcePreference_args args = new updateUserComputeResourcePreference_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setUserComputeResourceId(userComputeResourceId);
+        args.setUserComputeResourcePreference(userComputeResourcePreference);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_updateUserComputeResourcePreference();
+      }
+    }
+
+    public void updateUserStoragePreference(String userId, String gatewayID, String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateUserStoragePreference_call method_call = new updateUserStoragePreference_call(userId, gatewayID, userStorageId, userStoragePreference, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateUserStoragePreference_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      private String userStorageId;
+      private org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference;
+      public updateUserStoragePreference_call(String userId, String gatewayID, String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+        this.userStorageId = userStorageId;
+        this.userStoragePreference = userStoragePreference;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateUserStoragePreference_args args = new updateUserStoragePreference_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setUserStorageId(userStorageId);
+        args.setUserStoragePreference(userStoragePreference);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_updateUserStoragePreference();
+      }
+    }
+
+    public void deleteUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      deleteUserComputeResourcePreference_call method_call = new deleteUserComputeResourcePreference_call(userId, gatewayID, userComputeResourceId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class deleteUserComputeResourcePreference_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      private String userComputeResourceId;
+      public deleteUserComputeResourcePreference_call(String userId, String gatewayID, String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+        this.userComputeResourceId = userComputeResourceId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteUserComputeResourcePreference_args args = new deleteUserComputeResourcePreference_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setUserComputeResourceId(userComputeResourceId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_deleteUserComputeResourcePreference();
+      }
+    }
+
+    public void deleteUserStoragePreference(String userId, String gatewayID, String userStorageId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      deleteUserStoragePreference_call method_call = new deleteUserStoragePreference_call(userId, gatewayID, userStorageId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class deleteUserStoragePreference_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      private String gatewayID;
+      private String userStorageId;
+      public deleteUserStoragePreference_call(String userId, String gatewayID, String userStorageId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.userId = userId;
+        this.gatewayID = gatewayID;
+        this.userStorageId = userStorageId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteUserStoragePreference_args args = new deleteUserStoragePreference_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setUserStorageId(userStorageId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_deleteUserStoragePreference();
+      }
+    }
+
     public void getAllWorkflows(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllWorkflows_call method_call = new getAllWorkflows_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10344,6 +11481,19 @@ public class RegistryService {
       processMap.put("updateGatewayStoragePreference", new updateGatewayStoragePreference());
       processMap.put("deleteGatewayComputeResourcePreference", new deleteGatewayComputeResourcePreference());
       processMap.put("deleteGatewayStoragePreference", new deleteGatewayStoragePreference());
+      processMap.put("registerUserResourceProfile", new registerUserResourceProfile());
+      processMap.put("getUserResourceProfile", new getUserResourceProfile());
+      processMap.put("updateUserResourceProfile", new updateUserResourceProfile());
+      processMap.put("deleteUserResourceProfile", new deleteUserResourceProfile());
+      processMap.put("addUserComputeResourcePreference", new addUserComputeResourcePreference());
+      processMap.put("addUserStoragePreference", new addUserStoragePreference());
+      processMap.put("getUserComputeResourcePreference", new getUserComputeResourcePreference());
+      processMap.put("getUserStoragePreference", new getUserStoragePreference());
+      processMap.put("getAllUserResourceProfiles", new getAllUserResourceProfiles());
+      processMap.put("updateUserComputeResourcePreference", new updateUserComputeResourcePreference());
+      processMap.put("updateUserStoragePreference", new updateUserStoragePreference());
+      processMap.put("deleteUserComputeResourcePreference", new deleteUserComputeResourcePreference());
+      processMap.put("deleteUserStoragePreference", new deleteUserStoragePreference());
       processMap.put("getAllWorkflows", new getAllWorkflows());
       processMap.put("getWorkflow", new getWorkflow());
       processMap.put("deleteWorkflow", new deleteWorkflow());
@@ -13210,6 +14360,326 @@ public class RegistryService {
       }
     }
 
+    public static class registerUserResourceProfile<I extends Iface> extends org.apache.thrift.ProcessFunction<I, registerUserResourceProfile_args> {
+      public registerUserResourceProfile() {
+        super("registerUserResourceProfile");
+      }
+
+      public registerUserResourceProfile_args getEmptyArgsInstance() {
+        return new registerUserResourceProfile_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public registerUserResourceProfile_result getResult(I iface, registerUserResourceProfile_args args) throws org.apache.thrift.TException {
+        registerUserResourceProfile_result result = new registerUserResourceProfile_result();
+        try {
+          result.success = iface.registerUserResourceProfile(args.userResourceProfile);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getUserResourceProfile<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserResourceProfile_args> {
+      public getUserResourceProfile() {
+        super("getUserResourceProfile");
+      }
+
+      public getUserResourceProfile_args getEmptyArgsInstance() {
+        return new getUserResourceProfile_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getUserResourceProfile_result getResult(I iface, getUserResourceProfile_args args) throws org.apache.thrift.TException {
+        getUserResourceProfile_result result = new getUserResourceProfile_result();
+        try {
+          result.success = iface.getUserResourceProfile(args.userId, args.gatewayID);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class updateUserResourceProfile<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateUserResourceProfile_args> {
+      public updateUserResourceProfile() {
+        super("updateUserResourceProfile");
+      }
+
+      public updateUserResourceProfile_args getEmptyArgsInstance() {
+        return new updateUserResourceProfile_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateUserResourceProfile_result getResult(I iface, updateUserResourceProfile_args args) throws org.apache.thrift.TException {
+        updateUserResourceProfile_result result = new updateUserResourceProfile_result();
+        try {
+          result.success = iface.updateUserResourceProfile(args.userId, args.gatewayID, args.userResourceProfile);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class deleteUserResourceProfile<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteUserResourceProfile_args> {
+      public deleteUserResourceProfile() {
+        super("deleteUserResourceProfile");
+      }
+
+      public deleteUserResourceProfile_args getEmptyArgsInstance() {
+        return new deleteUserResourceProfile_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public deleteUserResourceProfile_result getResult(I iface, deleteUserResourceProfile_args args) throws org.apache.thrift.TException {
+        deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
+        try {
+          result.success = iface.deleteUserResourceProfile(args.userId, args.gatewayID);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class addUserComputeResourcePreference<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addUserComputeResourcePreference_args> {
+      public addUserComputeResourcePreference() {
+        super("addUserComputeResourcePreference");
+      }
+
+      public addUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new addUserComputeResourcePreference_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public addUserComputeResourcePreference_result getResult(I iface, addUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
+        addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
+        try {
+          result.success = iface.addUserComputeResourcePreference(args.userId, args.gatewayID, args.computeResourceId, args.userComputeResourcePreference);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class addUserStoragePreference<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addUserStoragePreference_args> {
+      public addUserStoragePreference() {
+        super("addUserStoragePreference");
+      }
+
+      public addUserStoragePreference_args getEmptyArgsInstance() {
+        return new addUserStoragePreference_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public addUserStoragePreference_result getResult(I iface, addUserStoragePreference_args args) throws org.apache.thrift.TException {
+        addUserStoragePreference_result result = new addUserStoragePreference_result();
+        try {
+          result.success = iface.addUserStoragePreference(args.userId, args.gatewayID, args.userStorageResourceId, args.userStoragePreference);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getUserComputeResourcePreference<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserComputeResourcePreference_args> {
+      public getUserComputeResourcePreference() {
+        super("getUserComputeResourcePreference");
+      }
+
+      public getUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new getUserComputeResourcePreference_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getUserComputeResourcePreference_result getResult(I iface, getUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
+        getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
+        try {
+          result.success = iface.getUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getUserStoragePreference<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserStoragePreference_args> {
+      public getUserStoragePreference() {
+        super("getUserStoragePreference");
+      }
+
+      public getUserStoragePreference_args getEmptyArgsInstance() {
+        return new getUserStoragePreference_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getUserStoragePreference_result getResult(I iface, getUserStoragePreference_args args) throws org.apache.thrift.TException {
+        getUserStoragePreference_result result = new getUserStoragePreference_result();
+        try {
+          result.success = iface.getUserStoragePreference(args.userId, args.gatewayID, args.userStorageResourceId);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getAllUserResourceProfiles<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllUserResourceProfiles_args> {
+      public getAllUserResourceProfiles() {
+        super("getAllUserResourceProfiles");
+      }
+
+      public getAllUserResourceProfiles_args getEmptyArgsInstance() {
+        return new getAllUserResourceProfiles_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getAllUserResourceProfiles_result getResult(I iface, getAllUserResourceProfiles_args args) throws org.apache.thrift.TException {
+        getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
+        try {
+          result.success = iface.getAllUserResourceProfiles();
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class updateUserComputeResourcePreference<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateUserComputeResourcePreference_args> {
+      public updateUserComputeResourcePreference() {
+        super("updateUserComputeResourcePreference");
+      }
+
+      public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new updateUserComputeResourcePreference_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateUserComputeResourcePreference_result getResult(I iface, updateUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
+        updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
+        try {
+          result.success = iface.updateUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class updateUserStoragePreference<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateUserStoragePreference_args> {
+      public updateUserStoragePreference() {
+        super("updateUserStoragePreference");
+      }
+
+      public updateUserStoragePreference_args getEmptyArgsInstance() {
+        return new updateUserStoragePreference_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateUserStoragePreference_result getResult(I iface, updateUserStoragePreference_args args) throws org.apache.thrift.TException {
+        updateUserStoragePreference_result result = new updateUserStoragePreference_result();
+        try {
+          result.success = iface.updateUserStoragePreference(args.userId, args.gatewayID, args.userStorageId, args.userStoragePreference);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class deleteUserComputeResourcePreference<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteUserComputeResourcePreference_args> {
+      public deleteUserComputeResourcePreference() {
+        super("deleteUserComputeResourcePreference");
+      }
+
+      public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
+        return new deleteUserComputeResourcePreference_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public deleteUserComputeResourcePreference_result getResult(I iface, deleteUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
+        deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
+        try {
+          result.success = iface.deleteUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class deleteUserStoragePreference<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteUserStoragePreference_args> {
+      public deleteUserStoragePreference() {
+        super("deleteUserStoragePreference");
+      }
+
+      public deleteUserStoragePreference_args getEmptyArgsInstance() {
+        return new deleteUserStoragePreference_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public deleteUserStoragePreference_result getResult(I iface, deleteUserStoragePreference_args args) throws org.apache.thrift.TException {
+        deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
+        try {
+          result.success = iface.deleteUserStoragePreference(args.userId, args.gatewayID, args.userStorageId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
     public static class getAllWorkflows<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllWorkflows_args> {
       public getAllWorkflows() {
         super("getAllWorkflows");
@@ -13629,6 +15099,19 @@ public class RegistryService {
       processMap.put("updateGatewayStoragePreference", new updateGatewayStoragePreference());
       processMap.put("deleteGatewayComputeResourcePreference", new deleteGatewayComputeResourcePreference());
       processMap.put("deleteGatewayStoragePreference", new deleteGatewayStoragePreference());
+      processMap.put("registerUserResourceProfile", new registerUserResourceProfile());
+      processMap.put("getUserResourceProfile", new getUserResourceProfile());
+      processMap.put("updateUserResourceProfile", new updateUserResourceProfile());
+      processMap.put("deleteUserResourceProfile", new deleteUserResourceProfile());
+      processMap.put("addUserComputeResourcePreference", new addUserComputeResourcePreference());
+      processMap.put("addUserStoragePreference", new addUserStoragePreference());
+      processMap.put("getUserComputeResourcePreference", new getUserComputeResourcePreference());
+      processMap.put("getUserStoragePreference", new getUserStoragePreference());
+      processMap.put("getAllUserResourceProfiles", new getAllUserResourceProfiles());
+      processMap.put("updateUserComputeResourcePreference", new updateUserComputeResourcePreference());
+      processMap.put("updateUserStoragePreference", new updateUserStoragePreference());
+      processMap.put("deleteUserComputeResourcePreference", new deleteUserComputeResourcePreference());
+      processMap.put("deleteUserStoragePreference", new deleteUserStoragePreference());
       processMap.put("getAllWorkflows", new getAllWorkflows());
       processMap.put("getWorkflow", new getWorkflow());
       processM

<TRUNCATED>