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:44 UTC

[17/31] airavata git commit: correcting the registry code, testing not yet complete

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 4fcd5b1..48b1845 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -2825,10 +2825,278 @@ class AiravataHandler : virtual public AiravataIf {
   }
 
   /**
-   * Delete the Storage Resource Preference of a registered gateway profile.
+   * Register User Resource Profile.
    * 
-   * @param gatewayID
-   *   The identifier of the gateway profile to be deleted.
+   * @param UserResourceProfile
+   *    User Resource Profile Object.
+   *    The userId should be obtained from Airavata user profile data model and passed to register a corresponding
+   *      resource profile.
+   * 
+   * @return status
+   *   Returns a success/failure of the update.
+   * 
+   * 
+   * @param authzToken
+   * @param userResourceProfile
+   */
+  void registerUserResourceProfile(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::userresourceprofile::UserResourceProfile& userResourceProfile) {
+    // Your implementation goes here
+    printf("registerUserResourceProfile\n");
+  }
+
+  /**
+   * Fetch the given User Resource Profile.
+   * 
+   * @param userId
+   *   The identifier for the requested user resource profile.
+   * 
+   * @return UserResourceProfile
+   *    User Resource Profile Object.
+   * 
+   * 
+   * @param authzToken
+   * @param userId
+   */
+  void getUserResourceProfile( ::apache::airavata::model::appcatalog::userresourceprofile::UserResourceProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId) {
+    // Your implementation goes here
+    printf("getUserResourceProfile\n");
+  }
+
+  /**
+   * Update a User Resource Profile.
+   * 
+   * @param userId
+   *   The identifier for the requested user resource to be updated.
+   * 
+   * @param UserResourceProfile
+   *    User Resource Profile Object.
+   * 
+   * @return status
+   *   Returns a success/failure of the update.
+   * 
+   * 
+   * @param authzToken
+   * @param userId
+   * @param userResourceProfile
+   */
+  bool updateUserResourceProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const  ::apache::airavata::model::appcatalog::userresourceprofile::UserResourceProfile& userResourceProfile) {
+    // Your implementation goes here
+    printf("updateUserResourceProfile\n");
+  }
+
+  /**
+   * Delete the given User Resource Profile.
+   * 
+   * @param userId
+   *   The identifier for the requested user resource to be deleted.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param authzToken
+   * @param userId
+   */
+  bool deleteUserResourceProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId) {
+    // Your implementation goes here
+    printf("deleteUserResourceProfile\n");
+  }
+
+  /**
+   * Add a Compute Resource Preference to a registered User profile.
+   * 
+   * @param userId
+   *   The identifier for the User resource profile to be added.
+   * 
+   * @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 authzToken
+   * @param userId
+   * @param computeResourceId
+   * @param computeResourcePreference
+   */
+  bool addUserComputeResourcePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::userresourceprofile::ComputeResourcePreference& computeResourcePreference) {
+    // Your implementation goes here
+    printf("addUserComputeResourcePreference\n");
+  }
+
+  /**
+   * Add a Storage Resource Preference to a registered user resource profile.
+   * 
+   * @param userId
+   *   The identifier of the user resource profile to be added.
+   * 
+   * @param storageResourceId
+   *   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 authzToken
+   * @param userId
+   * @param storageResourceId
+   * @param storagePreference
+   */
+  bool addUserStoragePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& storageResourceId, const  ::apache::airavata::model::appcatalog::userresourceprofile::StoragePreference& storagePreference) {
+    // Your implementation goes here
+    printf("addUserStoragePreference\n");
+  }
+
+  /**
+   * 
+   * Fetch a Compute Resource Preference of a registered user resource profile.
+   * 
+   * @param userId
+   *   The identifier for the user profile to be requested
+   * 
+   * @param computeResourceId
+   *   Preferences related to a particular compute resource
+   * 
+   * @return computeResourcePreference
+   *   Returns the ComputeResourcePreference object.
+   * 
+   * 
+   * @param authzToken
+   * @param userId
+   * @param computeResourceId
+   */
+  void getUserComputeResourcePreference( ::apache::airavata::model::appcatalog::userresourceprofile::ComputeResourcePreference& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& computeResourceId) {
+    // Your implementation goes here
+    printf("getUserComputeResourcePreference\n");
+  }
+
+  /**
+   * 
+   * Fetch a Storage Resource Preference of a registered user resource profile.
+   * 
+   * @param userId
+   *   The identifier of the user resource profile to request to fetch the particular storage resource preference.
+   * 
+   * @param storageResourceId
+   *   Identifier of the Stprage Preference required to be fetched.
+   * 
+   * @return StoragePreference
+   *   Returns the StoragePreference object.
+   * 
+   * 
+   * @param authzToken
+   * @param userId
+   * @param storageResourceId
+   */
+  void getUserStoragePreference( ::apache::airavata::model::appcatalog::userresourceprofile::StoragePreference& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& storageResourceId) {
+    // Your implementation goes here
+    printf("getUserStoragePreference\n");
+  }
+
+  /**
+   * 
+   * Fetch all user resources Profiles registered
+   * 
+   * @return UserResourceProfile
+   *   Returns all the UserResourcePrifle list object.
+   * 
+   * 
+   * 
+   * @param authzToken
+   */
+  void getAllUserResourceProfiles(std::vector< ::apache::airavata::model::appcatalog::userresourceprofile::UserResourceProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken) {
+    // Your implementation goes here
+    printf("getAllUserResourceProfiles\n");
+  }
+
+  /**
+   * Update a Compute Resource Preference to a registered user resource profile.
+   * 
+   * @param userId
+   *   The identifier for the user profile to be updated.
+   * 
+   * @param computeResourceId
+   *   Preferences related to a particular compute resource
+   * 
+   * @param computeResourcePreference
+   *   The ComputeResourcePreference object to be updated to the resource profile.
+   * 
+   * @return status
+   *   Returns a success/failure of the updation.
+   * 
+   * 
+   * @param authzToken
+   * @param userId
+   * @param computeResourceId
+   * @param computeResourcePreference
+   */
+  bool updateUserComputeResourcePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::userresourceprofile::ComputeResourcePreference& computeResourcePreference) {
+    // Your implementation goes here
+    printf("updateUserComputeResourcePreference\n");
+  }
+
+  /**
+   * Update a Storage Resource Preference of a registered user resource profile.
+   * 
+   * @param userId
+   *   The identifier of the user resource profile to be updated.
+   * 
+   * @param storageId
+   *   The Storage resource identifier of the one that you want to update
+   * 
+   * @param storagePreference
+   *   The storagePreference object to be updated to the resource profile.
+   * 
+   * @return status
+   *   Returns a success/failure of the updation.
+   * 
+   * 
+   * @param authzToken
+   * @param userId
+   * @param storageId
+   * @param storagePreference
+   */
+  bool updateUserStoragePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& storageId, const  ::apache::airavata::model::appcatalog::userresourceprofile::StoragePreference& storagePreference) {
+    // Your implementation goes here
+    printf("updateUserStoragePreference\n");
+  }
+
+  /**
+   * Delete the Compute Resource Preference of a registered user resource profile.
+   * 
+   * @param userId
+   *   The identifier for the user resource profile to be deleted.
+   * 
+   * @param computeResourceId
+   *   Preferences related to a particular compute resource
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param authzToken
+   * @param userId
+   * @param computeResourceId
+   */
+  bool deleteUserComputeResourcePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& computeResourceId) {
+    // Your implementation goes here
+    printf("deleteUserComputeResourcePreference\n");
+  }
+
+  /**
+   * Delete the Storage Resource Preference of a registered user resource profile.
+   * 
+   * @param userId
+   *   The identifier of the user profile to be deleted.
    * 
    * @param storageId
    *   ID of the storage preference you want to delete.
@@ -2838,8 +3106,14 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param gatewayId
+   * @param userId
+   * @param storageId
    */
+  bool deleteUserStoragePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userId, const std::string& storageId) {
+    // Your implementation goes here
+    printf("deleteUserStoragePreference\n");
+  }
+
   void getAllWorkflows(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllWorkflows\n");

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
index 49452a0..b01f07b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
@@ -46,6 +46,7 @@
 #include "compute_resource_model_types.h"
 #include "storage_resource_model_types.h"
 #include "gateway_resource_profile_model_types.h"
+#include "user_resource_profile_model_types.h"
 #include "data_movement_models_types.h"
 #include "workflow_data_model_types.h"
 #include "replica_catalog_models_types.h"

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
index b411913..bb86531 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
@@ -56,9 +56,9 @@ void JobModel::__set_creationTime(const int64_t val) {
 __isset.creationTime = true;
 }
 
-void JobModel::__set_jobStatus(const std::vector< ::apache::airavata::model::status::JobStatus> & val) {
-  this->jobStatus = val;
-__isset.jobStatus = true;
+void JobModel::__set_jobStatuses(const std::vector< ::apache::airavata::model::status::JobStatus> & val) {
+  this->jobStatuses = val;
+__isset.jobStatuses = true;
 }
 
 void JobModel::__set_computeResourceConsumed(const std::string& val) {
@@ -159,19 +159,19 @@ uint32_t JobModel::read(::apache::thrift::protocol::TProtocol* iprot) {
       case 6:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
-            this->jobStatus.clear();
+            this->jobStatuses.clear();
             uint32_t _size0;
             ::apache::thrift::protocol::TType _etype3;
             xfer += iprot->readListBegin(_etype3, _size0);
-            this->jobStatus.resize(_size0);
+            this->jobStatuses.resize(_size0);
             uint32_t _i4;
             for (_i4 = 0; _i4 < _size0; ++_i4)
             {
-              xfer += this->jobStatus[_i4].read(iprot);
+              xfer += this->jobStatuses[_i4].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
-          this->__isset.jobStatus = true;
+          this->__isset.jobStatuses = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -270,12 +270,12 @@ uint32_t JobModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeI64(this->creationTime);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.jobStatus) {
-    xfer += oprot->writeFieldBegin("jobStatus", ::apache::thrift::protocol::T_LIST, 6);
+  if (this->__isset.jobStatuses) {
+    xfer += oprot->writeFieldBegin("jobStatuses", ::apache::thrift::protocol::T_LIST, 6);
     {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobStatus.size()));
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobStatuses.size()));
       std::vector< ::apache::airavata::model::status::JobStatus> ::const_iterator _iter5;
-      for (_iter5 = this->jobStatus.begin(); _iter5 != this->jobStatus.end(); ++_iter5)
+      for (_iter5 = this->jobStatuses.begin(); _iter5 != this->jobStatuses.end(); ++_iter5)
       {
         xfer += (*_iter5).write(oprot);
       }
@@ -325,7 +325,7 @@ void swap(JobModel &a, JobModel &b) {
   swap(a.processId, b.processId);
   swap(a.jobDescription, b.jobDescription);
   swap(a.creationTime, b.creationTime);
-  swap(a.jobStatus, b.jobStatus);
+  swap(a.jobStatuses, b.jobStatuses);
   swap(a.computeResourceConsumed, b.computeResourceConsumed);
   swap(a.jobName, b.jobName);
   swap(a.workingDir, b.workingDir);
@@ -341,7 +341,7 @@ JobModel::JobModel(const JobModel& other6) {
   processId = other6.processId;
   jobDescription = other6.jobDescription;
   creationTime = other6.creationTime;
-  jobStatus = other6.jobStatus;
+  jobStatuses = other6.jobStatuses;
   computeResourceConsumed = other6.computeResourceConsumed;
   jobName = other6.jobName;
   workingDir = other6.workingDir;
@@ -356,7 +356,7 @@ JobModel& JobModel::operator=(const JobModel& other7) {
   processId = other7.processId;
   jobDescription = other7.jobDescription;
   creationTime = other7.creationTime;
-  jobStatus = other7.jobStatus;
+  jobStatuses = other7.jobStatuses;
   computeResourceConsumed = other7.computeResourceConsumed;
   jobName = other7.jobName;
   workingDir = other7.workingDir;
@@ -374,7 +374,7 @@ void JobModel::printTo(std::ostream& out) const {
   out << ", " << "processId=" << to_string(processId);
   out << ", " << "jobDescription=" << to_string(jobDescription);
   out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
-  out << ", " << "jobStatus="; (__isset.jobStatus ? (out << to_string(jobStatus)) : (out << "<null>"));
+  out << ", " << "jobStatuses="; (__isset.jobStatuses ? (out << to_string(jobStatuses)) : (out << "<null>"));
   out << ", " << "computeResourceConsumed="; (__isset.computeResourceConsumed ? (out << to_string(computeResourceConsumed)) : (out << "<null>"));
   out << ", " << "jobName="; (__isset.jobName ? (out << to_string(jobName)) : (out << "<null>"));
   out << ", " << "workingDir="; (__isset.workingDir ? (out << to_string(workingDir)) : (out << "<null>"));

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
index 00ba9fe..6e4fa48 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
@@ -40,9 +40,9 @@ namespace apache { namespace airavata { namespace model { namespace job {
 class JobModel;
 
 typedef struct _JobModel__isset {
-  _JobModel__isset() : creationTime(false), jobStatus(false), computeResourceConsumed(false), jobName(false), workingDir(false), stdOut(false), stdErr(false), exitCode(false) {}
+  _JobModel__isset() : creationTime(false), jobStatuses(false), computeResourceConsumed(false), jobName(false), workingDir(false), stdOut(false), stdErr(false), exitCode(false) {}
   bool creationTime :1;
-  bool jobStatus :1;
+  bool jobStatuses :1;
   bool computeResourceConsumed :1;
   bool jobName :1;
   bool workingDir :1;
@@ -65,7 +65,7 @@ class JobModel {
   std::string processId;
   std::string jobDescription;
   int64_t creationTime;
-  std::vector< ::apache::airavata::model::status::JobStatus>  jobStatus;
+  std::vector< ::apache::airavata::model::status::JobStatus>  jobStatuses;
   std::string computeResourceConsumed;
   std::string jobName;
   std::string workingDir;
@@ -85,7 +85,7 @@ class JobModel {
 
   void __set_creationTime(const int64_t val);
 
-  void __set_jobStatus(const std::vector< ::apache::airavata::model::status::JobStatus> & val);
+  void __set_jobStatuses(const std::vector< ::apache::airavata::model::status::JobStatus> & val);
 
   void __set_computeResourceConsumed(const std::string& val);
 
@@ -113,9 +113,9 @@ class JobModel {
       return false;
     else if (__isset.creationTime && !(creationTime == rhs.creationTime))
       return false;
-    if (__isset.jobStatus != rhs.__isset.jobStatus)
+    if (__isset.jobStatuses != rhs.__isset.jobStatuses)
       return false;
-    else if (__isset.jobStatus && !(jobStatus == rhs.jobStatus))
+    else if (__isset.jobStatuses && !(jobStatuses == rhs.jobStatuses))
       return false;
     if (__isset.computeResourceConsumed != rhs.__isset.computeResourceConsumed)
       return false;

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
index 8135174..1f72625 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
@@ -53,9 +53,9 @@ void ProcessModel::__set_lastUpdateTime(const int64_t val) {
 __isset.lastUpdateTime = true;
 }
 
-void ProcessModel::__set_processStatus(const std::vector< ::apache::airavata::model::status::ProcessStatus> & val) {
-  this->processStatus = val;
-__isset.processStatus = true;
+void ProcessModel::__set_processStatuses(const std::vector< ::apache::airavata::model::status::ProcessStatus> & val) {
+  this->processStatuses = val;
+__isset.processStatuses = true;
 }
 
 void ProcessModel::__set_processDetail(const std::string& val) {
@@ -103,9 +103,9 @@ void ProcessModel::__set_taskDag(const std::string& val) {
 __isset.taskDag = true;
 }
 
-void ProcessModel::__set_processError(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val) {
-  this->processError = val;
-__isset.processError = true;
+void ProcessModel::__set_processErrors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val) {
+  this->processErrors = val;
+__isset.processErrors = true;
 }
 
 void ProcessModel::__set_gatewayExecutionId(const std::string& val) {
@@ -206,19 +206,19 @@ uint32_t ProcessModel::read(::apache::thrift::protocol::TProtocol* iprot) {
       case 5:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
-            this->processStatus.clear();
+            this->processStatuses.clear();
             uint32_t _size0;
             ::apache::thrift::protocol::TType _etype3;
             xfer += iprot->readListBegin(_etype3, _size0);
-            this->processStatus.resize(_size0);
+            this->processStatuses.resize(_size0);
             uint32_t _i4;
             for (_i4 = 0; _i4 < _size0; ++_i4)
             {
-              xfer += this->processStatus[_i4].read(iprot);
+              xfer += this->processStatuses[_i4].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
-          this->__isset.processStatus = true;
+          this->__isset.processStatuses = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -334,19 +334,19 @@ uint32_t ProcessModel::read(::apache::thrift::protocol::TProtocol* iprot) {
       case 15:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
-            this->processError.clear();
+            this->processErrors.clear();
             uint32_t _size20;
             ::apache::thrift::protocol::TType _etype23;
             xfer += iprot->readListBegin(_etype23, _size20);
-            this->processError.resize(_size20);
+            this->processErrors.resize(_size20);
             uint32_t _i24;
             for (_i24 = 0; _i24 < _size20; ++_i24)
             {
-              xfer += this->processError[_i24].read(iprot);
+              xfer += this->processErrors[_i24].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
-          this->__isset.processError = true;
+          this->__isset.processErrors = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -466,12 +466,12 @@ uint32_t ProcessModel::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeI64(this->lastUpdateTime);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.processStatus) {
-    xfer += oprot->writeFieldBegin("processStatus", ::apache::thrift::protocol::T_LIST, 5);
+  if (this->__isset.processStatuses) {
+    xfer += oprot->writeFieldBegin("processStatuses", ::apache::thrift::protocol::T_LIST, 5);
     {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->processStatus.size()));
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->processStatuses.size()));
       std::vector< ::apache::airavata::model::status::ProcessStatus> ::const_iterator _iter30;
-      for (_iter30 = this->processStatus.begin(); _iter30 != this->processStatus.end(); ++_iter30)
+      for (_iter30 = this->processStatuses.begin(); _iter30 != this->processStatuses.end(); ++_iter30)
       {
         xfer += (*_iter30).write(oprot);
       }
@@ -548,12 +548,12 @@ uint32_t ProcessModel::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeString(this->taskDag);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.processError) {
-    xfer += oprot->writeFieldBegin("processError", ::apache::thrift::protocol::T_LIST, 15);
+  if (this->__isset.processErrors) {
+    xfer += oprot->writeFieldBegin("processErrors", ::apache::thrift::protocol::T_LIST, 15);
     {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->processError.size()));
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->processErrors.size()));
       std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter34;
-      for (_iter34 = this->processError.begin(); _iter34 != this->processError.end(); ++_iter34)
+      for (_iter34 = this->processErrors.begin(); _iter34 != this->processErrors.end(); ++_iter34)
       {
         xfer += (*_iter34).write(oprot);
       }
@@ -620,7 +620,7 @@ void swap(ProcessModel &a, ProcessModel &b) {
   swap(a.experimentId, b.experimentId);
   swap(a.creationTime, b.creationTime);
   swap(a.lastUpdateTime, b.lastUpdateTime);
-  swap(a.processStatus, b.processStatus);
+  swap(a.processStatuses, b.processStatuses);
   swap(a.processDetail, b.processDetail);
   swap(a.applicationInterfaceId, b.applicationInterfaceId);
   swap(a.applicationDeploymentId, b.applicationDeploymentId);
@@ -630,7 +630,7 @@ void swap(ProcessModel &a, ProcessModel &b) {
   swap(a.processResourceSchedule, b.processResourceSchedule);
   swap(a.tasks, b.tasks);
   swap(a.taskDag, b.taskDag);
-  swap(a.processError, b.processError);
+  swap(a.processErrors, b.processErrors);
   swap(a.gatewayExecutionId, b.gatewayExecutionId);
   swap(a.enableEmailNotification, b.enableEmailNotification);
   swap(a.emailAddresses, b.emailAddresses);
@@ -647,7 +647,7 @@ ProcessModel::ProcessModel(const ProcessModel& other36) {
   experimentId = other36.experimentId;
   creationTime = other36.creationTime;
   lastUpdateTime = other36.lastUpdateTime;
-  processStatus = other36.processStatus;
+  processStatuses = other36.processStatuses;
   processDetail = other36.processDetail;
   applicationInterfaceId = other36.applicationInterfaceId;
   applicationDeploymentId = other36.applicationDeploymentId;
@@ -657,7 +657,7 @@ ProcessModel::ProcessModel(const ProcessModel& other36) {
   processResourceSchedule = other36.processResourceSchedule;
   tasks = other36.tasks;
   taskDag = other36.taskDag;
-  processError = other36.processError;
+  processErrors = other36.processErrors;
   gatewayExecutionId = other36.gatewayExecutionId;
   enableEmailNotification = other36.enableEmailNotification;
   emailAddresses = other36.emailAddresses;
@@ -673,7 +673,7 @@ ProcessModel& ProcessModel::operator=(const ProcessModel& other37) {
   experimentId = other37.experimentId;
   creationTime = other37.creationTime;
   lastUpdateTime = other37.lastUpdateTime;
-  processStatus = other37.processStatus;
+  processStatuses = other37.processStatuses;
   processDetail = other37.processDetail;
   applicationInterfaceId = other37.applicationInterfaceId;
   applicationDeploymentId = other37.applicationDeploymentId;
@@ -683,7 +683,7 @@ ProcessModel& ProcessModel::operator=(const ProcessModel& other37) {
   processResourceSchedule = other37.processResourceSchedule;
   tasks = other37.tasks;
   taskDag = other37.taskDag;
-  processError = other37.processError;
+  processErrors = other37.processErrors;
   gatewayExecutionId = other37.gatewayExecutionId;
   enableEmailNotification = other37.enableEmailNotification;
   emailAddresses = other37.emailAddresses;
@@ -702,7 +702,7 @@ void ProcessModel::printTo(std::ostream& out) const {
   out << ", " << "experimentId=" << to_string(experimentId);
   out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
   out << ", " << "lastUpdateTime="; (__isset.lastUpdateTime ? (out << to_string(lastUpdateTime)) : (out << "<null>"));
-  out << ", " << "processStatus="; (__isset.processStatus ? (out << to_string(processStatus)) : (out << "<null>"));
+  out << ", " << "processStatuses="; (__isset.processStatuses ? (out << to_string(processStatuses)) : (out << "<null>"));
   out << ", " << "processDetail="; (__isset.processDetail ? (out << to_string(processDetail)) : (out << "<null>"));
   out << ", " << "applicationInterfaceId="; (__isset.applicationInterfaceId ? (out << to_string(applicationInterfaceId)) : (out << "<null>"));
   out << ", " << "applicationDeploymentId="; (__isset.applicationDeploymentId ? (out << to_string(applicationDeploymentId)) : (out << "<null>"));
@@ -712,7 +712,7 @@ void ProcessModel::printTo(std::ostream& out) const {
   out << ", " << "processResourceSchedule="; (__isset.processResourceSchedule ? (out << to_string(processResourceSchedule)) : (out << "<null>"));
   out << ", " << "tasks="; (__isset.tasks ? (out << to_string(tasks)) : (out << "<null>"));
   out << ", " << "taskDag="; (__isset.taskDag ? (out << to_string(taskDag)) : (out << "<null>"));
-  out << ", " << "processError="; (__isset.processError ? (out << to_string(processError)) : (out << "<null>"));
+  out << ", " << "processErrors="; (__isset.processErrors ? (out << to_string(processErrors)) : (out << "<null>"));
   out << ", " << "gatewayExecutionId="; (__isset.gatewayExecutionId ? (out << to_string(gatewayExecutionId)) : (out << "<null>"));
   out << ", " << "enableEmailNotification="; (__isset.enableEmailNotification ? (out << to_string(enableEmailNotification)) : (out << "<null>"));
   out << ", " << "emailAddresses="; (__isset.emailAddresses ? (out << to_string(emailAddresses)) : (out << "<null>"));

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
index 5d73b26..82b8113 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
@@ -44,10 +44,10 @@ namespace apache { namespace airavata { namespace model { namespace process {
 class ProcessModel;
 
 typedef struct _ProcessModel__isset {
-  _ProcessModel__isset() : creationTime(false), lastUpdateTime(false), processStatus(false), processDetail(false), applicationInterfaceId(false), applicationDeploymentId(false), computeResourceId(false), processInputs(false), processOutputs(false), processResourceSchedule(false), tasks(false), taskDag(false), processError(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), storageResourceId(false), userDn(false), generateCert(true), experimentDataDir(false), userName(false) {}
+  _ProcessModel__isset() : creationTime(false), lastUpdateTime(false), processStatuses(false), processDetail(false), applicationInterfaceId(false), applicationDeploymentId(false), computeResourceId(false), processInputs(false), processOutputs(false), processResourceSchedule(false), tasks(false), taskDag(false), processErrors(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), storageResourceId(false), userDn(false), generateCert(true), experimentDataDir(false), userName(false) {}
   bool creationTime :1;
   bool lastUpdateTime :1;
-  bool processStatus :1;
+  bool processStatuses :1;
   bool processDetail :1;
   bool applicationInterfaceId :1;
   bool applicationDeploymentId :1;
@@ -57,7 +57,7 @@ typedef struct _ProcessModel__isset {
   bool processResourceSchedule :1;
   bool tasks :1;
   bool taskDag :1;
-  bool processError :1;
+  bool processErrors :1;
   bool gatewayExecutionId :1;
   bool enableEmailNotification :1;
   bool emailAddresses :1;
@@ -81,7 +81,7 @@ class ProcessModel {
   std::string experimentId;
   int64_t creationTime;
   int64_t lastUpdateTime;
-  std::vector< ::apache::airavata::model::status::ProcessStatus>  processStatus;
+  std::vector< ::apache::airavata::model::status::ProcessStatus>  processStatuses;
   std::string processDetail;
   std::string applicationInterfaceId;
   std::string applicationDeploymentId;
@@ -91,7 +91,7 @@ class ProcessModel {
    ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel processResourceSchedule;
   std::vector< ::apache::airavata::model::task::TaskModel>  tasks;
   std::string taskDag;
-  std::vector< ::apache::airavata::model::commons::ErrorModel>  processError;
+  std::vector< ::apache::airavata::model::commons::ErrorModel>  processErrors;
   std::string gatewayExecutionId;
   bool enableEmailNotification;
   std::vector<std::string>  emailAddresses;
@@ -111,7 +111,7 @@ class ProcessModel {
 
   void __set_lastUpdateTime(const int64_t val);
 
-  void __set_processStatus(const std::vector< ::apache::airavata::model::status::ProcessStatus> & val);
+  void __set_processStatuses(const std::vector< ::apache::airavata::model::status::ProcessStatus> & val);
 
   void __set_processDetail(const std::string& val);
 
@@ -131,7 +131,7 @@ class ProcessModel {
 
   void __set_taskDag(const std::string& val);
 
-  void __set_processError(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val);
+  void __set_processErrors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val);
 
   void __set_gatewayExecutionId(const std::string& val);
 
@@ -163,9 +163,9 @@ class ProcessModel {
       return false;
     else if (__isset.lastUpdateTime && !(lastUpdateTime == rhs.lastUpdateTime))
       return false;
-    if (__isset.processStatus != rhs.__isset.processStatus)
+    if (__isset.processStatuses != rhs.__isset.processStatuses)
       return false;
-    else if (__isset.processStatus && !(processStatus == rhs.processStatus))
+    else if (__isset.processStatuses && !(processStatuses == rhs.processStatuses))
       return false;
     if (__isset.processDetail != rhs.__isset.processDetail)
       return false;
@@ -203,9 +203,9 @@ class ProcessModel {
       return false;
     else if (__isset.taskDag && !(taskDag == rhs.taskDag))
       return false;
-    if (__isset.processError != rhs.__isset.processError)
+    if (__isset.processErrors != rhs.__isset.processErrors)
       return false;
-    else if (__isset.processError && !(processError == rhs.processError))
+    else if (__isset.processErrors && !(processErrors == rhs.processErrors))
       return false;
     if (__isset.gatewayExecutionId != rhs.__isset.gatewayExecutionId)
       return false;

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
index e73eca8..337f2d5 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
@@ -85,8 +85,8 @@ void TaskModel::__set_lastUpdateTime(const int64_t val) {
   this->lastUpdateTime = val;
 }
 
-void TaskModel::__set_taskStatus(const std::vector< ::apache::airavata::model::status::TaskStatus> & val) {
-  this->taskStatus = val;
+void TaskModel::__set_taskStatuses(const std::vector< ::apache::airavata::model::status::TaskStatus> & val) {
+  this->taskStatuses = val;
 }
 
 void TaskModel::__set_taskDetail(const std::string& val) {
@@ -99,9 +99,9 @@ void TaskModel::__set_subTaskModel(const std::string& val) {
 __isset.subTaskModel = true;
 }
 
-void TaskModel::__set_taskError(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val) {
-  this->taskError = val;
-__isset.taskError = true;
+void TaskModel::__set_taskErrors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val) {
+  this->taskErrors = val;
+__isset.taskErrors = true;
 }
 
 void TaskModel::__set_jobs(const std::vector< ::apache::airavata::model::job::JobModel> & val) {
@@ -126,7 +126,7 @@ uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
   bool isset_parentProcessId = false;
   bool isset_creationTime = false;
   bool isset_lastUpdateTime = false;
-  bool isset_taskStatus = false;
+  bool isset_taskStatuses = false;
 
   while (true)
   {
@@ -181,19 +181,19 @@ uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
       case 6:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
-            this->taskStatus.clear();
+            this->taskStatuses.clear();
             uint32_t _size1;
             ::apache::thrift::protocol::TType _etype4;
             xfer += iprot->readListBegin(_etype4, _size1);
-            this->taskStatus.resize(_size1);
+            this->taskStatuses.resize(_size1);
             uint32_t _i5;
             for (_i5 = 0; _i5 < _size1; ++_i5)
             {
-              xfer += this->taskStatus[_i5].read(iprot);
+              xfer += this->taskStatuses[_i5].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
-          isset_taskStatus = true;
+          isset_taskStatuses = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -217,19 +217,19 @@ uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
       case 9:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
-            this->taskError.clear();
+            this->taskErrors.clear();
             uint32_t _size6;
             ::apache::thrift::protocol::TType _etype9;
             xfer += iprot->readListBegin(_etype9, _size6);
-            this->taskError.resize(_size6);
+            this->taskErrors.resize(_size6);
             uint32_t _i10;
             for (_i10 = 0; _i10 < _size6; ++_i10)
             {
-              xfer += this->taskError[_i10].read(iprot);
+              xfer += this->taskErrors[_i10].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
-          this->__isset.taskError = true;
+          this->__isset.taskErrors = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -273,7 +273,7 @@ uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_lastUpdateTime)
     throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_taskStatus)
+  if (!isset_taskStatuses)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
@@ -303,11 +303,11 @@ uint32_t TaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
   xfer += oprot->writeI64(this->lastUpdateTime);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("taskStatus", ::apache::thrift::protocol::T_LIST, 6);
+  xfer += oprot->writeFieldBegin("taskStatuses", ::apache::thrift::protocol::T_LIST, 6);
   {
-    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskStatus.size()));
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskStatuses.size()));
     std::vector< ::apache::airavata::model::status::TaskStatus> ::const_iterator _iter16;
-    for (_iter16 = this->taskStatus.begin(); _iter16 != this->taskStatus.end(); ++_iter16)
+    for (_iter16 = this->taskStatuses.begin(); _iter16 != this->taskStatuses.end(); ++_iter16)
     {
       xfer += (*_iter16).write(oprot);
     }
@@ -325,12 +325,12 @@ uint32_t TaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeBinary(this->subTaskModel);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.taskError) {
-    xfer += oprot->writeFieldBegin("taskError", ::apache::thrift::protocol::T_LIST, 9);
+  if (this->__isset.taskErrors) {
+    xfer += oprot->writeFieldBegin("taskErrors", ::apache::thrift::protocol::T_LIST, 9);
     {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskError.size()));
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskErrors.size()));
       std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter17;
-      for (_iter17 = this->taskError.begin(); _iter17 != this->taskError.end(); ++_iter17)
+      for (_iter17 = this->taskErrors.begin(); _iter17 != this->taskErrors.end(); ++_iter17)
       {
         xfer += (*_iter17).write(oprot);
       }
@@ -363,10 +363,10 @@ void swap(TaskModel &a, TaskModel &b) {
   swap(a.parentProcessId, b.parentProcessId);
   swap(a.creationTime, b.creationTime);
   swap(a.lastUpdateTime, b.lastUpdateTime);
-  swap(a.taskStatus, b.taskStatus);
+  swap(a.taskStatuses, b.taskStatuses);
   swap(a.taskDetail, b.taskDetail);
   swap(a.subTaskModel, b.subTaskModel);
-  swap(a.taskError, b.taskError);
+  swap(a.taskErrors, b.taskErrors);
   swap(a.jobs, b.jobs);
   swap(a.__isset, b.__isset);
 }
@@ -377,10 +377,10 @@ TaskModel::TaskModel(const TaskModel& other19) {
   parentProcessId = other19.parentProcessId;
   creationTime = other19.creationTime;
   lastUpdateTime = other19.lastUpdateTime;
-  taskStatus = other19.taskStatus;
+  taskStatuses = other19.taskStatuses;
   taskDetail = other19.taskDetail;
   subTaskModel = other19.subTaskModel;
-  taskError = other19.taskError;
+  taskErrors = other19.taskErrors;
   jobs = other19.jobs;
   __isset = other19.__isset;
 }
@@ -390,10 +390,10 @@ TaskModel& TaskModel::operator=(const TaskModel& other20) {
   parentProcessId = other20.parentProcessId;
   creationTime = other20.creationTime;
   lastUpdateTime = other20.lastUpdateTime;
-  taskStatus = other20.taskStatus;
+  taskStatuses = other20.taskStatuses;
   taskDetail = other20.taskDetail;
   subTaskModel = other20.subTaskModel;
-  taskError = other20.taskError;
+  taskErrors = other20.taskErrors;
   jobs = other20.jobs;
   __isset = other20.__isset;
   return *this;
@@ -406,10 +406,10 @@ void TaskModel::printTo(std::ostream& out) const {
   out << ", " << "parentProcessId=" << to_string(parentProcessId);
   out << ", " << "creationTime=" << to_string(creationTime);
   out << ", " << "lastUpdateTime=" << to_string(lastUpdateTime);
-  out << ", " << "taskStatus=" << to_string(taskStatus);
+  out << ", " << "taskStatuses=" << to_string(taskStatuses);
   out << ", " << "taskDetail="; (__isset.taskDetail ? (out << to_string(taskDetail)) : (out << "<null>"));
   out << ", " << "subTaskModel="; (__isset.subTaskModel ? (out << to_string(subTaskModel)) : (out << "<null>"));
-  out << ", " << "taskError="; (__isset.taskError ? (out << to_string(taskError)) : (out << "<null>"));
+  out << ", " << "taskErrors="; (__isset.taskErrors ? (out << to_string(taskErrors)) : (out << "<null>"));
   out << ", " << "jobs="; (__isset.jobs ? (out << to_string(jobs)) : (out << "<null>"));
   out << ")";
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
index 8a98904..ab0089c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
@@ -76,10 +76,10 @@ class JobSubmissionTaskModel;
 class MonitorTaskModel;
 
 typedef struct _TaskModel__isset {
-  _TaskModel__isset() : taskDetail(false), subTaskModel(false), taskError(false), jobs(false) {}
+  _TaskModel__isset() : taskDetail(false), subTaskModel(false), taskErrors(false), jobs(false) {}
   bool taskDetail :1;
   bool subTaskModel :1;
-  bool taskError :1;
+  bool taskErrors :1;
   bool jobs :1;
 } _TaskModel__isset;
 
@@ -97,10 +97,10 @@ class TaskModel {
   std::string parentProcessId;
   int64_t creationTime;
   int64_t lastUpdateTime;
-  std::vector< ::apache::airavata::model::status::TaskStatus>  taskStatus;
+  std::vector< ::apache::airavata::model::status::TaskStatus>  taskStatuses;
   std::string taskDetail;
   std::string subTaskModel;
-  std::vector< ::apache::airavata::model::commons::ErrorModel>  taskError;
+  std::vector< ::apache::airavata::model::commons::ErrorModel>  taskErrors;
   std::vector< ::apache::airavata::model::job::JobModel>  jobs;
 
   _TaskModel__isset __isset;
@@ -115,13 +115,13 @@ class TaskModel {
 
   void __set_lastUpdateTime(const int64_t val);
 
-  void __set_taskStatus(const std::vector< ::apache::airavata::model::status::TaskStatus> & val);
+  void __set_taskStatuses(const std::vector< ::apache::airavata::model::status::TaskStatus> & val);
 
   void __set_taskDetail(const std::string& val);
 
   void __set_subTaskModel(const std::string& val);
 
-  void __set_taskError(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val);
+  void __set_taskErrors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val);
 
   void __set_jobs(const std::vector< ::apache::airavata::model::job::JobModel> & val);
 
@@ -137,7 +137,7 @@ class TaskModel {
       return false;
     if (!(lastUpdateTime == rhs.lastUpdateTime))
       return false;
-    if (!(taskStatus == rhs.taskStatus))
+    if (!(taskStatuses == rhs.taskStatuses))
       return false;
     if (__isset.taskDetail != rhs.__isset.taskDetail)
       return false;
@@ -147,9 +147,9 @@ class TaskModel {
       return false;
     else if (__isset.subTaskModel && !(subTaskModel == rhs.subTaskModel))
       return false;
-    if (__isset.taskError != rhs.__isset.taskError)
+    if (__isset.taskErrors != rhs.__isset.taskErrors)
       return false;
-    else if (__isset.taskError && !(taskError == rhs.taskError))
+    else if (__isset.taskErrors && !(taskErrors == rhs.taskErrors))
       return false;
     if (__isset.jobs != rhs.__isset.jobs)
       return false;

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_constants.cpp
new file mode 100644
index 0000000..c235d16
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "user_resource_profile_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace userresourceprofile {
+
+const user_resource_profile_modelConstants g_user_resource_profile_model_constants;
+
+user_resource_profile_modelConstants::user_resource_profile_modelConstants() {
+}
+
+}}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_constants.h
new file mode 100644
index 0000000..8684bee
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef user_resource_profile_model_CONSTANTS_H
+#define user_resource_profile_model_CONSTANTS_H
+
+#include "user_resource_profile_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace userresourceprofile {
+
+class user_resource_profile_modelConstants {
+ public:
+  user_resource_profile_modelConstants();
+
+};
+
+extern const user_resource_profile_modelConstants g_user_resource_profile_model_constants;
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/8469effc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_types.cpp
new file mode 100644
index 0000000..2971e4f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/user_resource_profile_model_types.cpp
@@ -0,0 +1,714 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "user_resource_profile_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace userresourceprofile {
+
+
+ComputeResourcePreference::~ComputeResourcePreference() throw() {
+}
+
+
+void ComputeResourcePreference::__set_computeResourceId(const std::string& val) {
+  this->computeResourceId = val;
+}
+
+void ComputeResourcePreference::__set_loginUserName(const std::string& val) {
+  this->loginUserName = val;
+__isset.loginUserName = true;
+}
+
+void ComputeResourcePreference::__set_preferredBatchQueue(const std::string& val) {
+  this->preferredBatchQueue = val;
+__isset.preferredBatchQueue = true;
+}
+
+void ComputeResourcePreference::__set_scratchLocation(const std::string& val) {
+  this->scratchLocation = val;
+__isset.scratchLocation = true;
+}
+
+void ComputeResourcePreference::__set_allocationProjectNumber(const std::string& val) {
+  this->allocationProjectNumber = val;
+__isset.allocationProjectNumber = true;
+}
+
+void ComputeResourcePreference::__set_resourceSpecificCredentialStoreToken(const std::string& val) {
+  this->resourceSpecificCredentialStoreToken = val;
+__isset.resourceSpecificCredentialStoreToken = true;
+}
+
+void ComputeResourcePreference::__set_qualityOfService(const std::string& val) {
+  this->qualityOfService = val;
+__isset.qualityOfService = true;
+}
+
+void ComputeResourcePreference::__set_reservation(const std::string& val) {
+  this->reservation = val;
+__isset.reservation = true;
+}
+
+void ComputeResourcePreference::__set_reservationStartTime(const int64_t val) {
+  this->reservationStartTime = val;
+__isset.reservationStartTime = true;
+}
+
+void ComputeResourcePreference::__set_reservationEndTime(const int64_t val) {
+  this->reservationEndTime = val;
+__isset.reservationEndTime = true;
+}
+
+uint32_t ComputeResourcePreference::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_computeResourceId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->computeResourceId);
+          isset_computeResourceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->loginUserName);
+          this->__isset.loginUserName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->preferredBatchQueue);
+          this->__isset.preferredBatchQueue = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->scratchLocation);
+          this->__isset.scratchLocation = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->allocationProjectNumber);
+          this->__isset.allocationProjectNumber = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->resourceSpecificCredentialStoreToken);
+          this->__isset.resourceSpecificCredentialStoreToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->qualityOfService);
+          this->__isset.qualityOfService = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reservation);
+          this->__isset.reservation = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->reservationStartTime);
+          this->__isset.reservationStartTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->reservationEndTime);
+          this->__isset.reservationEndTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_computeResourceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ComputeResourcePreference::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("ComputeResourcePreference");
+
+  xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->computeResourceId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.loginUserName) {
+    xfer += oprot->writeFieldBegin("loginUserName", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->loginUserName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.preferredBatchQueue) {
+    xfer += oprot->writeFieldBegin("preferredBatchQueue", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->preferredBatchQueue);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.scratchLocation) {
+    xfer += oprot->writeFieldBegin("scratchLocation", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->scratchLocation);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.allocationProjectNumber) {
+    xfer += oprot->writeFieldBegin("allocationProjectNumber", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->allocationProjectNumber);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.resourceSpecificCredentialStoreToken) {
+    xfer += oprot->writeFieldBegin("resourceSpecificCredentialStoreToken", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->resourceSpecificCredentialStoreToken);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.qualityOfService) {
+    xfer += oprot->writeFieldBegin("qualityOfService", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->qualityOfService);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reservation) {
+    xfer += oprot->writeFieldBegin("reservation", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->reservation);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reservationStartTime) {
+    xfer += oprot->writeFieldBegin("reservationStartTime", ::apache::thrift::protocol::T_I64, 9);
+    xfer += oprot->writeI64(this->reservationStartTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reservationEndTime) {
+    xfer += oprot->writeFieldBegin("reservationEndTime", ::apache::thrift::protocol::T_I64, 10);
+    xfer += oprot->writeI64(this->reservationEndTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(ComputeResourcePreference &a, ComputeResourcePreference &b) {
+  using ::std::swap;
+  swap(a.computeResourceId, b.computeResourceId);
+  swap(a.loginUserName, b.loginUserName);
+  swap(a.preferredBatchQueue, b.preferredBatchQueue);
+  swap(a.scratchLocation, b.scratchLocation);
+  swap(a.allocationProjectNumber, b.allocationProjectNumber);
+  swap(a.resourceSpecificCredentialStoreToken, b.resourceSpecificCredentialStoreToken);
+  swap(a.qualityOfService, b.qualityOfService);
+  swap(a.reservation, b.reservation);
+  swap(a.reservationStartTime, b.reservationStartTime);
+  swap(a.reservationEndTime, b.reservationEndTime);
+  swap(a.__isset, b.__isset);
+}
+
+ComputeResourcePreference::ComputeResourcePreference(const ComputeResourcePreference& other0) {
+  computeResourceId = other0.computeResourceId;
+  loginUserName = other0.loginUserName;
+  preferredBatchQueue = other0.preferredBatchQueue;
+  scratchLocation = other0.scratchLocation;
+  allocationProjectNumber = other0.allocationProjectNumber;
+  resourceSpecificCredentialStoreToken = other0.resourceSpecificCredentialStoreToken;
+  qualityOfService = other0.qualityOfService;
+  reservation = other0.reservation;
+  reservationStartTime = other0.reservationStartTime;
+  reservationEndTime = other0.reservationEndTime;
+  __isset = other0.__isset;
+}
+ComputeResourcePreference& ComputeResourcePreference::operator=(const ComputeResourcePreference& other1) {
+  computeResourceId = other1.computeResourceId;
+  loginUserName = other1.loginUserName;
+  preferredBatchQueue = other1.preferredBatchQueue;
+  scratchLocation = other1.scratchLocation;
+  allocationProjectNumber = other1.allocationProjectNumber;
+  resourceSpecificCredentialStoreToken = other1.resourceSpecificCredentialStoreToken;
+  qualityOfService = other1.qualityOfService;
+  reservation = other1.reservation;
+  reservationStartTime = other1.reservationStartTime;
+  reservationEndTime = other1.reservationEndTime;
+  __isset = other1.__isset;
+  return *this;
+}
+void ComputeResourcePreference::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "ComputeResourcePreference(";
+  out << "computeResourceId=" << to_string(computeResourceId);
+  out << ", " << "loginUserName="; (__isset.loginUserName ? (out << to_string(loginUserName)) : (out << "<null>"));
+  out << ", " << "preferredBatchQueue="; (__isset.preferredBatchQueue ? (out << to_string(preferredBatchQueue)) : (out << "<null>"));
+  out << ", " << "scratchLocation="; (__isset.scratchLocation ? (out << to_string(scratchLocation)) : (out << "<null>"));
+  out << ", " << "allocationProjectNumber="; (__isset.allocationProjectNumber ? (out << to_string(allocationProjectNumber)) : (out << "<null>"));
+  out << ", " << "resourceSpecificCredentialStoreToken="; (__isset.resourceSpecificCredentialStoreToken ? (out << to_string(resourceSpecificCredentialStoreToken)) : (out << "<null>"));
+  out << ", " << "qualityOfService="; (__isset.qualityOfService ? (out << to_string(qualityOfService)) : (out << "<null>"));
+  out << ", " << "reservation="; (__isset.reservation ? (out << to_string(reservation)) : (out << "<null>"));
+  out << ", " << "reservationStartTime="; (__isset.reservationStartTime ? (out << to_string(reservationStartTime)) : (out << "<null>"));
+  out << ", " << "reservationEndTime="; (__isset.reservationEndTime ? (out << to_string(reservationEndTime)) : (out << "<null>"));
+  out << ")";
+}
+
+
+StoragePreference::~StoragePreference() throw() {
+}
+
+
+void StoragePreference::__set_storageResourceId(const std::string& val) {
+  this->storageResourceId = val;
+}
+
+void StoragePreference::__set_loginUserName(const std::string& val) {
+  this->loginUserName = val;
+__isset.loginUserName = true;
+}
+
+void StoragePreference::__set_fileSystemRootLocation(const std::string& val) {
+  this->fileSystemRootLocation = val;
+__isset.fileSystemRootLocation = true;
+}
+
+void StoragePreference::__set_resourceSpecificCredentialStoreToken(const std::string& val) {
+  this->resourceSpecificCredentialStoreToken = val;
+__isset.resourceSpecificCredentialStoreToken = true;
+}
+
+uint32_t StoragePreference::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_storageResourceId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->storageResourceId);
+          isset_storageResourceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->loginUserName);
+          this->__isset.loginUserName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->fileSystemRootLocation);
+          this->__isset.fileSystemRootLocation = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->resourceSpecificCredentialStoreToken);
+          this->__isset.resourceSpecificCredentialStoreToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_storageResourceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t StoragePreference::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("StoragePreference");
+
+  xfer += oprot->writeFieldBegin("storageResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->storageResourceId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.loginUserName) {
+    xfer += oprot->writeFieldBegin("loginUserName", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->loginUserName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.fileSystemRootLocation) {
+    xfer += oprot->writeFieldBegin("fileSystemRootLocation", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->fileSystemRootLocation);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.resourceSpecificCredentialStoreToken) {
+    xfer += oprot->writeFieldBegin("resourceSpecificCredentialStoreToken", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->resourceSpecificCredentialStoreToken);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(StoragePreference &a, StoragePreference &b) {
+  using ::std::swap;
+  swap(a.storageResourceId, b.storageResourceId);
+  swap(a.loginUserName, b.loginUserName);
+  swap(a.fileSystemRootLocation, b.fileSystemRootLocation);
+  swap(a.resourceSpecificCredentialStoreToken, b.resourceSpecificCredentialStoreToken);
+  swap(a.__isset, b.__isset);
+}
+
+StoragePreference::StoragePreference(const StoragePreference& other2) {
+  storageResourceId = other2.storageResourceId;
+  loginUserName = other2.loginUserName;
+  fileSystemRootLocation = other2.fileSystemRootLocation;
+  resourceSpecificCredentialStoreToken = other2.resourceSpecificCredentialStoreToken;
+  __isset = other2.__isset;
+}
+StoragePreference& StoragePreference::operator=(const StoragePreference& other3) {
+  storageResourceId = other3.storageResourceId;
+  loginUserName = other3.loginUserName;
+  fileSystemRootLocation = other3.fileSystemRootLocation;
+  resourceSpecificCredentialStoreToken = other3.resourceSpecificCredentialStoreToken;
+  __isset = other3.__isset;
+  return *this;
+}
+void StoragePreference::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "StoragePreference(";
+  out << "storageResourceId=" << to_string(storageResourceId);
+  out << ", " << "loginUserName="; (__isset.loginUserName ? (out << to_string(loginUserName)) : (out << "<null>"));
+  out << ", " << "fileSystemRootLocation="; (__isset.fileSystemRootLocation ? (out << to_string(fileSystemRootLocation)) : (out << "<null>"));
+  out << ", " << "resourceSpecificCredentialStoreToken="; (__isset.resourceSpecificCredentialStoreToken ? (out << to_string(resourceSpecificCredentialStoreToken)) : (out << "<null>"));
+  out << ")";
+}
+
+
+UserResourceProfile::~UserResourceProfile() throw() {
+}
+
+
+void UserResourceProfile::__set_userId(const std::string& val) {
+  this->userId = val;
+}
+
+void UserResourceProfile::__set_credentialStoreToken(const std::string& val) {
+  this->credentialStoreToken = val;
+__isset.credentialStoreToken = true;
+}
+
+void UserResourceProfile::__set_computeResourcePreferences(const std::vector<ComputeResourcePreference> & val) {
+  this->computeResourcePreferences = val;
+__isset.computeResourcePreferences = true;
+}
+
+void UserResourceProfile::__set_storagePreferences(const std::vector<StoragePreference> & val) {
+  this->storagePreferences = val;
+__isset.storagePreferences = true;
+}
+
+void UserResourceProfile::__set_identityServerTenant(const std::string& val) {
+  this->identityServerTenant = val;
+__isset.identityServerTenant = true;
+}
+
+void UserResourceProfile::__set_identityServerPwdCredToken(const std::string& val) {
+  this->identityServerPwdCredToken = val;
+__isset.identityServerPwdCredToken = true;
+}
+
+uint32_t UserResourceProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_userId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userId);
+          isset_userId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->credentialStoreToken);
+          this->__isset.credentialStoreToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->computeResourcePreferences.clear();
+            uint32_t _size4;
+            ::apache::thrift::protocol::TType _etype7;
+            xfer += iprot->readListBegin(_etype7, _size4);
+            this->computeResourcePreferences.resize(_size4);
+            uint32_t _i8;
+            for (_i8 = 0; _i8 < _size4; ++_i8)
+            {
+              xfer += this->computeResourcePreferences[_i8].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.computeResourcePreferences = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->storagePreferences.clear();
+            uint32_t _size9;
+            ::apache::thrift::protocol::TType _etype12;
+            xfer += iprot->readListBegin(_etype12, _size9);
+            this->storagePreferences.resize(_size9);
+            uint32_t _i13;
+            for (_i13 = 0; _i13 < _size9; ++_i13)
+            {
+              xfer += this->storagePreferences[_i13].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.storagePreferences = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->identityServerTenant);
+          this->__isset.identityServerTenant = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->identityServerPwdCredToken);
+          this->__isset.identityServerPwdCredToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_userId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t UserResourceProfile::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("UserResourceProfile");
+
+  xfer += oprot->writeFieldBegin("userId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->userId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.credentialStoreToken) {
+    xfer += oprot->writeFieldBegin("credentialStoreToken", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->credentialStoreToken);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.computeResourcePreferences) {
+    xfer += oprot->writeFieldBegin("computeResourcePreferences", ::apache::thrift::protocol::T_LIST, 3);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->computeResourcePreferences.size()));
+      std::vector<ComputeResourcePreference> ::const_iterator _iter14;
+      for (_iter14 = this->computeResourcePreferences.begin(); _iter14 != this->computeResourcePreferences.end(); ++_iter14)
+      {
+        xfer += (*_iter14).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.storagePreferences) {
+    xfer += oprot->writeFieldBegin("storagePreferences", ::apache::thrift::protocol::T_LIST, 4);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->storagePreferences.size()));
+      std::vector<StoragePreference> ::const_iterator _iter15;
+      for (_iter15 = this->storagePreferences.begin(); _iter15 != this->storagePreferences.end(); ++_iter15)
+      {
+        xfer += (*_iter15).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.identityServerTenant) {
+    xfer += oprot->writeFieldBegin("identityServerTenant", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->identityServerTenant);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.identityServerPwdCredToken) {
+    xfer += oprot->writeFieldBegin("identityServerPwdCredToken", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->identityServerPwdCredToken);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(UserResourceProfile &a, UserResourceProfile &b) {
+  using ::std::swap;
+  swap(a.userId, b.userId);
+  swap(a.credentialStoreToken, b.credentialStoreToken);
+  swap(a.computeResourcePreferences, b.computeResourcePreferences);
+  swap(a.storagePreferences, b.storagePreferences);
+  swap(a.identityServerTenant, b.identityServerTenant);
+  swap(a.identityServerPwdCredToken, b.identityServerPwdCredToken);
+  swap(a.__isset, b.__isset);
+}
+
+UserResourceProfile::UserResourceProfile(const UserResourceProfile& other16) {
+  userId = other16.userId;
+  credentialStoreToken = other16.credentialStoreToken;
+  computeResourcePreferences = other16.computeResourcePreferences;
+  storagePreferences = other16.storagePreferences;
+  identityServerTenant = other16.identityServerTenant;
+  identityServerPwdCredToken = other16.identityServerPwdCredToken;
+  __isset = other16.__isset;
+}
+UserResourceProfile& UserResourceProfile::operator=(const UserResourceProfile& other17) {
+  userId = other17.userId;
+  credentialStoreToken = other17.credentialStoreToken;
+  computeResourcePreferences = other17.computeResourcePreferences;
+  storagePreferences = other17.storagePreferences;
+  identityServerTenant = other17.identityServerTenant;
+  identityServerPwdCredToken = other17.identityServerPwdCredToken;
+  __isset = other17.__isset;
+  return *this;
+}
+void UserResourceProfile::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "UserResourceProfile(";
+  out << "userId=" << to_string(userId);
+  out << ", " << "credentialStoreToken="; (__isset.credentialStoreToken ? (out << to_string(credentialStoreToken)) : (out << "<null>"));
+  out << ", " << "computeResourcePreferences="; (__isset.computeResourcePreferences ? (out << to_string(computeResourcePreferences)) : (out << "<null>"));
+  out << ", " << "storagePreferences="; (__isset.storagePreferences ? (out << to_string(storagePreferences)) : (out << "<null>"));
+  out << ", " << "identityServerTenant="; (__isset.identityServerTenant ? (out << to_string(identityServerTenant)) : (out << "<null>"));
+  out << ", " << "identityServerPwdCredToken="; (__isset.identityServerPwdCredToken ? (out << to_string(identityServerPwdCredToken)) : (out << "<null>"));
+  out << ")";
+}
+
+}}}}} // namespace