You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2015/03/03 22:47:43 UTC

[1/5] airavata git commit: Adding gatewayId to relavent API methods to ensure multi-tentant scenarious will work - AIRAVATA-1607

Repository: airavata
Updated Branches:
  refs/heads/master c073c6a5d -> 8be598817


http://git-wip-us.apache.org/repos/asf/airavata/blob/8be59881/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 ef13e57..482119d 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
@@ -89,7 +89,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getAllUserSSHPubKeys\n");
   }
 
-  void createProject(std::string& _return, const  ::apache::airavata::model::workspace::Project& project) {
+  void createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project) {
     // Your implementation goes here
     printf("createProject\n");
   }
@@ -104,42 +104,42 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getProject\n");
   }
 
-  void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName) {
+  void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName) {
     // Your implementation goes here
     printf("getAllUserProjects\n");
   }
 
-  void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& projectName) {
+  void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName) {
     // Your implementation goes here
     printf("searchProjectsByProjectName\n");
   }
 
-  void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& description) {
+  void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) {
     // Your implementation goes here
     printf("searchProjectsByProjectDesc\n");
   }
 
-  void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& expName) {
+  void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName) {
     // Your implementation goes here
     printf("searchExperimentsByName\n");
   }
 
-  void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& description) {
+  void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) {
     // Your implementation goes here
     printf("searchExperimentsByDesc\n");
   }
 
-  void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& applicationId) {
+  void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId) {
     // Your implementation goes here
     printf("searchExperimentsByApplication\n");
   }
 
-  void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState) {
+  void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState) {
     // Your implementation goes here
     printf("searchExperimentsByStatus\n");
   }
 
-  void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const int64_t fromTime, const int64_t toTime) {
+  void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime) {
     // Your implementation goes here
     printf("searchExperimentsByCreationTime\n");
   }
@@ -149,12 +149,12 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getAllExperimentsInProject\n");
   }
 
-  void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& userName) {
+  void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& gatewayId, const std::string& userName) {
     // Your implementation goes here
     printf("getAllUserExperiments\n");
   }
 
-  void createExperiment(std::string& _return, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment) {
+  void createExperiment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment) {
     // Your implementation goes here
     printf("createExperiment\n");
   }
@@ -229,7 +229,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("terminateExperiment\n");
   }
 
-  void registerApplicationModule(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
+  void registerApplicationModule(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
     // Your implementation goes here
     printf("registerApplicationModule\n");
   }
@@ -244,7 +244,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("updateApplicationModule\n");
   }
 
-  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return) {
+  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllAppModules\n");
   }
@@ -254,7 +254,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("deleteApplicationModule\n");
   }
 
-  void registerApplicationDeployment(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
+  void registerApplicationDeployment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
     // Your implementation goes here
     printf("registerApplicationDeployment\n");
   }
@@ -274,7 +274,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("deleteApplicationDeployment\n");
   }
 
-  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return) {
+  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllApplicationDeployments\n");
   }
@@ -284,7 +284,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getAppModuleDeployedResources\n");
   }
 
-  void registerApplicationInterface(std::string& _return, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
+  void registerApplicationInterface(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
     // Your implementation goes here
     printf("registerApplicationInterface\n");
   }
@@ -304,12 +304,12 @@ class AiravataHandler : virtual public AiravataIf {
     printf("deleteApplicationInterface\n");
   }
 
-  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return) {
+  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllApplicationInterfaceNames\n");
   }
 
-  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return) {
+  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllApplicationInterfaces\n");
   }
@@ -579,7 +579,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("deleteGatewayComputeResourcePreference\n");
   }
 
-  void getAllWorkflows(std::vector<std::string> & _return) {
+  void getAllWorkflows(std::vector<std::string> & _return, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllWorkflows\n");
   }
@@ -594,7 +594,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("deleteWorkflow\n");
   }
 
-  void registerWorkflow(std::string& _return, const  ::Workflow& workflow) {
+  void registerWorkflow(std::string& _return, const std::string& gatewayId, const  ::Workflow& workflow) {
     // Your implementation goes here
     printf("registerWorkflow\n");
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8be59881/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index 9c65026..85bf7e6 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -27,20 +27,20 @@ interface AiravataIf {
   public function generateAndRegisterSSHKeys($gatewayId, $userName);
   public function getSSHPubKey($airavataCredStoreToken);
   public function getAllUserSSHPubKeys($userName);
-  public function createProject(\Airavata\Model\Workspace\Project $project);
+  public function createProject($gatewayId, \Airavata\Model\Workspace\Project $project);
   public function updateProject($projectId, \Airavata\Model\Workspace\Project $updatedProject);
   public function getProject($projectId);
-  public function getAllUserProjects($userName);
-  public function searchProjectsByProjectName($userName, $projectName);
-  public function searchProjectsByProjectDesc($userName, $description);
-  public function searchExperimentsByName($userName, $expName);
-  public function searchExperimentsByDesc($userName, $description);
-  public function searchExperimentsByApplication($userName, $applicationId);
-  public function searchExperimentsByStatus($userName, $experimentState);
-  public function searchExperimentsByCreationTime($userName, $fromTime, $toTime);
+  public function getAllUserProjects($gatewayId, $userName);
+  public function searchProjectsByProjectName($gatewayId, $userName, $projectName);
+  public function searchProjectsByProjectDesc($gatewayId, $userName, $description);
+  public function searchExperimentsByName($gatewayId, $userName, $expName);
+  public function searchExperimentsByDesc($gatewayId, $userName, $description);
+  public function searchExperimentsByApplication($gatewayId, $userName, $applicationId);
+  public function searchExperimentsByStatus($gatewayId, $userName, $experimentState);
+  public function searchExperimentsByCreationTime($gatewayId, $userName, $fromTime, $toTime);
   public function getAllExperimentsInProject($projectId);
-  public function getAllUserExperiments($userName);
-  public function createExperiment(\Airavata\Model\Workspace\Experiment\Experiment $experiment);
+  public function getAllUserExperiments($gatewayId, $userName);
+  public function createExperiment($gatewayId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
   public function getExperiment($airavataExperimentId);
   public function updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
   public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration);
@@ -55,23 +55,23 @@ interface AiravataIf {
   public function getDataTransferDetails($airavataExperimentId);
   public function cloneExperiment($existingExperimentID, $newExperimentName);
   public function terminateExperiment($airavataExperimentId);
-  public function registerApplicationModule(\Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
+  public function registerApplicationModule($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
   public function getApplicationModule($appModuleId);
   public function updateApplicationModule($appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
-  public function getAllAppModules();
+  public function getAllAppModules($gatewayId);
   public function deleteApplicationModule($appModuleId);
-  public function registerApplicationDeployment(\Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
+  public function registerApplicationDeployment($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
   public function getApplicationDeployment($appDeploymentId);
   public function updateApplicationDeployment($appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
   public function deleteApplicationDeployment($appDeploymentId);
-  public function getAllApplicationDeployments();
+  public function getAllApplicationDeployments($gatewayId);
   public function getAppModuleDeployedResources($appModuleId);
-  public function registerApplicationInterface(\Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
+  public function registerApplicationInterface($gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
   public function getApplicationInterface($appInterfaceId);
   public function updateApplicationInterface($appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
   public function deleteApplicationInterface($appInterfaceId);
-  public function getAllApplicationInterfaceNames();
-  public function getAllApplicationInterfaces();
+  public function getAllApplicationInterfaceNames($gatewayId);
+  public function getAllApplicationInterfaces($gatewayId);
   public function getApplicationInputs($appInterfaceId);
   public function getApplicationOutputs($appInterfaceId);
   public function getAvailableAppInterfaceComputeResources($appInterfaceId);
@@ -125,10 +125,10 @@ interface AiravataIf {
   public function getAllGatewayComputeResources();
   public function updateGatewayComputeResourcePreference($gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
   public function deleteGatewayComputeResourcePreference($gatewayID, $computeResourceId);
-  public function getAllWorkflows();
+  public function getAllWorkflows($gatewayId);
   public function getWorkflow($workflowTemplateId);
   public function deleteWorkflow($workflowTemplateId);
-  public function registerWorkflow(\Airavata\Model\Workflow $workflow);
+  public function registerWorkflow($gatewayId, \Airavata\Model\Workflow $workflow);
   public function updateWorkflow($workflowTemplateId, \Airavata\Model\Workflow $workflow);
   public function getWorkflowTemplateId($workflowName);
   public function isWorkflowExistWithName($workflowName);
@@ -742,15 +742,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAllUserSSHPubKeys failed: unknown result");
   }
 
-  public function createProject(\Airavata\Model\Workspace\Project $project)
+  public function createProject($gatewayId, \Airavata\Model\Workspace\Project $project)
   {
-    $this->send_createProject($project);
+    $this->send_createProject($gatewayId, $project);
     return $this->recv_createProject();
   }
 
-  public function send_createProject(\Airavata\Model\Workspace\Project $project)
+  public function send_createProject($gatewayId, \Airavata\Model\Workspace\Project $project)
   {
     $args = new \Airavata\API\Airavata_createProject_args();
+    $args->gatewayId = $gatewayId;
     $args->project = $project;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -926,15 +927,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getProject failed: unknown result");
   }
 
-  public function getAllUserProjects($userName)
+  public function getAllUserProjects($gatewayId, $userName)
   {
-    $this->send_getAllUserProjects($userName);
+    $this->send_getAllUserProjects($gatewayId, $userName);
     return $this->recv_getAllUserProjects();
   }
 
-  public function send_getAllUserProjects($userName)
+  public function send_getAllUserProjects($gatewayId, $userName)
   {
     $args = new \Airavata\API\Airavata_getAllUserProjects_args();
+    $args->gatewayId = $gatewayId;
     $args->userName = $userName;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -986,15 +988,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAllUserProjects failed: unknown result");
   }
 
-  public function searchProjectsByProjectName($userName, $projectName)
+  public function searchProjectsByProjectName($gatewayId, $userName, $projectName)
   {
-    $this->send_searchProjectsByProjectName($userName, $projectName);
+    $this->send_searchProjectsByProjectName($gatewayId, $userName, $projectName);
     return $this->recv_searchProjectsByProjectName();
   }
 
-  public function send_searchProjectsByProjectName($userName, $projectName)
+  public function send_searchProjectsByProjectName($gatewayId, $userName, $projectName)
   {
     $args = new \Airavata\API\Airavata_searchProjectsByProjectName_args();
+    $args->gatewayId = $gatewayId;
     $args->userName = $userName;
     $args->projectName = $projectName;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -1047,15 +1050,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("searchProjectsByProjectName failed: unknown result");
   }
 
-  public function searchProjectsByProjectDesc($userName, $description)
+  public function searchProjectsByProjectDesc($gatewayId, $userName, $description)
   {
-    $this->send_searchProjectsByProjectDesc($userName, $description);
+    $this->send_searchProjectsByProjectDesc($gatewayId, $userName, $description);
     return $this->recv_searchProjectsByProjectDesc();
   }
 
-  public function send_searchProjectsByProjectDesc($userName, $description)
+  public function send_searchProjectsByProjectDesc($gatewayId, $userName, $description)
   {
     $args = new \Airavata\API\Airavata_searchProjectsByProjectDesc_args();
+    $args->gatewayId = $gatewayId;
     $args->userName = $userName;
     $args->description = $description;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -1108,15 +1112,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("searchProjectsByProjectDesc failed: unknown result");
   }
 
-  public function searchExperimentsByName($userName, $expName)
+  public function searchExperimentsByName($gatewayId, $userName, $expName)
   {
-    $this->send_searchExperimentsByName($userName, $expName);
+    $this->send_searchExperimentsByName($gatewayId, $userName, $expName);
     return $this->recv_searchExperimentsByName();
   }
 
-  public function send_searchExperimentsByName($userName, $expName)
+  public function send_searchExperimentsByName($gatewayId, $userName, $expName)
   {
     $args = new \Airavata\API\Airavata_searchExperimentsByName_args();
+    $args->gatewayId = $gatewayId;
     $args->userName = $userName;
     $args->expName = $expName;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -1169,15 +1174,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("searchExperimentsByName failed: unknown result");
   }
 
-  public function searchExperimentsByDesc($userName, $description)
+  public function searchExperimentsByDesc($gatewayId, $userName, $description)
   {
-    $this->send_searchExperimentsByDesc($userName, $description);
+    $this->send_searchExperimentsByDesc($gatewayId, $userName, $description);
     return $this->recv_searchExperimentsByDesc();
   }
 
-  public function send_searchExperimentsByDesc($userName, $description)
+  public function send_searchExperimentsByDesc($gatewayId, $userName, $description)
   {
     $args = new \Airavata\API\Airavata_searchExperimentsByDesc_args();
+    $args->gatewayId = $gatewayId;
     $args->userName = $userName;
     $args->description = $description;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -1230,15 +1236,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("searchExperimentsByDesc failed: unknown result");
   }
 
-  public function searchExperimentsByApplication($userName, $applicationId)
+  public function searchExperimentsByApplication($gatewayId, $userName, $applicationId)
   {
-    $this->send_searchExperimentsByApplication($userName, $applicationId);
+    $this->send_searchExperimentsByApplication($gatewayId, $userName, $applicationId);
     return $this->recv_searchExperimentsByApplication();
   }
 
-  public function send_searchExperimentsByApplication($userName, $applicationId)
+  public function send_searchExperimentsByApplication($gatewayId, $userName, $applicationId)
   {
     $args = new \Airavata\API\Airavata_searchExperimentsByApplication_args();
+    $args->gatewayId = $gatewayId;
     $args->userName = $userName;
     $args->applicationId = $applicationId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -1291,15 +1298,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("searchExperimentsByApplication failed: unknown result");
   }
 
-  public function searchExperimentsByStatus($userName, $experimentState)
+  public function searchExperimentsByStatus($gatewayId, $userName, $experimentState)
   {
-    $this->send_searchExperimentsByStatus($userName, $experimentState);
+    $this->send_searchExperimentsByStatus($gatewayId, $userName, $experimentState);
     return $this->recv_searchExperimentsByStatus();
   }
 
-  public function send_searchExperimentsByStatus($userName, $experimentState)
+  public function send_searchExperimentsByStatus($gatewayId, $userName, $experimentState)
   {
     $args = new \Airavata\API\Airavata_searchExperimentsByStatus_args();
+    $args->gatewayId = $gatewayId;
     $args->userName = $userName;
     $args->experimentState = $experimentState;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -1352,15 +1360,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("searchExperimentsByStatus failed: unknown result");
   }
 
-  public function searchExperimentsByCreationTime($userName, $fromTime, $toTime)
+  public function searchExperimentsByCreationTime($gatewayId, $userName, $fromTime, $toTime)
   {
-    $this->send_searchExperimentsByCreationTime($userName, $fromTime, $toTime);
+    $this->send_searchExperimentsByCreationTime($gatewayId, $userName, $fromTime, $toTime);
     return $this->recv_searchExperimentsByCreationTime();
   }
 
-  public function send_searchExperimentsByCreationTime($userName, $fromTime, $toTime)
+  public function send_searchExperimentsByCreationTime($gatewayId, $userName, $fromTime, $toTime)
   {
     $args = new \Airavata\API\Airavata_searchExperimentsByCreationTime_args();
+    $args->gatewayId = $gatewayId;
     $args->userName = $userName;
     $args->fromTime = $fromTime;
     $args->toTime = $toTime;
@@ -1477,15 +1486,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAllExperimentsInProject failed: unknown result");
   }
 
-  public function getAllUserExperiments($userName)
+  public function getAllUserExperiments($gatewayId, $userName)
   {
-    $this->send_getAllUserExperiments($userName);
+    $this->send_getAllUserExperiments($gatewayId, $userName);
     return $this->recv_getAllUserExperiments();
   }
 
-  public function send_getAllUserExperiments($userName)
+  public function send_getAllUserExperiments($gatewayId, $userName)
   {
     $args = new \Airavata\API\Airavata_getAllUserExperiments_args();
+    $args->gatewayId = $gatewayId;
     $args->userName = $userName;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -1537,15 +1547,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAllUserExperiments failed: unknown result");
   }
 
-  public function createExperiment(\Airavata\Model\Workspace\Experiment\Experiment $experiment)
+  public function createExperiment($gatewayId, \Airavata\Model\Workspace\Experiment\Experiment $experiment)
   {
-    $this->send_createExperiment($experiment);
+    $this->send_createExperiment($gatewayId, $experiment);
     return $this->recv_createExperiment();
   }
 
-  public function send_createExperiment(\Airavata\Model\Workspace\Experiment\Experiment $experiment)
+  public function send_createExperiment($gatewayId, \Airavata\Model\Workspace\Experiment\Experiment $experiment)
   {
     $args = new \Airavata\API\Airavata_createExperiment_args();
+    $args->gatewayId = $gatewayId;
     $args->experiment = $experiment;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -2448,15 +2459,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     return;
   }
 
-  public function registerApplicationModule(\Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule)
+  public function registerApplicationModule($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule)
   {
-    $this->send_registerApplicationModule($applicationModule);
+    $this->send_registerApplicationModule($gatewayId, $applicationModule);
     return $this->recv_registerApplicationModule();
   }
 
-  public function send_registerApplicationModule(\Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule)
+  public function send_registerApplicationModule($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule)
   {
     $args = new \Airavata\API\Airavata_registerApplicationModule_args();
+    $args->gatewayId = $gatewayId;
     $args->applicationModule = $applicationModule;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -2629,15 +2641,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("updateApplicationModule failed: unknown result");
   }
 
-  public function getAllAppModules()
+  public function getAllAppModules($gatewayId)
   {
-    $this->send_getAllAppModules();
+    $this->send_getAllAppModules($gatewayId);
     return $this->recv_getAllAppModules();
   }
 
-  public function send_getAllAppModules()
+  public function send_getAllAppModules($gatewayId)
   {
     $args = new \Airavata\API\Airavata_getAllAppModules_args();
+    $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
     {
@@ -2748,15 +2761,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("deleteApplicationModule failed: unknown result");
   }
 
-  public function registerApplicationDeployment(\Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment)
+  public function registerApplicationDeployment($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment)
   {
-    $this->send_registerApplicationDeployment($applicationDeployment);
+    $this->send_registerApplicationDeployment($gatewayId, $applicationDeployment);
     return $this->recv_registerApplicationDeployment();
   }
 
-  public function send_registerApplicationDeployment(\Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment)
+  public function send_registerApplicationDeployment($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment)
   {
     $args = new \Airavata\API\Airavata_registerApplicationDeployment_args();
+    $args->gatewayId = $gatewayId;
     $args->applicationDeployment = $applicationDeployment;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -2989,15 +3003,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("deleteApplicationDeployment failed: unknown result");
   }
 
-  public function getAllApplicationDeployments()
+  public function getAllApplicationDeployments($gatewayId)
   {
-    $this->send_getAllApplicationDeployments();
+    $this->send_getAllApplicationDeployments($gatewayId);
     return $this->recv_getAllApplicationDeployments();
   }
 
-  public function send_getAllApplicationDeployments()
+  public function send_getAllApplicationDeployments($gatewayId)
   {
     $args = new \Airavata\API\Airavata_getAllApplicationDeployments_args();
+    $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
     {
@@ -3108,15 +3123,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAppModuleDeployedResources failed: unknown result");
   }
 
-  public function registerApplicationInterface(\Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface)
+  public function registerApplicationInterface($gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface)
   {
-    $this->send_registerApplicationInterface($applicationInterface);
+    $this->send_registerApplicationInterface($gatewayId, $applicationInterface);
     return $this->recv_registerApplicationInterface();
   }
 
-  public function send_registerApplicationInterface(\Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface)
+  public function send_registerApplicationInterface($gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface)
   {
     $args = new \Airavata\API\Airavata_registerApplicationInterface_args();
+    $args->gatewayId = $gatewayId;
     $args->applicationInterface = $applicationInterface;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -3349,15 +3365,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("deleteApplicationInterface failed: unknown result");
   }
 
-  public function getAllApplicationInterfaceNames()
+  public function getAllApplicationInterfaceNames($gatewayId)
   {
-    $this->send_getAllApplicationInterfaceNames();
+    $this->send_getAllApplicationInterfaceNames($gatewayId);
     return $this->recv_getAllApplicationInterfaceNames();
   }
 
-  public function send_getAllApplicationInterfaceNames()
+  public function send_getAllApplicationInterfaceNames($gatewayId)
   {
     $args = new \Airavata\API\Airavata_getAllApplicationInterfaceNames_args();
+    $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
     {
@@ -3408,15 +3425,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAllApplicationInterfaceNames failed: unknown result");
   }
 
-  public function getAllApplicationInterfaces()
+  public function getAllApplicationInterfaces($gatewayId)
   {
-    $this->send_getAllApplicationInterfaces();
+    $this->send_getAllApplicationInterfaces($gatewayId);
     return $this->recv_getAllApplicationInterfaces();
   }
 
-  public function send_getAllApplicationInterfaces()
+  public function send_getAllApplicationInterfaces($gatewayId)
   {
     $args = new \Airavata\API\Airavata_getAllApplicationInterfaces_args();
+    $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
     {
@@ -6683,15 +6701,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("deleteGatewayComputeResourcePreference failed: unknown result");
   }
 
-  public function getAllWorkflows()
+  public function getAllWorkflows($gatewayId)
   {
-    $this->send_getAllWorkflows();
+    $this->send_getAllWorkflows($gatewayId);
     return $this->recv_getAllWorkflows();
   }
 
-  public function send_getAllWorkflows()
+  public function send_getAllWorkflows($gatewayId)
   {
     $args = new \Airavata\API\Airavata_getAllWorkflows_args();
+    $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
     {
@@ -6859,15 +6878,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     return;
   }
 
-  public function registerWorkflow(\Airavata\Model\Workflow $workflow)
+  public function registerWorkflow($gatewayId, \Airavata\Model\Workflow $workflow)
   {
-    $this->send_registerWorkflow($workflow);
+    $this->send_registerWorkflow($gatewayId, $workflow);
     return $this->recv_registerWorkflow();
   }
 
-  public function send_registerWorkflow(\Airavata\Model\Workflow $workflow)
+  public function send_registerWorkflow($gatewayId, \Airavata\Model\Workflow $workflow)
   {
     $args = new \Airavata\API\Airavata_registerWorkflow_args();
+    $args->gatewayId = $gatewayId;
     $args->workflow = $workflow;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -9257,12 +9277,17 @@ class Airavata_getAllUserSSHPubKeys_result {
 class Airavata_createProject_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $project = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
           'var' => 'project',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Project',
@@ -9270,6 +9295,9 @@ class Airavata_createProject_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['project'])) {
         $this->project = $vals['project'];
       }
@@ -9296,6 +9324,13 @@ class Airavata_createProject_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRUCT) {
             $this->project = new \Airavata\Model\Workspace\Project();
             $xfer += $this->project->read($input);
@@ -9316,11 +9351,16 @@ class Airavata_createProject_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_createProject_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->project !== null) {
       if (!is_object($this->project)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('project', TType::STRUCT, 1);
+      $xfer += $output->writeFieldBegin('project', TType::STRUCT, 2);
       $xfer += $this->project->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -9946,18 +9986,26 @@ class Airavata_getProject_result {
 class Airavata_getAllUserProjects_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $userName = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
           'var' => 'userName',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -9985,6 +10033,13 @@ class Airavata_getAllUserProjects_args {
       {
         case 1:
           if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->userName);
           } else {
             $xfer += $input->skip($ftype);
@@ -10003,8 +10058,13 @@ class Airavata_getAllUserProjects_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getAllUserProjects_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
@@ -10184,6 +10244,7 @@ class Airavata_getAllUserProjects_result {
 class Airavata_searchProjectsByProjectName_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $userName = null;
   public $projectName = null;
 
@@ -10191,16 +10252,23 @@ class Airavata_searchProjectsByProjectName_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'userName',
+          'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         2 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        3 => array(
           'var' => 'projectName',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -10231,13 +10299,20 @@ class Airavata_searchProjectsByProjectName_args {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
+            $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
           if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->projectName);
           } else {
             $xfer += $input->skip($ftype);
@@ -10256,13 +10331,18 @@ class Airavata_searchProjectsByProjectName_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_searchProjectsByProjectName_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->projectName !== null) {
-      $xfer += $output->writeFieldBegin('projectName', TType::STRING, 2);
+      $xfer += $output->writeFieldBegin('projectName', TType::STRING, 3);
       $xfer += $output->writeString($this->projectName);
       $xfer += $output->writeFieldEnd();
     }
@@ -10442,6 +10522,7 @@ class Airavata_searchProjectsByProjectName_result {
 class Airavata_searchProjectsByProjectDesc_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $userName = null;
   public $description = null;
 
@@ -10449,16 +10530,23 @@ class Airavata_searchProjectsByProjectDesc_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'userName',
+          'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         2 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        3 => array(
           'var' => 'description',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -10489,13 +10577,20 @@ class Airavata_searchProjectsByProjectDesc_args {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
+            $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
           if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->description);
           } else {
             $xfer += $input->skip($ftype);
@@ -10514,13 +10609,18 @@ class Airavata_searchProjectsByProjectDesc_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_searchProjectsByProjectDesc_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->description !== null) {
-      $xfer += $output->writeFieldBegin('description', TType::STRING, 2);
+      $xfer += $output->writeFieldBegin('description', TType::STRING, 3);
       $xfer += $output->writeString($this->description);
       $xfer += $output->writeFieldEnd();
     }
@@ -10700,6 +10800,7 @@ class Airavata_searchProjectsByProjectDesc_result {
 class Airavata_searchExperimentsByName_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $userName = null;
   public $expName = null;
 
@@ -10707,16 +10808,23 @@ class Airavata_searchExperimentsByName_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'userName',
+          'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         2 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        3 => array(
           'var' => 'expName',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -10747,13 +10855,20 @@ class Airavata_searchExperimentsByName_args {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
+            $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
           if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->expName);
           } else {
             $xfer += $input->skip($ftype);
@@ -10772,13 +10887,18 @@ class Airavata_searchExperimentsByName_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_searchExperimentsByName_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->expName !== null) {
-      $xfer += $output->writeFieldBegin('expName', TType::STRING, 2);
+      $xfer += $output->writeFieldBegin('expName', TType::STRING, 3);
       $xfer += $output->writeString($this->expName);
       $xfer += $output->writeFieldEnd();
     }
@@ -10958,6 +11078,7 @@ class Airavata_searchExperimentsByName_result {
 class Airavata_searchExperimentsByDesc_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $userName = null;
   public $description = null;
 
@@ -10965,16 +11086,23 @@ class Airavata_searchExperimentsByDesc_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'userName',
+          'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         2 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        3 => array(
           'var' => 'description',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -11005,13 +11133,20 @@ class Airavata_searchExperimentsByDesc_args {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
+            $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
           if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->description);
           } else {
             $xfer += $input->skip($ftype);
@@ -11030,13 +11165,18 @@ class Airavata_searchExperimentsByDesc_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_searchExperimentsByDesc_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->description !== null) {
-      $xfer += $output->writeFieldBegin('description', TType::STRING, 2);
+      $xfer += $output->writeFieldBegin('description', TType::STRING, 3);
       $xfer += $output->writeString($this->description);
       $xfer += $output->writeFieldEnd();
     }
@@ -11216,6 +11356,7 @@ class Airavata_searchExperimentsByDesc_result {
 class Airavata_searchExperimentsByApplication_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $userName = null;
   public $applicationId = null;
 
@@ -11223,16 +11364,23 @@ class Airavata_searchExperimentsByApplication_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'userName',
+          'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         2 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        3 => array(
           'var' => 'applicationId',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -11263,13 +11411,20 @@ class Airavata_searchExperimentsByApplication_args {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
+            $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
           if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->applicationId);
           } else {
             $xfer += $input->skip($ftype);
@@ -11288,13 +11443,18 @@ class Airavata_searchExperimentsByApplication_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_searchExperimentsByApplication_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->applicationId !== null) {
-      $xfer += $output->writeFieldBegin('applicationId', TType::STRING, 2);
+      $xfer += $output->writeFieldBegin('applicationId', TType::STRING, 3);
       $xfer += $output->writeString($this->applicationId);
       $xfer += $output->writeFieldEnd();
     }
@@ -11474,6 +11634,7 @@ class Airavata_searchExperimentsByApplication_result {
 class Airavata_searchExperimentsByStatus_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $userName = null;
   public $experimentState = null;
 
@@ -11481,16 +11642,23 @@ class Airavata_searchExperimentsByStatus_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'userName',
+          'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         2 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        3 => array(
           'var' => 'experimentState',
           'type' => TType::I32,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -11521,12 +11689,19 @@ class Airavata_searchExperimentsByStatus_args {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
+            $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->experimentState);
           } else {
@@ -11546,13 +11721,18 @@ class Airavata_searchExperimentsByStatus_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_searchExperimentsByStatus_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->experimentState !== null) {
-      $xfer += $output->writeFieldBegin('experimentState', TType::I32, 2);
+      $xfer += $output->writeFieldBegin('experimentState', TType::I32, 3);
       $xfer += $output->writeI32($this->experimentState);
       $xfer += $output->writeFieldEnd();
     }
@@ -11732,6 +11912,7 @@ class Airavata_searchExperimentsByStatus_result {
 class Airavata_searchExperimentsByCreationTime_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $userName = null;
   public $fromTime = null;
   public $toTime = null;
@@ -11740,20 +11921,27 @@ class Airavata_searchExperimentsByCreationTime_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'userName',
+          'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         2 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        3 => array(
           'var' => 'fromTime',
           'type' => TType::I64,
           ),
-        3 => array(
+        4 => array(
           'var' => 'toTime',
           'type' => TType::I64,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -11787,19 +11975,26 @@ class Airavata_searchExperimentsByCreationTime_args {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
+            $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->fromTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 3:
+        case 4:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->toTime);
           } else {
@@ -11819,18 +12014,23 @@ class Airavata_searchExperimentsByCreationTime_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_searchExperimentsByCreationTime_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->fromTime !== null) {
-      $xfer += $output->writeFieldBegin('fromTime', TType::I64, 2);
+      $xfer += $output->writeFieldBegin('fromTime', TType::I64, 3);
       $xfer += $output->writeI64($this->fromTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->toTime !== null) {
-      $xfer += $output->writeFieldBegin('toTime', TType::I64, 3);
+      $xfer += $output->writeFieldBegin('toTime', TType::I64, 4);
       $xfer += $output->writeI64($this->toTime);
       $xfer += $output->writeFieldEnd();
     }
@@ -12270,18 +12470,26 @@ class Airavata_getAllExperimentsInProject_result {
 class Airavata_getAllUserExperiments_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $userName = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
           'var' => 'userName',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['userName'])) {
         $this->userName = $vals['userName'];
       }
@@ -12309,6 +12517,13 @@ class Airavata_getAllUserExperiments_args {
       {
         case 1:
           if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->userName);
           } else {
             $xfer += $input->skip($ftype);
@@ -12327,8 +12542,13 @@ class Airavata_getAllUserExperiments_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getAllUserExperiments_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
       $xfer += $output->writeString($this->userName);
       $xfer += $output->writeFieldEnd();
     }
@@ -12508,12 +12728,17 @@ class Airavata_getAllUserExperiments_result {
 class Airavata_createExperiment_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $experiment = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
           'var' => 'experiment',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Experiment\Experiment',
@@ -12521,6 +12746,9 @@ class Airavata_createExperiment_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['experiment'])) {
         $this->experiment = $vals['experiment'];
       }
@@ -12547,6 +12775,13 @@ class Airavata_createExperiment_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRUCT) {
             $this->experiment = new \Airavata\Model\Workspace\Experiment\Experiment();
             $xfer += $this->experiment->read($input);
@@ -12567,11 +12802,16 @@ class Airavata_createExperiment_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_createExperiment_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->experiment !== null) {
       if (!is_object($this->experiment)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('experiment', TType::STRUCT, 1);
+      $xfer += $output->writeFieldBegin('experiment', TType::STRUCT, 2);
       $xfer += $this->experiment->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -15986,12 +16226,17 @@ class Airavata_terminateExperiment_result {
 class Airavata_registerApplicationModule_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $applicationModule = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
           'var' => 'applicationModule',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\AppCatalog\AppDeployment\ApplicationModule',
@@ -15999,6 +16244,9 @@ class Airavata_registerApplicationModule_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['applicationModule'])) {
         $this->applicationModule = $vals['applicationModule'];
       }
@@ -16025,6 +16273,13 @@ class Airavata_registerApplicationModule_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRUCT) {
             $this->applicationModule = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule();
             $xfer += $this->applicationModule->read($input);
@@ -16045,11 +16300,16 @@ class Airavata_registerApplicationModule_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_registerApplicationModule_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->applicationModule !== null) {
       if (!is_object($this->applicationModule)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('applicationModule', TType::STRUCT, 1);
+      $xfer += $output->writeFieldBegin('applicationModule', TType::STRUCT, 2);
       $xfer += $this->applicationModule->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -16651,12 +16911,22 @@ class Airavata_updateApplicationModule_result {
 class Airavata_getAllAppModules_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
 
-  public function __construct() {
+  public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
+        1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
         );
     }
+    if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+    }
   }
 
   public function getName() {
@@ -16678,6 +16948,13 @@ class Airavata_getAllAppModules_args {
       }
       switch ($fid)
       {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -16691,6 +16968,11 @@ class Airavata_getAllAppModules_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getAllAppModules_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -17077,12 +17359,17 @@ class Airavata_deleteApplicationModule_result {
 class Airavata_registerApplicationDeployment_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $applicationDeployment = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
           'var' => 'applicationDeployment',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription',
@@ -17090,6 +17377,9 @@ class Airavata_registerApplicationDeployment_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['applicationDeployment'])) {
         $this->applicationDeployment = $vals['applicationDeployment'];
       }
@@ -17116,6 +17406,13 @@ class Airavata_registerApplicationDeployment_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRUCT) {
             $this->applicationDeployment = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription();
             $xfer += $this->applicationDeployment->read($input);
@@ -17136,11 +17433,16 @@ class Airavata_registerApplicationDeployment_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_registerApplicationDeployment_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->applicationDeployment !== null) {
       if (!is_object($this->applicationDeployment)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('applicationDeployment', TType::STRUCT, 1);
+      $xfer += $output->writeFieldBegin('applicationDeployment', TType::STRUCT, 2);
       $xfer += $this->applicationDeployment->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -17952,12 +18254,22 @@ class Airavata_deleteApplicationDeployment_result {
 class Airavata_getAllApplicationDeployments_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
 
-  public function __construct() {
+  public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
+        1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
         );
     }
+    if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+    }
   }
 
   public function getName() {
@@ -17979,6 +18291,13 @@ class Airavata_getAllApplicationDeployments_args {
       }
       switch ($fid)
       {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -17992,6 +18311,11 @@ class Airavata_getAllApplicationDeployments_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getAllApplicationDeployments_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -18404,12 +18728,17 @@ class Airavata_getAppModuleDeployedResources_result {
 class Airavata_registerApplicationInterface_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $applicationInterface = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
           'var' => 'applicationInterface',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription',
@@ -18417,6 +18746,9 @@ class Airavata_registerApplicationInterface_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['applicationInterface'])) {
         $this->applicationInterface = $vals['applicationInterface'];
       }
@@ -18443,6 +18775,13 @@ class Airavata_registerApplicationInterface_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRUCT) {
             $this->applicationInterface = new \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription();
             $xfer += $this->applicationInterface->read($input);
@@ -18463,11 +18802,16 @@ class Airavata_registerApplicationInterface_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_registerApplicationInterface_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->applicationInterface !== null) {
       if (!is_object($this->applicationInterface)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('applicationInterface', TType::STRUCT, 1);
+      $xfer += $output->writeFieldBegin('applicationInterface', TType::STRUCT, 2);
       $xfer += $this->applicationInterface->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -19279,12 +19623,22 @@ class Airavata_deleteApplicationInterface_result {
 class Airavata_getAllApplicationInterfaceNames_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
 
-  public function __construct() {
+  public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
+        1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
         );
     }
+    if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+    }
   }
 
   public function getName() {
@@ -19306,6 +19660,13 @@ class Airavata_getAllApplicationInterfaceNames_args {
       }
       switch ($fid)
       {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -19319,6 +19680,11 @@ class Airavata_getAllApplicationInterfaceNames_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getAllApplicationInterfaceNames_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -19501,12 +19867,22 @@ class Airavata_getAllApplicationInterfaceNames_result {
 class Airavata_getAllApplicationInterfaces_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
 
-  public function __construct() {
+  public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
+        1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
         );
     }
+    if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+    }
   }
 
   public function getName() {
@@ -19528,6 +19904,13 @@ class Airavata_getAllApplicationInterfaces_args {
       }
       switch ($fid)
       {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -19541,6 +19924,11 @@ class Airavata_getAllApplicationInterfaces_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getAllApplicationInterfaces_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -31991,12 +32379,22 @@ class Airavata_deleteGatewayComputeResourcePreference_result {
 class Airavata_getAllWorkflows_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
 
-  public function __construct() {
+  public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
+        1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
         );
     }
+    if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+    }
   }
 
   public function getName() {
@@ -32018,6 +32416,13 @@ class Airavata_getAllWorkflows_args {
       }
       switch ($fid)
       {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -32031,6 +32436,11 @@ class Airavata_getAllWorkflows_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getAllWorkflows_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -32610,12 +33020,17 @@ class Airavata_deleteWorkflow_result {
 class Airavata_registerWorkflow_args {
   static $_TSPEC;
 
+  public $gatewayId = null;
   public $workflow = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
           'var' => 'workflow',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workflow',
@@ -32623,6 +33038,9 @@ class Airavata_registerWorkflow_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
       if (isset($vals['workflow'])) {
         $this->workflow = $vals['workflow'];
       }
@@ -32649,6 +33067,13 @@ class Airavata_registerWorkflow_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRUCT) {
             $this->workflow = new \Airavata\Model\Workflow();
             $xfer += $this->workflow->read($input);
@@ -32669,11 +33094,16 @@ class Airavata_registerWorkflow_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_registerWorkflow_args');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->workflow !== null) {
       if (!is_object($this->workflow)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('workflow', TType::STRUCT, 1);
+      $xfer += $output->writeFieldBegin('workflow', TType::STRUCT, 2);
       $xfer += $this->workflow->write($output);
       $xfer += $output->writeFieldEnd();
     }


[3/5] airavata git commit: Adding gatewayId to relavent API methods to ensure multi-tentant scenarious will work - AIRAVATA-1607

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/8be59881/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index d1dc67c..121db80 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -2327,6 +2327,7 @@ uint32_t Airavata_createProject_args::read(::apache::thrift::protocol::TProtocol
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_project = false;
 
   while (true)
@@ -2338,6 +2339,14 @@ uint32_t Airavata_createProject_args::read(::apache::thrift::protocol::TProtocol
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->project.read(iprot);
           isset_project = true;
@@ -2354,6 +2363,8 @@ uint32_t Airavata_createProject_args::read(::apache::thrift::protocol::TProtocol
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_project)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -2363,7 +2374,11 @@ uint32_t Airavata_createProject_args::write(::apache::thrift::protocol::TProtoco
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_createProject_args");
 
-  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += this->project.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -2376,7 +2391,11 @@ uint32_t Airavata_createProject_pargs::write(::apache::thrift::protocol::TProtoc
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_createProject_pargs");
 
-  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += (*(this->project)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -3041,6 +3060,7 @@ uint32_t Airavata_getAllUserProjects_args::read(::apache::thrift::protocol::TPro
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_userName = false;
 
   while (true)
@@ -3053,6 +3073,14 @@ uint32_t Airavata_getAllUserProjects_args::read(::apache::thrift::protocol::TPro
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
         } else {
@@ -3068,6 +3096,8 @@ uint32_t Airavata_getAllUserProjects_args::read(::apache::thrift::protocol::TPro
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -3077,7 +3107,11 @@ uint32_t Airavata_getAllUserProjects_args::write(::apache::thrift::protocol::TPr
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_args");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
@@ -3090,7 +3124,11 @@ uint32_t Airavata_getAllUserProjects_pargs::write(::apache::thrift::protocol::TP
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_pargs");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
@@ -3298,6 +3336,7 @@ uint32_t Airavata_searchProjectsByProjectName_args::read(::apache::thrift::proto
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_projectName = false;
 
@@ -3311,13 +3350,21 @@ uint32_t Airavata_searchProjectsByProjectName_args::read(::apache::thrift::proto
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->projectName);
           isset_projectName = true;
@@ -3334,6 +3381,8 @@ uint32_t Airavata_searchProjectsByProjectName_args::read(::apache::thrift::proto
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_projectName)
@@ -3345,11 +3394,15 @@ uint32_t Airavata_searchProjectsByProjectName_args::write(::apache::thrift::prot
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectName_args");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->projectName);
   xfer += oprot->writeFieldEnd();
 
@@ -3362,11 +3415,15 @@ uint32_t Airavata_searchProjectsByProjectName_pargs::write(::apache::thrift::pro
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectName_pargs");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->projectName)));
   xfer += oprot->writeFieldEnd();
 
@@ -3574,6 +3631,7 @@ uint32_t Airavata_searchProjectsByProjectDesc_args::read(::apache::thrift::proto
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_description = false;
 
@@ -3587,13 +3645,21 @@ uint32_t Airavata_searchProjectsByProjectDesc_args::read(::apache::thrift::proto
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->description);
           isset_description = true;
@@ -3610,6 +3676,8 @@ uint32_t Airavata_searchProjectsByProjectDesc_args::read(::apache::thrift::proto
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_description)
@@ -3621,11 +3689,15 @@ uint32_t Airavata_searchProjectsByProjectDesc_args::write(::apache::thrift::prot
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDesc_args");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->description);
   xfer += oprot->writeFieldEnd();
 
@@ -3638,11 +3710,15 @@ uint32_t Airavata_searchProjectsByProjectDesc_pargs::write(::apache::thrift::pro
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDesc_pargs");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->description)));
   xfer += oprot->writeFieldEnd();
 
@@ -3850,6 +3926,7 @@ uint32_t Airavata_searchExperimentsByName_args::read(::apache::thrift::protocol:
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_expName = false;
 
@@ -3863,13 +3940,21 @@ uint32_t Airavata_searchExperimentsByName_args::read(::apache::thrift::protocol:
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->expName);
           isset_expName = true;
@@ -3886,6 +3971,8 @@ uint32_t Airavata_searchExperimentsByName_args::read(::apache::thrift::protocol:
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_expName)
@@ -3897,11 +3984,15 @@ uint32_t Airavata_searchExperimentsByName_args::write(::apache::thrift::protocol
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByName_args");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->expName);
   xfer += oprot->writeFieldEnd();
 
@@ -3914,11 +4005,15 @@ uint32_t Airavata_searchExperimentsByName_pargs::write(::apache::thrift::protoco
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByName_pargs");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->expName)));
   xfer += oprot->writeFieldEnd();
 
@@ -4126,6 +4221,7 @@ uint32_t Airavata_searchExperimentsByDesc_args::read(::apache::thrift::protocol:
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_description = false;
 
@@ -4139,13 +4235,21 @@ uint32_t Airavata_searchExperimentsByDesc_args::read(::apache::thrift::protocol:
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->description);
           isset_description = true;
@@ -4162,6 +4266,8 @@ uint32_t Airavata_searchExperimentsByDesc_args::read(::apache::thrift::protocol:
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_description)
@@ -4173,11 +4279,15 @@ uint32_t Airavata_searchExperimentsByDesc_args::write(::apache::thrift::protocol
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDesc_args");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->description);
   xfer += oprot->writeFieldEnd();
 
@@ -4190,11 +4300,15 @@ uint32_t Airavata_searchExperimentsByDesc_pargs::write(::apache::thrift::protoco
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDesc_pargs");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->description)));
   xfer += oprot->writeFieldEnd();
 
@@ -4402,6 +4516,7 @@ uint32_t Airavata_searchExperimentsByApplication_args::read(::apache::thrift::pr
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_applicationId = false;
 
@@ -4415,13 +4530,21 @@ uint32_t Airavata_searchExperimentsByApplication_args::read(::apache::thrift::pr
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->applicationId);
           isset_applicationId = true;
@@ -4438,6 +4561,8 @@ uint32_t Airavata_searchExperimentsByApplication_args::read(::apache::thrift::pr
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_applicationId)
@@ -4449,11 +4574,15 @@ uint32_t Airavata_searchExperimentsByApplication_args::write(::apache::thrift::p
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplication_args");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->applicationId);
   xfer += oprot->writeFieldEnd();
 
@@ -4466,11 +4595,15 @@ uint32_t Airavata_searchExperimentsByApplication_pargs::write(::apache::thrift::
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplication_pargs");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->applicationId)));
   xfer += oprot->writeFieldEnd();
 
@@ -4678,6 +4811,7 @@ uint32_t Airavata_searchExperimentsByStatus_args::read(::apache::thrift::protoco
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_experimentState = false;
 
@@ -4691,13 +4825,21 @@ uint32_t Airavata_searchExperimentsByStatus_args::read(::apache::thrift::protoco
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast92;
           xfer += iprot->readI32(ecast92);
@@ -4716,6 +4858,8 @@ uint32_t Airavata_searchExperimentsByStatus_args::read(::apache::thrift::protoco
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_experimentState)
@@ -4727,11 +4871,15 @@ uint32_t Airavata_searchExperimentsByStatus_args::write(::apache::thrift::protoc
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByStatus_args");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 3);
   xfer += oprot->writeI32((int32_t)this->experimentState);
   xfer += oprot->writeFieldEnd();
 
@@ -4744,11 +4892,15 @@ uint32_t Airavata_searchExperimentsByStatus_pargs::write(::apache::thrift::proto
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByStatus_pargs");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 3);
   xfer += oprot->writeI32((int32_t)(*(this->experimentState)));
   xfer += oprot->writeFieldEnd();
 
@@ -4956,6 +5108,7 @@ uint32_t Airavata_searchExperimentsByCreationTime_args::read(::apache::thrift::p
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_fromTime = false;
   bool isset_toTime = false;
@@ -4970,13 +5123,21 @@ uint32_t Airavata_searchExperimentsByCreationTime_args::read(::apache::thrift::p
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->fromTime);
           isset_fromTime = true;
@@ -4984,7 +5145,7 @@ uint32_t Airavata_searchExperimentsByCreationTime_args::read(::apache::thrift::p
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->toTime);
           isset_toTime = true;
@@ -5001,6 +5162,8 @@ uint32_t Airavata_searchExperimentsByCreationTime_args::read(::apache::thrift::p
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_fromTime)
@@ -5014,15 +5177,19 @@ uint32_t Airavata_searchExperimentsByCreationTime_args::write(::apache::thrift::
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByCreationTime_args");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("fromTime", ::apache::thrift::protocol::T_I64, 2);
+  xfer += oprot->writeFieldBegin("fromTime", ::apache::thrift::protocol::T_I64, 3);
   xfer += oprot->writeI64(this->fromTime);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("toTime", ::apache::thrift::protocol::T_I64, 3);
+  xfer += oprot->writeFieldBegin("toTime", ::apache::thrift::protocol::T_I64, 4);
   xfer += oprot->writeI64(this->toTime);
   xfer += oprot->writeFieldEnd();
 
@@ -5035,15 +5202,19 @@ uint32_t Airavata_searchExperimentsByCreationTime_pargs::write(::apache::thrift:
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByCreationTime_pargs");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("fromTime", ::apache::thrift::protocol::T_I64, 2);
+  xfer += oprot->writeFieldBegin("fromTime", ::apache::thrift::protocol::T_I64, 3);
   xfer += oprot->writeI64((*(this->fromTime)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("toTime", ::apache::thrift::protocol::T_I64, 3);
+  xfer += oprot->writeFieldBegin("toTime", ::apache::thrift::protocol::T_I64, 4);
   xfer += oprot->writeI64((*(this->toTime)));
   xfer += oprot->writeFieldEnd();
 
@@ -5528,6 +5699,7 @@ uint32_t Airavata_getAllUserExperiments_args::read(::apache::thrift::protocol::T
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_userName = false;
 
   while (true)
@@ -5540,6 +5712,14 @@ uint32_t Airavata_getAllUserExperiments_args::read(::apache::thrift::protocol::T
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
         } else {
@@ -5555,6 +5735,8 @@ uint32_t Airavata_getAllUserExperiments_args::read(::apache::thrift::protocol::T
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -5564,7 +5746,11 @@ uint32_t Airavata_getAllUserExperiments_args::write(::apache::thrift::protocol::
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_args");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
@@ -5577,7 +5763,11 @@ uint32_t Airavata_getAllUserExperiments_pargs::write(::apache::thrift::protocol:
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_pargs");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
@@ -5785,6 +5975,7 @@ uint32_t Airavata_createExperiment_args::read(::apache::thrift::protocol::TProto
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_experiment = false;
 
   while (true)
@@ -5796,6 +5987,14 @@ uint32_t Airavata_createExperiment_args::read(::apache::thrift::protocol::TProto
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->experiment.read(iprot);
           isset_experiment = true;
@@ -5812,6 +6011,8 @@ uint32_t Airavata_createExperiment_args::read(::apache::thrift::protocol::TProto
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_experiment)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -5821,7 +6022,11 @@ uint32_t Airavata_createExperiment_args::write(::apache::thrift::protocol::TProt
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_createExperiment_args");
 
-  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += this->experiment.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -5834,7 +6039,11 @@ uint32_t Airavata_createExperiment_pargs::write(::apache::thrift::protocol::TPro
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_createExperiment_pargs");
 
-  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += (*(this->experiment)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -9431,6 +9640,7 @@ uint32_t Airavata_registerApplicationModule_args::read(::apache::thrift::protoco
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_applicationModule = false;
 
   while (true)
@@ -9442,6 +9652,14 @@ uint32_t Airavata_registerApplicationModule_args::read(::apache::thrift::protoco
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->applicationModule.read(iprot);
           isset_applicationModule = true;
@@ -9458,6 +9676,8 @@ uint32_t Airavata_registerApplicationModule_args::read(::apache::thrift::protoco
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_applicationModule)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -9467,7 +9687,11 @@ uint32_t Airavata_registerApplicationModule_args::write(::apache::thrift::protoc
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_registerApplicationModule_args");
 
-  xfer += oprot->writeFieldBegin("applicationModule", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("applicationModule", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += this->applicationModule.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -9480,7 +9704,11 @@ uint32_t Airavata_registerApplicationModule_pargs::write(::apache::thrift::proto
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_registerApplicationModule_pargs");
 
-  xfer += oprot->writeFieldBegin("applicationModule", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("applicationModule", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += (*(this->applicationModule)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -10125,6 +10353,7 @@ uint32_t Airavata_getAllAppModules_args::read(::apache::thrift::protocol::TProto
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
 
   while (true)
   {
@@ -10132,12 +10361,27 @@ uint32_t Airavata_getAllAppModules_args::read(::apache::thrift::protocol::TProto
     if (ftype == ::apache::thrift::protocol::T_STOP) {
       break;
     }
-    xfer += iprot->skip(ftype);
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
     xfer += iprot->readFieldEnd();
   }
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -10145,6 +10389,10 @@ uint32_t Airavata_getAllAppModules_args::write(::apache::thrift::protocol::TProt
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllAppModules_args");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -10154,6 +10402,10 @@ uint32_t Airavata_getAllAppModules_pargs::write(::apache::thrift::protocol::TPro
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllAppModules_pargs");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -10583,6 +10835,7 @@ uint32_t Airavata_registerApplicationDeployment_args::read(::apache::thrift::pro
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_applicationDeployment = false;
 
   while (true)
@@ -10594,6 +10847,14 @@ uint32_t Airavata_registerApplicationDeployment_args::read(::apache::thrift::pro
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->applicationDeployment.read(iprot);
           isset_applicationDeployment = true;
@@ -10610,6 +10871,8 @@ uint32_t Airavata_registerApplicationDeployment_args::read(::apache::thrift::pro
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_applicationDeployment)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -10619,7 +10882,11 @@ uint32_t Airavata_registerApplicationDeployment_args::write(::apache::thrift::pr
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_registerApplicationDeployment_args");
 
-  xfer += oprot->writeFieldBegin("applicationDeployment", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("applicationDeployment", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += this->applicationDeployment.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -10632,7 +10899,11 @@ uint32_t Airavata_registerApplicationDeployment_pargs::write(::apache::thrift::p
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_registerApplicationDeployment_pargs");
 
-  xfer += oprot->writeFieldBegin("applicationDeployment", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("applicationDeployment", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += (*(this->applicationDeployment)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -11502,6 +11773,7 @@ uint32_t Airavata_getAllApplicationDeployments_args::read(::apache::thrift::prot
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
 
   while (true)
   {
@@ -11509,12 +11781,27 @@ uint32_t Airavata_getAllApplicationDeployments_args::read(::apache::thrift::prot
     if (ftype == ::apache::thrift::protocol::T_STOP) {
       break;
     }
-    xfer += iprot->skip(ftype);
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
     xfer += iprot->readFieldEnd();
   }
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -11522,6 +11809,10 @@ uint32_t Airavata_getAllApplicationDeployments_args::write(::apache::thrift::pro
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllApplicationDeployments_args");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -11531,6 +11822,10 @@ uint32_t Airavata_getAllApplicationDeployments_pargs::write(::apache::thrift::pr
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllApplicationDeployments_pargs");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -11992,6 +12287,7 @@ uint32_t Airavata_registerApplicationInterface_args::read(::apache::thrift::prot
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_applicationInterface = false;
 
   while (true)
@@ -12003,6 +12299,14 @@ uint32_t Airavata_registerApplicationInterface_args::read(::apache::thrift::prot
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->applicationInterface.read(iprot);
           isset_applicationInterface = true;
@@ -12019,6 +12323,8 @@ uint32_t Airavata_registerApplicationInterface_args::read(::apache::thrift::prot
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_applicationInterface)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -12028,7 +12334,11 @@ uint32_t Airavata_registerApplicationInterface_args::write(::apache::thrift::pro
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_registerApplicationInterface_args");
 
-  xfer += oprot->writeFieldBegin("applicationInterface", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("applicationInterface", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += this->applicationInterface.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -12041,7 +12351,11 @@ uint32_t Airavata_registerApplicationInterface_pargs::write(::apache::thrift::pr
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_registerApplicationInterface_pargs");
 
-  xfer += oprot->writeFieldBegin("applicationInterface", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("applicationInterface", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += (*(this->applicationInterface)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -12911,6 +13225,7 @@ uint32_t Airavata_getAllApplicationInterfaceNames_args::read(::apache::thrift::p
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
 
   while (true)
   {
@@ -12918,12 +13233,27 @@ uint32_t Airavata_getAllApplicationInterfaceNames_args::read(::apache::thrift::p
     if (ftype == ::apache::thrift::protocol::T_STOP) {
       break;
     }
-    xfer += iprot->skip(ftype);
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
     xfer += iprot->readFieldEnd();
   }
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -12931,6 +13261,10 @@ uint32_t Airavata_getAllApplicationInterfaceNames_args::write(::apache::thrift::
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllApplicationInterfaceNames_args");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -12940,6 +13274,10 @@ uint32_t Airavata_getAllApplicationInterfaceNames_pargs::write(::apache::thrift:
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllApplicationInterfaceNames_pargs");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -13151,6 +13489,7 @@ uint32_t Airavata_getAllApplicationInterfaces_args::read(::apache::thrift::proto
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
 
   while (true)
   {
@@ -13158,12 +13497,27 @@ uint32_t Airavata_getAllApplicationInterfaces_args::read(::apache::thrift::proto
     if (ftype == ::apache::thrift::protocol::T_STOP) {
       break;
     }
-    xfer += iprot->skip(ftype);
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
     xfer += iprot->readFieldEnd();
   }
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -13171,6 +13525,10 @@ uint32_t Airavata_getAllApplicationInterfaces_args::write(::apache::thrift::prot
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllApplicationInterfaces_args");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -13180,6 +13538,10 @@ uint32_t Airavata_getAllApplicationInterfaces_pargs::write(::apache::thrift::pro
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllApplicationInterfaces_pargs");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -26255,6 +26617,7 @@ uint32_t Airavata_getAllWorkflows_args::read(::apache::thrift::protocol::TProtoc
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
 
   while (true)
   {
@@ -26262,12 +26625,27 @@ uint32_t Airavata_getAllWorkflows_args::read(::apache::thrift::protocol::TProtoc
     if (ftype == ::apache::thrift::protocol::T_STOP) {
       break;
     }
-    xfer += iprot->skip(ftype);
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
     xfer += iprot->readFieldEnd();
   }
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -26275,6 +26653,10 @@ uint32_t Airavata_getAllWorkflows_args::write(::apache::thrift::protocol::TProto
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllWorkflows_args");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -26284,6 +26666,10 @@ uint32_t Airavata_getAllWorkflows_pargs::write(::apache::thrift::protocol::TProt
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_getAllWorkflows_pargs");
 
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -26918,6 +27304,7 @@ uint32_t Airavata_registerWorkflow_args::read(::apache::thrift::protocol::TProto
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_gatewayId = false;
   bool isset_workflow = false;
 
   while (true)
@@ -26929,6 +27316,14 @@ uint32_t Airavata_registerWorkflow_args::read(::apache::thrift::protocol::TProto
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->workflow.read(iprot);
           isset_workflow = true;
@@ -26945,6 +27340,8 @@ uint32_t Airavata_registerWorkflow_args::read(::apache::thrift::protocol::TProto
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_workflow)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -26954,7 +27351,11 @@ uint32_t Airavata_registerWorkflow_args::write(::apache::thrift::protocol::TProt
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_registerWorkflow_args");
 
-  xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += this->workflow.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -26967,7 +27368,11 @@ uint32_t Airavata_registerWorkflow_pargs::write(::apache::thrift::protocol::TPro
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("Airavata_registerWorkflow_pargs");
 
-  xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += (*(this->workflow)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -28471,18 +28876,19 @@ void AiravataClient::recv_getAllUserSSHPubKeys(std::map<std::string, std::string
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllUserSSHPubKeys failed: unknown result");
 }
 
-void AiravataClient::createProject(std::string& _return, const  ::apache::airavata::model::workspace::Project& project)
+void AiravataClient::createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project)
 {
-  send_createProject(project);
+  send_createProject(gatewayId, project);
   recv_createProject(_return);
 }
 
-void AiravataClient::send_createProject(const  ::apache::airavata::model::workspace::Project& project)
+void AiravataClient::send_createProject(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("createProject", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_createProject_pargs args;
+  args.gatewayId = &gatewayId;
   args.project = &project;
   args.write(oprot_);
 
@@ -28674,18 +29080,19 @@ void AiravataClient::recv_getProject( ::apache::airavata::model::workspace::Proj
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getProject failed: unknown result");
 }
 
-void AiravataClient::getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName)
+void AiravataClient::getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName)
 {
-  send_getAllUserProjects(userName);
+  send_getAllUserProjects(gatewayId, userName);
   recv_getAllUserProjects(_return);
 }
 
-void AiravataClient::send_getAllUserProjects(const std::string& userName)
+void AiravataClient::send_getAllUserProjects(const std::string& gatewayId, const std::string& userName)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getAllUserProjects", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getAllUserProjects_pargs args;
+  args.gatewayId = &gatewayId;
   args.userName = &userName;
   args.write(oprot_);
 
@@ -28741,18 +29148,19 @@ void AiravataClient::recv_getAllUserProjects(std::vector< ::apache::airavata::mo
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllUserProjects failed: unknown result");
 }
 
-void AiravataClient::searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& projectName)
+void AiravataClient::searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName)
 {
-  send_searchProjectsByProjectName(userName, projectName);
+  send_searchProjectsByProjectName(gatewayId, userName, projectName);
   recv_searchProjectsByProjectName(_return);
 }
 
-void AiravataClient::send_searchProjectsByProjectName(const std::string& userName, const std::string& projectName)
+void AiravataClient::send_searchProjectsByProjectName(const std::string& gatewayId, const std::string& userName, const std::string& projectName)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("searchProjectsByProjectName", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_searchProjectsByProjectName_pargs args;
+  args.gatewayId = &gatewayId;
   args.userName = &userName;
   args.projectName = &projectName;
   args.write(oprot_);
@@ -28809,18 +29217,19 @@ void AiravataClient::recv_searchProjectsByProjectName(std::vector< ::apache::air
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "searchProjectsByProjectName failed: unknown result");
 }
 
-void AiravataClient::searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& description)
+void AiravataClient::searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description)
 {
-  send_searchProjectsByProjectDesc(userName, description);
+  send_searchProjectsByProjectDesc(gatewayId, userName, description);
   recv_searchProjectsByProjectDesc(_return);
 }
 
-void AiravataClient::send_searchProjectsByProjectDesc(const std::string& userName, const std::string& description)
+void AiravataClient::send_searchProjectsByProjectDesc(const std::string& gatewayId, const std::string& userName, const std::string& description)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("searchProjectsByProjectDesc", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_searchProjectsByProjectDesc_pargs args;
+  args.gatewayId = &gatewayId;
   args.userName = &userName;
   args.description = &description;
   args.write(oprot_);
@@ -28877,18 +29286,19 @@ void AiravataClient::recv_searchProjectsByProjectDesc(std::vector< ::apache::air
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "searchProjectsByProjectDesc failed: unknown result");
 }
 
-void AiravataClient::searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& expName)
+void AiravataClient::searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName)
 {
-  send_searchExperimentsByName(userName, expName);
+  send_searchExperimentsByName(gatewayId, userName, expName);
   recv_searchExperimentsByName(_return);
 }
 
-void AiravataClient::send_searchExperimentsByName(const std::string& userName, const std::string& expName)
+void AiravataClient::send_searchExperimentsByName(const std::string& gatewayId, const std::string& userName, const std::string& expName)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("searchExperimentsByName", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_searchExperimentsByName_pargs args;
+  args.gatewayId = &gatewayId;
   args.userName = &userName;
   args.expName = &expName;
   args.write(oprot_);
@@ -28945,18 +29355,19 @@ void AiravataClient::recv_searchExperimentsByName(std::vector< ::apache::airavat
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "searchExperimentsByName failed: unknown result");
 }
 
-void AiravataClient::searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& description)
+void AiravataClient::searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description)
 {
-  send_searchExperimentsByDesc(userName, description);
+  send_searchExperimentsByDesc(gatewayId, userName, description);
   recv_searchExperimentsByDesc(_return);
 }
 
-void AiravataClient::send_searchExperimentsByDesc(const std::string& userName, const std::string& description)
+void AiravataClient::send_searchExperimentsByDesc(const std::string& gatewayId, const std::string& userName, const std::string& description)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("searchExperimentsByDesc", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_searchExperimentsByDesc_pargs args;
+  args.gatewayId = &gatewayId;
   args.userName = &userName;
   args.description = &description;
   args.write(oprot_);
@@ -29013,18 +29424,19 @@ void AiravataClient::recv_searchExperimentsByDesc(std::vector< ::apache::airavat
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "searchExperimentsByDesc failed: unknown result");
 }
 
-void AiravataClient::searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& applicationId)
+void AiravataClient::searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId)
 {
-  send_searchExperimentsByApplication(userName, applicationId);
+  send_searchExperimentsByApplication(gatewayId, userName, applicationId);
   recv_searchExperimentsByApplication(_return);
 }
 
-void AiravataClient::send_searchExperimentsByApplication(const std::string& userName, const std::string& applicationId)
+void AiravataClient::send_searchExperimentsByApplication(const std::string& gatewayId, const std::string& userName, const std::string& applicationId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("searchExperimentsByApplication", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_searchExperimentsByApplication_pargs args;
+  args.gatewayId = &gatewayId;
   args.userName = &userName;
   args.applicationId = &applicationId;
   args.write(oprot_);
@@ -29081,18 +29493,19 @@ void AiravataClient::recv_searchExperimentsByApplication(std::vector< ::apache::
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "searchExperimentsByApplication failed: unknown result");
 }
 
-void AiravataClient::searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState)
+void AiravataClient::searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState)
 {
-  send_searchExperimentsByStatus(userName, experimentState);
+  send_searchExperimentsByStatus(gatewayId, userName, experimentState);
   recv_searchExperimentsByStatus(_return);
 }
 
-void AiravataClient::send_searchExperimentsByStatus(const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState)
+void AiravataClient::send_searchExperimentsByStatus(const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("searchExperimentsByStatus", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_searchExperimentsByStatus_pargs args;
+  args.gatewayId = &gatewayId;
   args.userName = &userName;
   args.experimentState = &experimentState;
   args.write(oprot_);
@@ -29149,18 +29562,19 @@ void AiravataClient::recv_searchExperimentsByStatus(std::vector< ::apache::airav
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "searchExperimentsByStatus failed: unknown result");
 }
 
-void AiravataClient::searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const int64_t fromTime, const int64_t toTime)
+void AiravataClient::searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime)
 {
-  send_searchExperimentsByCreationTime(userName, fromTime, toTime);
+  send_searchExperimentsByCreationTime(gatewayId, userName, fromTime, toTime);
   recv_searchExperimentsByCreationTime(_return);
 }
 
-void AiravataClient::send_searchExperimentsByCreationTime(const std::string& userName, const int64_t fromTime, const int64_t toTime)
+void AiravataClient::send_searchExperimentsByCreationTime(const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("searchExperimentsByCreationTime", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_searchExperimentsByCreationTime_pargs args;
+  args.gatewayId = &gatewayId;
   args.userName = &userName;
   args.fromTime = &fromTime;
   args.toTime = &toTime;
@@ -29288,18 +29702,19 @@ void AiravataClient::recv_getAllExperimentsInProject(std::vector< ::apache::aira
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllExperimentsInProject failed: unknown result");
 }
 
-void AiravataClient::getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& userName)
+void AiravataClient::getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& gatewayId, const std::string& userName)
 {
-  send_getAllUserExperiments(userName);
+  send_getAllUserExperiments(gatewayId, userName);
   recv_getAllUserExperiments(_return);
 }
 
-void AiravataClient::send_getAllUserExperiments(const std::string& userName)
+void AiravataClient::send_getAllUserExperiments(const std::string& gatewayId, const std::string& userName)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getAllUserExperiments", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getAllUserExperiments_pargs args;
+  args.gatewayId = &gatewayId;
   args.userName = &userName;
   args.write(oprot_);
 
@@ -29355,18 +29770,19 @@ void AiravataClient::recv_getAllUserExperiments(std::vector< ::apache::airavata:
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllUserExperiments failed: unknown result");
 }
 
-void AiravataClient::createExperiment(std::string& _return, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment)
+void AiravataClient::createExperiment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment)
 {
-  send_createExperiment(experiment);
+  send_createExperiment(gatewayId, experiment);
   recv_createExperiment(_return);
 }
 
-void AiravataClient::send_createExperiment(const  ::apache::airavata::model::workspace::experiment::Experiment& experiment)
+void AiravataClient::send_createExperiment(const std::string& gatewayId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("createExperiment", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_createExperiment_pargs args;
+  args.gatewayId = &gatewayId;
   args.experiment = &experiment;
   args.write(oprot_);
 
@@ -30361,18 +30777,19 @@ void AiravataClient::recv_terminateExperiment()
   return;
 }
 
-void AiravataClient::registerApplicationModule(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule)
+void AiravataClient::registerApplicationModule(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule)
 {
-  send_registerApplicationModule(applicationModule);
+  send_registerApplicationModule(gatewayId, applicationModule);
   recv_registerApplicationModule(_return);
 }
 
-void AiravataClient::send_registerApplicationModule(const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule)
+void AiravataClient::send_registerApplicationModule(const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("registerApplicationModule", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_registerApplicationModule_pargs args;
+  args.gatewayId = &gatewayId;
   args.applicationModule = &applicationModule;
   args.write(oprot_);
 
@@ -30563,18 +30980,19 @@ bool AiravataClient::recv_updateApplicationModule()
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "updateApplicationModule failed: unknown result");
 }
 
-void AiravataClient::getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return)
+void AiravataClient::getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const std::string& gatewayId)
 {
-  send_getAllAppModules();
+  send_getAllAppModules(gatewayId);
   recv_getAllAppModules(_return);
 }
 
-void AiravataClient::send_getAllAppModules()
+void AiravataClient::send_getAllAppModules(const std::string& gatewayId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getAllAppModules", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getAllAppModules_pargs args;
+  args.gatewayId = &gatewayId;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -30696,18 +31114,19 @@ bool AiravataClient::recv_deleteApplicationModule()
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteApplicationModule failed: unknown result");
 }
 
-void AiravataClient::registerApplicationDeployment(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment)
+void AiravataClient::registerApplicationDeployment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment)
 {
-  send_registerApplicationDeployment(applicationDeployment);
+  send_registerApplicationDeployment(gatewayId, applicationDeployment);
   recv_registerApplicationDeployment(_return);
 }
 
-void AiravataClient::send_registerApplicationDeployment(const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment)
+void AiravataClient::send_registerApplicationDeployment(const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("registerApplicationDeployment", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_registerApplicationDeployment_pargs args;
+  args.gatewayId = &gatewayId;
   args.applicationDeployment = &applicationDeployment;
   args.write(oprot_);
 
@@ -30965,18 +31384,19 @@ bool AiravataClient::recv_deleteApplicationDeployment()
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteApplicationDeployment failed: unknown result");
 }
 
-void AiravataClient::getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return)
+void AiravataClient::getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const std::string& gatewayId)
 {
-  send_getAllApplicationDeployments();
+  send_getAllApplicationDeployments(gatewayId);
   recv_getAllApplicationDeployments(_return);
 }
 
-void AiravataClient::send_getAllApplicationDeployments()
+void AiravataClient::send_getAllApplicationDeployments(const std::string& gatewayId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getAllApplicationDeployments", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getAllApplicationDeployments_pargs args;
+  args.gatewayId = &gatewayId;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -31098,18 +31518,19 @@ void AiravataClient::recv_getAppModuleDeployedResources(std::vector<std::string>
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAppModuleDeployedResources failed: unknown result");
 }
 
-void AiravataClient::registerApplicationInterface(std::string& _return, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface)
+void AiravataClient::registerApplicationInterface(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface)
 {
-  send_registerApplicationInterface(applicationInterface);
+  send_registerApplicationInterface(gatewayId, applicationInterface);
   recv_registerApplicationInterface(_return);
 }
 
-void AiravataClient::send_registerApplicationInterface(const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface)
+void AiravataClient::send_registerApplicationInterface(const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("registerApplicationInterface", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_registerApplicationInterface_pargs args;
+  args.gatewayId = &gatewayId;
   args.applicationInterface = &applicationInterface;
   args.write(oprot_);
 
@@ -31367,18 +31788,19 @@ bool AiravataClient::recv_deleteApplicationInterface()
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteApplicationInterface failed: unknown result");
 }
 
-void AiravataClient::getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return)
+void AiravataClient::getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const std::string& gatewayId)
 {
-  send_getAllApplicationInterfaceNames();
+  send_getAllApplicationInterfaceNames(gatewayId);
   recv_getAllApplicationInterfaceNames(_return);
 }
 
-void AiravataClient::send_getAllApplicationInterfaceNames()
+void AiravataClient::send_getAllApplicationInterfaceNames(const std::string& gatewayId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getAllApplicationInterfaceNames", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getAllApplicationInterfaceNames_pargs args;
+  args.gatewayId = &gatewayId;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -31433,18 +31855,19 @@ void AiravataClient::recv_getAllApplicationInterfaceNames(std::map<std::string,
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllApplicationInterfaceNames failed: unknown result");
 }
 
-void AiravataClient::getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return)
+void AiravataClient::getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const std::string& gatewayId)
 {
-  send_getAllApplicationInterfaces();
+  send_getAllApplicationInterfaces(gatewayId);
   recv_getAllApplicationInterfaces(_return);
 }
 
-void AiravataClient::send_getAllApplicationInterfaces()
+void AiravataClient::send_getAllApplicationInterfaces(const std::string& gatewayId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getAllApplicationInterfaces", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getAllApplicationInterfaces_pargs args;
+  args.gatewayId = &gatewayId;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -35086,18 +35509,19 @@ bool AiravataClient::recv_deleteGatewayComputeResourcePreference()
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteGatewayComputeResourcePreference failed: unknown result");
 }
 
-void AiravataClient::getAllWorkflows(std::vector<std::string> & _return)
+void AiravataClient::getAllWorkflows(std::vector<std::string> & _return, const std::string& gatewayId)
 {
-  send_getAllWorkflows();
+  send_getAllWorkflows(gatewayId);
   recv_getAllWorkflows(_return);
 }
 
-void AiravataClient::send_getAllWorkflows()
+void AiravataClient::send_getAllWorkflows(const std::string& gatewayId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getAllWorkflows", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getAllWorkflows_pargs args;
+  args.gatewayId = &gatewayId;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -35281,18 +35705,19 @@ void AiravataClient::recv_deleteWorkflow()
   return;
 }
 
-void AiravataClient::registerWorkflow(std::string& _return, const  ::Workflow& workflow)
+void AiravataClient::registerWorkflow(std::string& _return, const std::string& gatewayId, const  ::Workflow& workflow)
 {
-  send_registerWorkflow(workflow);
+  send_registerWorkflow(gatewayId, workflow);
   recv_registerWorkflow(_return);
 }
 
-void AiravataClient::send_registerWorkflow(const  ::Workflow& workflow)
+void AiravataClient::send_registerWorkflow(const std::string& gatewayId, const  ::Workflow& workflow)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("registerWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_registerWorkflow_pargs args;
+  args.gatewayId = &gatewayId;
   args.workflow = &workflow;
   args.write(oprot_);
 
@@ -36216,7 +36641,7 @@ void AiravataProcessor::process_createProject(int32_t seqid, ::apache::thrift::p
 
   Airavata_createProject_result result;
   try {
-    iface_->createProject(result.success, args.project);
+    iface_->createProject(result.success, args.gatewayId, args.project);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -36410,7 +36835,7 @@ void AiravataProcessor::process_getAllUserProjects(int32_t seqid, ::apache::thri
 
   Airavata_getAllUserProjects_result result;
   try {
-    iface_->getAllUserProjects(result.success, args.userName);
+    iface_->getAllUserProjects(result.success, args.gatewayId, args.userName);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -36473,7 +36898,7 @@ void AiravataProcessor::process_searchProjectsByProjectName(int32_t seqid, ::apa
 
   Airavata_searchProjectsByProjectName_result result;
   try {
-    iface_->searchProjectsByProjectName(result.success, args.userName, args.projectName);
+    iface_->searchProjectsByProjectName(result.success, args.gatewayId, args.userName, args.projectName);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -36536,7 +36961,7 @@ void AiravataProcessor::process_searchProjectsByProjectDesc(int32_t seqid, ::apa
 
   Airavata_searchProjectsByProjectDesc_result result;
   try {
-    iface_->searchProjectsByProjectDesc(result.success, args.userName, args.description);
+    iface_->searchProjectsByProjectDesc(result.success, args.gatewayId, args.userName, args.description);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -36599,7 +37024,7 @@ void AiravataProcessor::process_searchExperimentsByName(int32_t seqid, ::apache:
 
   Airavata_searchExperimentsByName_result result;
   try {
-    iface_->searchExperimentsByName(result.success, args.userName, args.expName);
+    iface_->searchExperimentsByName(result.success, args.gatewayId, args.userName, args.expName);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -36662,7 +37087,7 @@ void AiravataProcessor::process_searchExperimentsByDesc(int32_t seqid, ::apache:
 
   Airavata_searchExperimentsByDesc_result result;
   try {
-    iface_->searchExperimentsByDesc(result.success, args.userName, args.description);
+    iface_->searchExperimentsByDesc(result.success, args.gatewayId, args.userName, args.description);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -36725,7 +37150,7 @@ void AiravataProcessor::process_searchExperimentsByApplication(int32_t seqid, ::
 
   Airavata_searchExperimentsByApplication_result result;
   try {
-    iface_->searchExperimentsByApplication(result.success, args.userName, args.applicationId);
+    iface_->searchExperimentsByApplication(result.success, args.gatewayId, args.userName, args.applicationId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -36788,7 +37213,7 @@ void AiravataProcessor::process_searchExperimentsByStatus(int32_t seqid, ::apach
 
   Airavata_searchExperimentsByStatus_result result;
   try {
-    iface_->searchExperimentsByStatus(result.success, args.userName, args.experimentState);
+    iface_->searchExperimentsByStatus(result.success, args.gatewayId, args.userName, args.experimentState);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -36851,7 +37276,7 @@ void AiravataProcessor::process_searchExperimentsByCreationTime(int32_t seqid, :
 
   Airavata_searchExperimentsByCreationTime_result result;
   try {
-    iface_->searchExperimentsByCreationTime(result.success, args.userName, args.fromTime, args.toTime);
+    iface_->searchExperimentsByCreationTime(result.success, args.gatewayId, args.userName, args.fromTime, args.toTime);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -36980,7 +37405,7 @@ void AiravataProcessor::process_getAllUserExperiments(int32_t seqid, ::apache::t
 
   Airavata_getAllUserExperiments_result result;
   try {
-    iface_->getAllUserExperiments(result.success, args.userName);
+    iface_->getAllUserExperiments(result.success, args.gatewayId, args.userName);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -37043,7 +37468,7 @@ void AiravataProcessor::process_createExperiment(int32_t seqid, ::apache::thrift
 
   Airavata_createExperiment_result result;
   try {
-    iface_->createExperiment(result.success, args.experiment);
+    iface_->createExperiment(result.success, args.gatewayId, args.experiment);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -38004,7 +38429,7 @@ void AiravataProcessor::process_registerApplicationModule(int32_t seqid, ::apach
 
   Airavata_registerApplicationModule_result result;
   try {
-    iface_->registerApplicationModule(result.success, args.applicationModule);
+    iface_->registerApplicationModule(result.success, args.gatewayId, args.applicationModule);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -38193,7 +38618,7 @@ void AiravataProcessor::process_getAllAppModules(int32_t seqid, ::apache::thrift
 
   Airavata_getAllAppModules_result result;
   try {
-    iface_->getAllAppModules(result.success);
+    iface_->getAllAppModules(result.success, args.gatewayId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -38319,7 +38744,7 @@ void AiravataProcessor::process_registerApplicationDeployment(int32_t seqid, ::a
 
   Airavata_registerApplicationDeployment_result result;
   try {
-    iface_->registerApplicationDeployment(result.success, args.applicationDeployment);
+    iface_->registerApplicationDeployment(result.success, args.gatewayId, args.applicationDeployment);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -38571,7 +38996,7 @@ void AiravataProcessor::process_getAllApplicationDeployments(int32_t seqid, ::ap
 
   Airavata_getAllApplicationDeployments_result result;
   try {
-    iface_->getAllApplicationDeployments(result.success);
+    iface_->getAllApplicationDeployments(result.success, args.gatewayId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -38697,7 +39122,7 @@ void AiravataProcessor::process_registerApplicationInterface(int32_t seqid, ::ap
 
   Airavata_registerApplicationInterface_result result;
   try {
-    iface_->registerApplicationInterface(result.success, args.applicationInterface);
+    iface_->registerApplicationInterface(result.success, args.gatewayId, args.applicationInterface);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -38949,7 +39374,7 @@ void AiravataProcessor::process_getAllApplicationInterfaceNames(int32_t seqid, :
 
   Airavata_getAllApplicationInterfaceNames_result result;
   try {
-    iface_->getAllApplicationInterfaceNames(result.success);
+    iface_->getAllApplicationInterfaceNames(result.success, args.gatewayId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -39012,7 +39437,7 @@ void AiravataProcessor::process_getAllApplicationInterfaces(int32_t seqid, ::apa
 
   Airavata_getAllApplicationInterfaces_result result;
   try {
-    iface_->getAllApplicationInterfaces(result.success);
+    iface_->getAllApplicationInterfaces(result.success, args.gatewayId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -42414,7 +42839,7 @@ void AiravataProcessor::process_getAllWorkflows(int32_t seqid, ::apache::thrift:
 
   Airavata_getAllWorkflows_result result;
   try {
-    iface_->getAllWorkflows(result.success);
+    iface_->getAllWorkflows(result.success, args.gatewayId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -42602,7 +43027,7 @@ void AiravataProcessor::process_registerWorkflow(int32_t seqid, ::apache::thrift
 
   Airavata_registerWorkflow_result result;
   try {
-    iface_->registerWorkflow(result.success, args.workflow);
+    iface_->registerWorkflow(result.success, args.gatewayId, args.workflow);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;


[5/5] airavata git commit: Adding gatewayId to relavent API methods to ensure multi-tentant scenarious will work - AIRAVATA-1607

Posted by sm...@apache.org.
Adding gatewayId to relavent API methods to ensure multi-tentant scenarious will work - AIRAVATA-1607


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/8be59881
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/8be59881
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/8be59881

Branch: refs/heads/master
Commit: 8be598817f097a75463f1de3c0f89e52006a6280
Parents: c073c6a
Author: Suresh Marru <sm...@apache.org>
Authored: Tue Mar 3 16:47:37 2015 -0500
Committer: Suresh Marru <sm...@apache.org>
Committed: Tue Mar 3 16:47:37 2015 -0500

----------------------------------------------------------------------
 .../java/org/apache/airavata/api/Airavata.java  | 2661 ++++++++++++++++--
 .../main/resources/lib/airavata/Airavata.cpp    |  703 ++++-
 .../src/main/resources/lib/airavata/Airavata.h  |  490 ++--
 .../lib/airavata/Airavata_server.skeleton.cpp   |   40 +-
 .../resources/lib/Airavata/API/Airavata.php     |  678 ++++-
 5 files changed, 3823 insertions(+), 749 deletions(-)
----------------------------------------------------------------------



[4/5] airavata git commit: Adding gatewayId to relavent API methods to ensure multi-tentant scenarious will work - AIRAVATA-1607

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/8be59881/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 5cfbbc1..f893bb6 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -74,7 +74,7 @@ import org.slf4j.LoggerFactory;
      * Generate and Register SSH Key Pair with Airavata Credential Store.
      * 
      * @param gatewayId
-     *    The identifier for the requested experiment. This is returned during the create experiment step.
+     *    The identifier for the requested gateway.
      * 
      * @param userName
      *    The User for which the credential should be registered. For community accounts, this user is the name of the
@@ -96,12 +96,20 @@ import org.slf4j.LoggerFactory;
     public Map<String,String> getAllUserSSHPubKeys(String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
-     * Create a Project
+     * Creates a Project with basic metadata.
+     *    A Project is a container of experiments.
+     * 
+     * @param gatewayId
+     *    The identifier for the requested gateway.
      * 
+     * @param Project
+     *    The Project Object described in the workspaceModel
      * 
+     * 
+     * @param gatewayId
      * @param project
      */
-    public String createProject(org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String createProject(String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Update a Project
@@ -121,76 +129,91 @@ import org.slf4j.LoggerFactory;
     public org.apache.airavata.model.workspace.Project getProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
 
     /**
-     * Get all Project by user
-     * 
+     *   * Get all Project by user
+     *   *
+     *   * @param gatewayId
+     *   *    The identifier for the requested gateway.
+     *   *
+     *   * @param userName
+     *   *    The Project Object described in the workspaceModel
+     *   *
+     * *
      * 
+     * @param gatewayId
      * @param userName
      */
-    public List<org.apache.airavata.model.workspace.Project> getAllUserProjects(String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Project> getAllUserProjects(String gatewayId, String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Get all Project for user by project name
      * 
      * 
+     * @param gatewayId
      * @param userName
      * @param projectName
      */
-    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectName(String userName, String projectName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectName(String gatewayId, String userName, String projectName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Get all Project for user by project description
      * 
      * 
+     * @param gatewayId
      * @param userName
      * @param description
      */
-    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectDesc(String userName, String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectDesc(String gatewayId, String userName, String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by experiment name
      * 
      * 
+     * @param gatewayId
      * @param userName
      * @param expName
      */
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByName(String userName, String expName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByName(String gatewayId, String userName, String expName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by experiment name
      * 
      * 
+     * @param gatewayId
      * @param userName
      * @param description
      */
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByDesc(String userName, String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByDesc(String gatewayId, String userName, String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by application id
      * 
      * 
+     * @param gatewayId
      * @param userName
      * @param applicationId
      */
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByApplication(String userName, String applicationId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByApplication(String gatewayId, String userName, String applicationId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by experiment status
      * 
      * 
+     * @param gatewayId
      * @param userName
      * @param experimentState
      */
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByStatus(String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByStatus(String gatewayId, String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by experiment status
      * 
      * 
+     * @param gatewayId
      * @param userName
      * @param fromTime
      * @param toTime
      */
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByCreationTime(String userName, long fromTime, long toTime) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByCreationTime(String gatewayId, String userName, long fromTime, long toTime) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Get all Experiments within a Project
@@ -204,9 +227,10 @@ import org.slf4j.LoggerFactory;
      * Get all Experiments by user
      * 
      * 
+     * @param gatewayId
      * @param userName
      */
-    public List<org.apache.airavata.model.workspace.experiment.Experiment> getAllUserExperiments(String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.experiment.Experiment> getAllUserExperiments(String gatewayId, String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
@@ -243,9 +267,10 @@ import org.slf4j.LoggerFactory;
      *       rather an Airavata Administrator will be notified to take corrective action.
      * 
      * 
+     * @param gatewayId
      * @param experiment
      */
-    public String createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String createExperiment(String gatewayId, org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch previously created experiment metadata.
@@ -496,9 +521,10 @@ import org.slf4j.LoggerFactory;
      *   Returns a server-side generated airavata appModule globally unique identifier.
      * 
      * 
+     * @param gatewayId
      * @param applicationModule
      */
-    public String registerApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String registerApplicationModule(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch a Application Module.
@@ -532,7 +558,7 @@ import org.slf4j.LoggerFactory;
      */
     public boolean updateApplicationModule(String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
-    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Delete a Application Module.
@@ -558,9 +584,10 @@ import org.slf4j.LoggerFactory;
      *   Returns a server-side generated airavata appDeployment globally unique identifier.
      * 
      * 
+     * @param gatewayId
      * @param applicationDeployment
      */
-    public String registerApplicationDeployment(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String registerApplicationDeployment(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch a Application Deployment.
@@ -614,8 +641,10 @@ import org.slf4j.LoggerFactory;
      * @return list<applicationDeployment.
      *   Returns the list of all application Deployment Objects.
      * 
+     * 
+     * @param gatewayId
      */
-    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAllApplicationDeployments() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAllApplicationDeployments(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch a list of Deployed Compute Hosts.
@@ -641,9 +670,10 @@ import org.slf4j.LoggerFactory;
      *   Returns a server-side generated airavata application interface globally unique identifier.
      * 
      * 
+     * @param gatewayId
      * @param applicationInterface
      */
-    public String registerApplicationInterface(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String registerApplicationInterface(String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch a Application Interface.
@@ -701,8 +731,10 @@ import org.slf4j.LoggerFactory;
      * @return map<applicationId, applicationInterfaceNames>
      *   Returns a list of application interfaces with corresponsing id's
      * 
+     * 
+     * @param gatewayId
      */
-    public Map<String,String> getAllApplicationInterfaceNames() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public Map<String,String> getAllApplicationInterfaceNames(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch all Application Interface documents.
@@ -711,8 +743,10 @@ import org.slf4j.LoggerFactory;
      * @return map<applicationId, applicationInterfaceNames>
      *   Returns a list of application interfaces documents
      * 
+     * 
+     * @param gatewayId
      */
-    public List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch the list of Application Inputs.
@@ -1449,13 +1483,13 @@ import org.slf4j.LoggerFactory;
      */
     public boolean deleteGatewayComputeResourcePreference(String gatewayID, String computeResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
-    public List<String> getAllWorkflows() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<String> getAllWorkflows(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     public org.apache.airavata.model.Workflow getWorkflow(String workflowTemplateId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     public void deleteWorkflow(String workflowTemplateId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
-    public String registerWorkflow(org.apache.airavata.model.Workflow workflow) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String registerWorkflow(String gatewayId, org.apache.airavata.model.Workflow workflow) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     public void updateWorkflow(String workflowTemplateId, org.apache.airavata.model.Workflow workflow) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
@@ -1487,33 +1521,33 @@ import org.slf4j.LoggerFactory;
 
     public void getAllUserSSHPubKeys(String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void createProject(org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void createProject(String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getProject(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllUserProjects(String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getAllUserProjects(String gatewayId, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void searchProjectsByProjectName(String userName, String projectName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void searchProjectsByProjectName(String gatewayId, String userName, String projectName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void searchProjectsByProjectDesc(String userName, String description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void searchProjectsByProjectDesc(String gatewayId, String userName, String description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void searchExperimentsByName(String userName, String expName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void searchExperimentsByName(String gatewayId, String userName, String expName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void searchExperimentsByDesc(String userName, String description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void searchExperimentsByDesc(String gatewayId, String userName, String description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void searchExperimentsByApplication(String userName, String applicationId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void searchExperimentsByApplication(String gatewayId, String userName, String applicationId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void searchExperimentsByStatus(String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void searchExperimentsByStatus(String gatewayId, String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void searchExperimentsByCreationTime(String userName, long fromTime, long toTime, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void searchExperimentsByCreationTime(String gatewayId, String userName, long fromTime, long toTime, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getAllExperimentsInProject(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllUserExperiments(String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getAllUserExperiments(String gatewayId, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void createExperiment(String gatewayId, org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -1543,17 +1577,17 @@ import org.slf4j.LoggerFactory;
 
     public void terminateExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void registerApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void registerApplicationModule(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getApplicationModule(String appModuleId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateApplicationModule(String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllAppModules(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getAllAppModules(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void deleteApplicationModule(String appModuleId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void registerApplicationDeployment(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void registerApplicationDeployment(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getApplicationDeployment(String appDeploymentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -1561,11 +1595,11 @@ import org.slf4j.LoggerFactory;
 
     public void deleteApplicationDeployment(String appDeploymentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllApplicationDeployments(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getAllApplicationDeployments(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getAppModuleDeployedResources(String appModuleId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void registerApplicationInterface(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void registerApplicationInterface(String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getApplicationInterface(String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -1573,9 +1607,9 @@ import org.slf4j.LoggerFactory;
 
     public void deleteApplicationInterface(String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllApplicationInterfaceNames(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getAllApplicationInterfaceNames(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllApplicationInterfaces(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getAllApplicationInterfaces(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getApplicationInputs(String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -1683,13 +1717,13 @@ import org.slf4j.LoggerFactory;
 
     public void deleteGatewayComputeResourcePreference(String gatewayID, String computeResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllWorkflows(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;
 
     public void deleteWorkflow(String workflowTemplateId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void registerWorkflow(org.apache.airavata.model.Workflow workflow, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void registerWorkflow(String gatewayId, org.apache.airavata.model.Workflow workflow, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateWorkflow(String workflowTemplateId, org.apache.airavata.model.Workflow workflow, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -2036,15 +2070,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserSSHPubKeys failed: unknown result");
     }
 
-    public String createProject(org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String createProject(String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_createProject(project);
+      send_createProject(gatewayId, project);
       return recv_createProject();
     }
 
-    public void send_createProject(org.apache.airavata.model.workspace.Project project) throws org.apache.thrift.TException
+    public void send_createProject(String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.thrift.TException
     {
       createProject_args args = new createProject_args();
+      args.setGatewayId(gatewayId);
       args.setProject(project);
       sendBase("createProject", args);
     }
@@ -2136,15 +2171,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProject failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.Project> getAllUserProjects(String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.Project> getAllUserProjects(String gatewayId, String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getAllUserProjects(userName);
+      send_getAllUserProjects(gatewayId, userName);
       return recv_getAllUserProjects();
     }
 
-    public void send_getAllUserProjects(String userName) throws org.apache.thrift.TException
+    public void send_getAllUserProjects(String gatewayId, String userName) throws org.apache.thrift.TException
     {
       getAllUserProjects_args args = new getAllUserProjects_args();
+      args.setGatewayId(gatewayId);
       args.setUserName(userName);
       sendBase("getAllUserProjects", args);
     }
@@ -2168,15 +2204,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserProjects failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectName(String userName, String projectName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectName(String gatewayId, String userName, String projectName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_searchProjectsByProjectName(userName, projectName);
+      send_searchProjectsByProjectName(gatewayId, userName, projectName);
       return recv_searchProjectsByProjectName();
     }
 
-    public void send_searchProjectsByProjectName(String userName, String projectName) throws org.apache.thrift.TException
+    public void send_searchProjectsByProjectName(String gatewayId, String userName, String projectName) throws org.apache.thrift.TException
     {
       searchProjectsByProjectName_args args = new searchProjectsByProjectName_args();
+      args.setGatewayId(gatewayId);
       args.setUserName(userName);
       args.setProjectName(projectName);
       sendBase("searchProjectsByProjectName", args);
@@ -2201,15 +2238,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchProjectsByProjectName failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectDesc(String userName, String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectDesc(String gatewayId, String userName, String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_searchProjectsByProjectDesc(userName, description);
+      send_searchProjectsByProjectDesc(gatewayId, userName, description);
       return recv_searchProjectsByProjectDesc();
     }
 
-    public void send_searchProjectsByProjectDesc(String userName, String description) throws org.apache.thrift.TException
+    public void send_searchProjectsByProjectDesc(String gatewayId, String userName, String description) throws org.apache.thrift.TException
     {
       searchProjectsByProjectDesc_args args = new searchProjectsByProjectDesc_args();
+      args.setGatewayId(gatewayId);
       args.setUserName(userName);
       args.setDescription(description);
       sendBase("searchProjectsByProjectDesc", args);
@@ -2234,15 +2272,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchProjectsByProjectDesc failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByName(String userName, String expName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByName(String gatewayId, String userName, String expName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_searchExperimentsByName(userName, expName);
+      send_searchExperimentsByName(gatewayId, userName, expName);
       return recv_searchExperimentsByName();
     }
 
-    public void send_searchExperimentsByName(String userName, String expName) throws org.apache.thrift.TException
+    public void send_searchExperimentsByName(String gatewayId, String userName, String expName) throws org.apache.thrift.TException
     {
       searchExperimentsByName_args args = new searchExperimentsByName_args();
+      args.setGatewayId(gatewayId);
       args.setUserName(userName);
       args.setExpName(expName);
       sendBase("searchExperimentsByName", args);
@@ -2267,15 +2306,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchExperimentsByName failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByDesc(String userName, String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByDesc(String gatewayId, String userName, String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_searchExperimentsByDesc(userName, description);
+      send_searchExperimentsByDesc(gatewayId, userName, description);
       return recv_searchExperimentsByDesc();
     }
 
-    public void send_searchExperimentsByDesc(String userName, String description) throws org.apache.thrift.TException
+    public void send_searchExperimentsByDesc(String gatewayId, String userName, String description) throws org.apache.thrift.TException
     {
       searchExperimentsByDesc_args args = new searchExperimentsByDesc_args();
+      args.setGatewayId(gatewayId);
       args.setUserName(userName);
       args.setDescription(description);
       sendBase("searchExperimentsByDesc", args);
@@ -2300,15 +2340,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchExperimentsByDesc failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByApplication(String userName, String applicationId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByApplication(String gatewayId, String userName, String applicationId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_searchExperimentsByApplication(userName, applicationId);
+      send_searchExperimentsByApplication(gatewayId, userName, applicationId);
       return recv_searchExperimentsByApplication();
     }
 
-    public void send_searchExperimentsByApplication(String userName, String applicationId) throws org.apache.thrift.TException
+    public void send_searchExperimentsByApplication(String gatewayId, String userName, String applicationId) throws org.apache.thrift.TException
     {
       searchExperimentsByApplication_args args = new searchExperimentsByApplication_args();
+      args.setGatewayId(gatewayId);
       args.setUserName(userName);
       args.setApplicationId(applicationId);
       sendBase("searchExperimentsByApplication", args);
@@ -2333,15 +2374,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchExperimentsByApplication failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByStatus(String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByStatus(String gatewayId, String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_searchExperimentsByStatus(userName, experimentState);
+      send_searchExperimentsByStatus(gatewayId, userName, experimentState);
       return recv_searchExperimentsByStatus();
     }
 
-    public void send_searchExperimentsByStatus(String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState) throws org.apache.thrift.TException
+    public void send_searchExperimentsByStatus(String gatewayId, String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState) throws org.apache.thrift.TException
     {
       searchExperimentsByStatus_args args = new searchExperimentsByStatus_args();
+      args.setGatewayId(gatewayId);
       args.setUserName(userName);
       args.setExperimentState(experimentState);
       sendBase("searchExperimentsByStatus", args);
@@ -2366,15 +2408,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchExperimentsByStatus failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByCreationTime(String userName, long fromTime, long toTime) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperimentsByCreationTime(String gatewayId, String userName, long fromTime, long toTime) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_searchExperimentsByCreationTime(userName, fromTime, toTime);
+      send_searchExperimentsByCreationTime(gatewayId, userName, fromTime, toTime);
       return recv_searchExperimentsByCreationTime();
     }
 
-    public void send_searchExperimentsByCreationTime(String userName, long fromTime, long toTime) throws org.apache.thrift.TException
+    public void send_searchExperimentsByCreationTime(String gatewayId, String userName, long fromTime, long toTime) throws org.apache.thrift.TException
     {
       searchExperimentsByCreationTime_args args = new searchExperimentsByCreationTime_args();
+      args.setGatewayId(gatewayId);
       args.setUserName(userName);
       args.setFromTime(fromTime);
       args.setToTime(toTime);
@@ -2435,15 +2478,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllExperimentsInProject failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.Experiment> getAllUserExperiments(String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.experiment.Experiment> getAllUserExperiments(String gatewayId, String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getAllUserExperiments(userName);
+      send_getAllUserExperiments(gatewayId, userName);
       return recv_getAllUserExperiments();
     }
 
-    public void send_getAllUserExperiments(String userName) throws org.apache.thrift.TException
+    public void send_getAllUserExperiments(String gatewayId, String userName) throws org.apache.thrift.TException
     {
       getAllUserExperiments_args args = new getAllUserExperiments_args();
+      args.setGatewayId(gatewayId);
       args.setUserName(userName);
       sendBase("getAllUserExperiments", args);
     }
@@ -2467,15 +2511,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserExperiments failed: unknown result");
     }
 
-    public String createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String createExperiment(String gatewayId, org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_createExperiment(experiment);
+      send_createExperiment(gatewayId, experiment);
       return recv_createExperiment();
     }
 
-    public void send_createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.thrift.TException
+    public void send_createExperiment(String gatewayId, org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.thrift.TException
     {
       createExperiment_args args = new createExperiment_args();
+      args.setGatewayId(gatewayId);
       args.setExperiment(experiment);
       sendBase("createExperiment", args);
     }
@@ -2958,15 +3003,16 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
-    public String registerApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String registerApplicationModule(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_registerApplicationModule(applicationModule);
+      send_registerApplicationModule(gatewayId, applicationModule);
       return recv_registerApplicationModule();
     }
 
-    public void send_registerApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.thrift.TException
+    public void send_registerApplicationModule(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.thrift.TException
     {
       registerApplicationModule_args args = new registerApplicationModule_args();
+      args.setGatewayId(gatewayId);
       args.setApplicationModule(applicationModule);
       sendBase("registerApplicationModule", args);
     }
@@ -3055,15 +3101,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateApplicationModule failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getAllAppModules();
+      send_getAllAppModules(gatewayId);
       return recv_getAllAppModules();
     }
 
-    public void send_getAllAppModules() throws org.apache.thrift.TException
+    public void send_getAllAppModules(String gatewayId) throws org.apache.thrift.TException
     {
       getAllAppModules_args args = new getAllAppModules_args();
+      args.setGatewayId(gatewayId);
       sendBase("getAllAppModules", args);
     }
 
@@ -3118,15 +3165,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteApplicationModule failed: unknown result");
     }
 
-    public String registerApplicationDeployment(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String registerApplicationDeployment(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_registerApplicationDeployment(applicationDeployment);
+      send_registerApplicationDeployment(gatewayId, applicationDeployment);
       return recv_registerApplicationDeployment();
     }
 
-    public void send_registerApplicationDeployment(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.thrift.TException
+    public void send_registerApplicationDeployment(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.thrift.TException
     {
       registerApplicationDeployment_args args = new registerApplicationDeployment_args();
+      args.setGatewayId(gatewayId);
       args.setApplicationDeployment(applicationDeployment);
       sendBase("registerApplicationDeployment", args);
     }
@@ -3247,15 +3295,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteApplicationDeployment failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAllApplicationDeployments() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAllApplicationDeployments(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getAllApplicationDeployments();
+      send_getAllApplicationDeployments(gatewayId);
       return recv_getAllApplicationDeployments();
     }
 
-    public void send_getAllApplicationDeployments() throws org.apache.thrift.TException
+    public void send_getAllApplicationDeployments(String gatewayId) throws org.apache.thrift.TException
     {
       getAllApplicationDeployments_args args = new getAllApplicationDeployments_args();
+      args.setGatewayId(gatewayId);
       sendBase("getAllApplicationDeployments", args);
     }
 
@@ -3310,15 +3359,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAppModuleDeployedResources failed: unknown result");
     }
 
-    public String registerApplicationInterface(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String registerApplicationInterface(String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_registerApplicationInterface(applicationInterface);
+      send_registerApplicationInterface(gatewayId, applicationInterface);
       return recv_registerApplicationInterface();
     }
 
-    public void send_registerApplicationInterface(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.thrift.TException
+    public void send_registerApplicationInterface(String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.thrift.TException
     {
       registerApplicationInterface_args args = new registerApplicationInterface_args();
+      args.setGatewayId(gatewayId);
       args.setApplicationInterface(applicationInterface);
       sendBase("registerApplicationInterface", args);
     }
@@ -3439,15 +3489,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteApplicationInterface failed: unknown result");
     }
 
-    public Map<String,String> getAllApplicationInterfaceNames() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public Map<String,String> getAllApplicationInterfaceNames(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getAllApplicationInterfaceNames();
+      send_getAllApplicationInterfaceNames(gatewayId);
       return recv_getAllApplicationInterfaceNames();
     }
 
-    public void send_getAllApplicationInterfaceNames() throws org.apache.thrift.TException
+    public void send_getAllApplicationInterfaceNames(String gatewayId) throws org.apache.thrift.TException
     {
       getAllApplicationInterfaceNames_args args = new getAllApplicationInterfaceNames_args();
+      args.setGatewayId(gatewayId);
       sendBase("getAllApplicationInterfaceNames", args);
     }
 
@@ -3470,15 +3521,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllApplicationInterfaceNames failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getAllApplicationInterfaces();
+      send_getAllApplicationInterfaces(gatewayId);
       return recv_getAllApplicationInterfaces();
     }
 
-    public void send_getAllApplicationInterfaces() throws org.apache.thrift.TException
+    public void send_getAllApplicationInterfaces(String gatewayId) throws org.apache.thrift.TException
     {
       getAllApplicationInterfaces_args args = new getAllApplicationInterfaces_args();
+      args.setGatewayId(gatewayId);
       sendBase("getAllApplicationInterfaces", args);
     }
 
@@ -5233,15 +5285,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGatewayComputeResourcePreference failed: unknown result");
     }
 
-    public List<String> getAllWorkflows() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<String> getAllWorkflows(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getAllWorkflows();
+      send_getAllWorkflows(gatewayId);
       return recv_getAllWorkflows();
     }
 
-    public void send_getAllWorkflows() throws org.apache.thrift.TException
+    public void send_getAllWorkflows(String gatewayId) throws org.apache.thrift.TException
     {
       getAllWorkflows_args args = new getAllWorkflows_args();
+      args.setGatewayId(gatewayId);
       sendBase("getAllWorkflows", args);
     }
 
@@ -5325,15 +5378,16 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
-    public String registerWorkflow(org.apache.airavata.model.Workflow workflow) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String registerWorkflow(String gatewayId, org.apache.airavata.model.Workflow workflow) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_registerWorkflow(workflow);
+      send_registerWorkflow(gatewayId, workflow);
       return recv_registerWorkflow();
     }
 
-    public void send_registerWorkflow(org.apache.airavata.model.Workflow workflow) throws org.apache.thrift.TException
+    public void send_registerWorkflow(String gatewayId, org.apache.airavata.model.Workflow workflow) throws org.apache.thrift.TException
     {
       registerWorkflow_args args = new registerWorkflow_args();
+      args.setGatewayId(gatewayId);
       args.setWorkflow(workflow);
       sendBase("registerWorkflow", args);
     }
@@ -5789,23 +5843,26 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void createProject(org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void createProject(String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      createProject_call method_call = new createProject_call(project, resultHandler, this, ___protocolFactory, ___transport);
+      createProject_call method_call = new createProject_call(gatewayId, project, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class createProject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private org.apache.airavata.model.workspace.Project project;
-      public createProject_call(org.apache.airavata.model.workspace.Project project, 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 {
+      public createProject_call(String gatewayId, org.apache.airavata.model.workspace.Project project, 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.gatewayId = gatewayId;
         this.project = project;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createProject_args args = new createProject_args();
+        args.setGatewayId(gatewayId);
         args.setProject(project);
         args.write(prot);
         prot.writeMessageEnd();
@@ -5888,23 +5945,26 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void getAllUserProjects(String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getAllUserProjects(String gatewayId, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getAllUserProjects_call method_call = new getAllUserProjects_call(userName, resultHandler, this, ___protocolFactory, ___transport);
+      getAllUserProjects_call method_call = new getAllUserProjects_call(gatewayId, userName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getAllUserProjects_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private String userName;
-      public getAllUserProjects_call(String userName, 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 {
+      public getAllUserProjects_call(String gatewayId, String userName, 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.gatewayId = gatewayId;
         this.userName = userName;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserProjects", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUserProjects_args args = new getAllUserProjects_args();
+        args.setGatewayId(gatewayId);
         args.setUserName(userName);
         args.write(prot);
         prot.writeMessageEnd();
@@ -5920,18 +5980,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void searchProjectsByProjectName(String userName, String projectName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void searchProjectsByProjectName(String gatewayId, String userName, String projectName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      searchProjectsByProjectName_call method_call = new searchProjectsByProjectName_call(userName, projectName, resultHandler, this, ___protocolFactory, ___transport);
+      searchProjectsByProjectName_call method_call = new searchProjectsByProjectName_call(gatewayId, userName, projectName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class searchProjectsByProjectName_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private String userName;
       private String projectName;
-      public searchProjectsByProjectName_call(String userName, String projectName, 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 {
+      public searchProjectsByProjectName_call(String gatewayId, String userName, String projectName, 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.gatewayId = gatewayId;
         this.userName = userName;
         this.projectName = projectName;
       }
@@ -5939,6 +6001,7 @@ import org.slf4j.LoggerFactory;
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchProjectsByProjectName", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchProjectsByProjectName_args args = new searchProjectsByProjectName_args();
+        args.setGatewayId(gatewayId);
         args.setUserName(userName);
         args.setProjectName(projectName);
         args.write(prot);
@@ -5955,18 +6018,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void searchProjectsByProjectDesc(String userName, String description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void searchProjectsByProjectDesc(String gatewayId, String userName, String description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      searchProjectsByProjectDesc_call method_call = new searchProjectsByProjectDesc_call(userName, description, resultHandler, this, ___protocolFactory, ___transport);
+      searchProjectsByProjectDesc_call method_call = new searchProjectsByProjectDesc_call(gatewayId, userName, description, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class searchProjectsByProjectDesc_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private String userName;
       private String description;
-      public searchProjectsByProjectDesc_call(String userName, String description, 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 {
+      public searchProjectsByProjectDesc_call(String gatewayId, String userName, String description, 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.gatewayId = gatewayId;
         this.userName = userName;
         this.description = description;
       }
@@ -5974,6 +6039,7 @@ import org.slf4j.LoggerFactory;
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchProjectsByProjectDesc", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchProjectsByProjectDesc_args args = new searchProjectsByProjectDesc_args();
+        args.setGatewayId(gatewayId);
         args.setUserName(userName);
         args.setDescription(description);
         args.write(prot);
@@ -5990,18 +6056,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void searchExperimentsByName(String userName, String expName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void searchExperimentsByName(String gatewayId, String userName, String expName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      searchExperimentsByName_call method_call = new searchExperimentsByName_call(userName, expName, resultHandler, this, ___protocolFactory, ___transport);
+      searchExperimentsByName_call method_call = new searchExperimentsByName_call(gatewayId, userName, expName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class searchExperimentsByName_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private String userName;
       private String expName;
-      public searchExperimentsByName_call(String userName, String expName, 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 {
+      public searchExperimentsByName_call(String gatewayId, String userName, String expName, 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.gatewayId = gatewayId;
         this.userName = userName;
         this.expName = expName;
       }
@@ -6009,6 +6077,7 @@ import org.slf4j.LoggerFactory;
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchExperimentsByName", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchExperimentsByName_args args = new searchExperimentsByName_args();
+        args.setGatewayId(gatewayId);
         args.setUserName(userName);
         args.setExpName(expName);
         args.write(prot);
@@ -6025,18 +6094,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void searchExperimentsByDesc(String userName, String description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void searchExperimentsByDesc(String gatewayId, String userName, String description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      searchExperimentsByDesc_call method_call = new searchExperimentsByDesc_call(userName, description, resultHandler, this, ___protocolFactory, ___transport);
+      searchExperimentsByDesc_call method_call = new searchExperimentsByDesc_call(gatewayId, userName, description, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class searchExperimentsByDesc_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private String userName;
       private String description;
-      public searchExperimentsByDesc_call(String userName, String description, 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 {
+      public searchExperimentsByDesc_call(String gatewayId, String userName, String description, 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.gatewayId = gatewayId;
         this.userName = userName;
         this.description = description;
       }
@@ -6044,6 +6115,7 @@ import org.slf4j.LoggerFactory;
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchExperimentsByDesc", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchExperimentsByDesc_args args = new searchExperimentsByDesc_args();
+        args.setGatewayId(gatewayId);
         args.setUserName(userName);
         args.setDescription(description);
         args.write(prot);
@@ -6060,18 +6132,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void searchExperimentsByApplication(String userName, String applicationId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void searchExperimentsByApplication(String gatewayId, String userName, String applicationId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      searchExperimentsByApplication_call method_call = new searchExperimentsByApplication_call(userName, applicationId, resultHandler, this, ___protocolFactory, ___transport);
+      searchExperimentsByApplication_call method_call = new searchExperimentsByApplication_call(gatewayId, userName, applicationId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class searchExperimentsByApplication_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private String userName;
       private String applicationId;
-      public searchExperimentsByApplication_call(String userName, String applicationId, 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 {
+      public searchExperimentsByApplication_call(String gatewayId, String userName, String applicationId, 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.gatewayId = gatewayId;
         this.userName = userName;
         this.applicationId = applicationId;
       }
@@ -6079,6 +6153,7 @@ import org.slf4j.LoggerFactory;
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchExperimentsByApplication", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchExperimentsByApplication_args args = new searchExperimentsByApplication_args();
+        args.setGatewayId(gatewayId);
         args.setUserName(userName);
         args.setApplicationId(applicationId);
         args.write(prot);
@@ -6095,18 +6170,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void searchExperimentsByStatus(String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void searchExperimentsByStatus(String gatewayId, String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      searchExperimentsByStatus_call method_call = new searchExperimentsByStatus_call(userName, experimentState, resultHandler, this, ___protocolFactory, ___transport);
+      searchExperimentsByStatus_call method_call = new searchExperimentsByStatus_call(gatewayId, userName, experimentState, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class searchExperimentsByStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private String userName;
       private org.apache.airavata.model.workspace.experiment.ExperimentState experimentState;
-      public searchExperimentsByStatus_call(String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState, 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 {
+      public searchExperimentsByStatus_call(String gatewayId, String userName, org.apache.airavata.model.workspace.experiment.ExperimentState experimentState, 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.gatewayId = gatewayId;
         this.userName = userName;
         this.experimentState = experimentState;
       }
@@ -6114,6 +6191,7 @@ import org.slf4j.LoggerFactory;
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchExperimentsByStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchExperimentsByStatus_args args = new searchExperimentsByStatus_args();
+        args.setGatewayId(gatewayId);
         args.setUserName(userName);
         args.setExperimentState(experimentState);
         args.write(prot);
@@ -6130,19 +6208,21 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void searchExperimentsByCreationTime(String userName, long fromTime, long toTime, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void searchExperimentsByCreationTime(String gatewayId, String userName, long fromTime, long toTime, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      searchExperimentsByCreationTime_call method_call = new searchExperimentsByCreationTime_call(userName, fromTime, toTime, resultHandler, this, ___protocolFactory, ___transport);
+      searchExperimentsByCreationTime_call method_call = new searchExperimentsByCreationTime_call(gatewayId, userName, fromTime, toTime, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class searchExperimentsByCreationTime_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private String userName;
       private long fromTime;
       private long toTime;
-      public searchExperimentsByCreationTime_call(String userName, long fromTime, long toTime, 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 {
+      public searchExperimentsByCreationTime_call(String gatewayId, String userName, long fromTime, long toTime, 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.gatewayId = gatewayId;
         this.userName = userName;
         this.fromTime = fromTime;
         this.toTime = toTime;
@@ -6151,6 +6231,7 @@ import org.slf4j.LoggerFactory;
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchExperimentsByCreationTime", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchExperimentsByCreationTime_args args = new searchExperimentsByCreationTime_args();
+        args.setGatewayId(gatewayId);
         args.setUserName(userName);
         args.setFromTime(fromTime);
         args.setToTime(toTime);
@@ -6200,23 +6281,26 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void getAllUserExperiments(String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getAllUserExperiments(String gatewayId, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getAllUserExperiments_call method_call = new getAllUserExperiments_call(userName, resultHandler, this, ___protocolFactory, ___transport);
+      getAllUserExperiments_call method_call = new getAllUserExperiments_call(gatewayId, userName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getAllUserExperiments_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
       private String userName;
-      public getAllUserExperiments_call(String userName, 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 {
+      public getAllUserExperiments_call(String gatewayId, String userName, 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.gatewayId = gatewayId;
         this.userName = userName;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserExperiments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUserExperiments_args args = new getAllUserExperiments_args();
+        args.setGatewayId(gatewayId);
         args.setUserName(userName);
         args.write(prot);
         prot.writeMessageEnd();
@@ -6232,23 +6316,26 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void createExperiment(String gatewayId, org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TE

<TRUNCATED>

[2/5] airavata git commit: Adding gatewayId to relavent API methods to ensure multi-tentant scenarious will work - AIRAVATA-1607

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/8be59881/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 32390a3..4604bf8 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -42,20 +42,20 @@ class AiravataIf {
   virtual void generateAndRegisterSSHKeys(std::string& _return, const std::string& gatewayId, const std::string& userName) = 0;
   virtual void getSSHPubKey(std::string& _return, const std::string& airavataCredStoreToken) = 0;
   virtual void getAllUserSSHPubKeys(std::map<std::string, std::string> & _return, const std::string& userName) = 0;
-  virtual void createProject(std::string& _return, const  ::apache::airavata::model::workspace::Project& project) = 0;
+  virtual void createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project) = 0;
   virtual void updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject) = 0;
   virtual void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) = 0;
-  virtual void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName) = 0;
-  virtual void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& projectName) = 0;
-  virtual void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& description) = 0;
-  virtual void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& expName) = 0;
-  virtual void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& description) = 0;
-  virtual void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& applicationId) = 0;
-  virtual void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState) = 0;
-  virtual void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const int64_t fromTime, const int64_t toTime) = 0;
+  virtual void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName) = 0;
+  virtual void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName) = 0;
+  virtual void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) = 0;
+  virtual void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName) = 0;
+  virtual void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) = 0;
+  virtual void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId) = 0;
+  virtual void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState) = 0;
+  virtual void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime) = 0;
   virtual void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId) = 0;
-  virtual void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& userName) = 0;
-  virtual void createExperiment(std::string& _return, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0;
+  virtual void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& gatewayId, const std::string& userName) = 0;
+  virtual void createExperiment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0;
   virtual void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& _return, const std::string& airavataExperimentId) = 0;
   virtual void updateExperiment(const std::string& airavataExperimentId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0;
   virtual void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::apache::airavata::model::workspace::experiment::UserConfigurationData& userConfiguration) = 0;
@@ -70,23 +70,23 @@ class AiravataIf {
   virtual void getDataTransferDetails(std::vector< ::apache::airavata::model::workspace::experiment::DataTransferDetails> & _return, const std::string& airavataExperimentId) = 0;
   virtual void cloneExperiment(std::string& _return, const std::string& existingExperimentID, const std::string& newExperimentName) = 0;
   virtual void terminateExperiment(const std::string& airavataExperimentId) = 0;
-  virtual void registerApplicationModule(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
+  virtual void registerApplicationModule(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
   virtual void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const std::string& appModuleId) = 0;
   virtual bool updateApplicationModule(const std::string& appModuleId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
-  virtual void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return) = 0;
+  virtual void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const std::string& gatewayId) = 0;
   virtual bool deleteApplicationModule(const std::string& appModuleId) = 0;
-  virtual void registerApplicationDeployment(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
+  virtual void registerApplicationDeployment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
   virtual void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const std::string& appDeploymentId) = 0;
   virtual bool updateApplicationDeployment(const std::string& appDeploymentId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
   virtual bool deleteApplicationDeployment(const std::string& appDeploymentId) = 0;
-  virtual void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return) = 0;
+  virtual void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const std::string& gatewayId) = 0;
   virtual void getAppModuleDeployedResources(std::vector<std::string> & _return, const std::string& appModuleId) = 0;
-  virtual void registerApplicationInterface(std::string& _return, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
+  virtual void registerApplicationInterface(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
   virtual void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const std::string& appInterfaceId) = 0;
   virtual bool updateApplicationInterface(const std::string& appInterfaceId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
   virtual bool deleteApplicationInterface(const std::string& appInterfaceId) = 0;
-  virtual void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return) = 0;
-  virtual void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return) = 0;
+  virtual void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const std::string& gatewayId) = 0;
+  virtual void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const std::string& gatewayId) = 0;
   virtual void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
   virtual void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
   virtual void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) = 0;
@@ -140,10 +140,10 @@ class AiravataIf {
   virtual void getAllGatewayComputeResources(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> & _return) = 0;
   virtual bool updateGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
   virtual bool deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId) = 0;
-  virtual void getAllWorkflows(std::vector<std::string> & _return) = 0;
+  virtual void getAllWorkflows(std::vector<std::string> & _return, const std::string& gatewayId) = 0;
   virtual void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) = 0;
   virtual void deleteWorkflow(const std::string& workflowTemplateId) = 0;
-  virtual void registerWorkflow(std::string& _return, const  ::Workflow& workflow) = 0;
+  virtual void registerWorkflow(std::string& _return, const std::string& gatewayId, const  ::Workflow& workflow) = 0;
   virtual void updateWorkflow(const std::string& workflowTemplateId, const  ::Workflow& workflow) = 0;
   virtual void getWorkflowTemplateId(std::string& _return, const std::string& workflowName) = 0;
   virtual bool isWorkflowExistWithName(const std::string& workflowName) = 0;
@@ -208,7 +208,7 @@ class AiravataNull : virtual public AiravataIf {
   void getAllUserSSHPubKeys(std::map<std::string, std::string> & /* _return */, const std::string& /* userName */) {
     return;
   }
-  void createProject(std::string& /* _return */, const  ::apache::airavata::model::workspace::Project& /* project */) {
+  void createProject(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::workspace::Project& /* project */) {
     return;
   }
   void updateProject(const std::string& /* projectId */, const  ::apache::airavata::model::workspace::Project& /* updatedProject */) {
@@ -217,37 +217,37 @@ class AiravataNull : virtual public AiravataIf {
   void getProject( ::apache::airavata::model::workspace::Project& /* _return */, const std::string& /* projectId */) {
     return;
   }
-  void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* userName */) {
+  void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */) {
     return;
   }
-  void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* userName */, const std::string& /* projectName */) {
+  void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* projectName */) {
     return;
   }
-  void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* userName */, const std::string& /* description */) {
+  void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */) {
     return;
   }
-  void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const std::string& /* expName */) {
+  void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* expName */) {
     return;
   }
-  void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const std::string& /* description */) {
+  void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */) {
     return;
   }
-  void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const std::string& /* applicationId */) {
+  void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* applicationId */) {
     return;
   }
-  void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type /* experimentState */) {
+  void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type /* experimentState */) {
     return;
   }
-  void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const int64_t /* fromTime */, const int64_t /* toTime */) {
+  void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const int64_t /* fromTime */, const int64_t /* toTime */) {
     return;
   }
   void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* projectId */) {
     return;
   }
-  void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* userName */) {
+  void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */) {
     return;
   }
-  void createExperiment(std::string& /* _return */, const  ::apache::airavata::model::workspace::experiment::Experiment& /* experiment */) {
+  void createExperiment(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::workspace::experiment::Experiment& /* experiment */) {
     return;
   }
   void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& /* _return */, const std::string& /* airavataExperimentId */) {
@@ -293,7 +293,7 @@ class AiravataNull : virtual public AiravataIf {
   void terminateExperiment(const std::string& /* airavataExperimentId */) {
     return;
   }
-  void registerApplicationModule(std::string& /* _return */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
+  void registerApplicationModule(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
     return;
   }
   void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* _return */, const std::string& /* appModuleId */) {
@@ -303,14 +303,14 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
-  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & /* _return */) {
+  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & /* _return */, const std::string& /* gatewayId */) {
     return;
   }
   bool deleteApplicationModule(const std::string& /* appModuleId */) {
     bool _return = false;
     return _return;
   }
-  void registerApplicationDeployment(std::string& /* _return */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
+  void registerApplicationDeployment(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
     return;
   }
   void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* _return */, const std::string& /* appDeploymentId */) {
@@ -324,13 +324,13 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
-  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & /* _return */) {
+  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & /* _return */, const std::string& /* gatewayId */) {
     return;
   }
   void getAppModuleDeployedResources(std::vector<std::string> & /* _return */, const std::string& /* appModuleId */) {
     return;
   }
-  void registerApplicationInterface(std::string& /* _return */, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
+  void registerApplicationInterface(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
     return;
   }
   void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* _return */, const std::string& /* appInterfaceId */) {
@@ -344,10 +344,10 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
-  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & /* _return */) {
+  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & /* _return */, const std::string& /* gatewayId */) {
     return;
   }
-  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & /* _return */) {
+  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & /* _return */, const std::string& /* gatewayId */) {
     return;
   }
   void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & /* _return */, const std::string& /* appInterfaceId */) {
@@ -533,7 +533,7 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
-  void getAllWorkflows(std::vector<std::string> & /* _return */) {
+  void getAllWorkflows(std::vector<std::string> & /* _return */, const std::string& /* gatewayId */) {
     return;
   }
   void getWorkflow( ::Workflow& /* _return */, const std::string& /* workflowTemplateId */) {
@@ -542,7 +542,7 @@ class AiravataNull : virtual public AiravataIf {
   void deleteWorkflow(const std::string& /* workflowTemplateId */) {
     return;
   }
-  void registerWorkflow(std::string& /* _return */, const  ::Workflow& /* workflow */) {
+  void registerWorkflow(std::string& /* _return */, const std::string& /* gatewayId */, const  ::Workflow& /* workflow */) {
     return;
   }
   void updateWorkflow(const std::string& /* workflowTemplateId */, const  ::Workflow& /* workflow */) {
@@ -1871,19 +1871,26 @@ class Airavata_getAllUserSSHPubKeys_presult {
 class Airavata_createProject_args {
  public:
 
-  Airavata_createProject_args() {
+  Airavata_createProject_args() : gatewayId() {
   }
 
   virtual ~Airavata_createProject_args() throw() {}
 
+  std::string gatewayId;
    ::apache::airavata::model::workspace::Project project;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_project(const  ::apache::airavata::model::workspace::Project& val) {
     project = val;
   }
 
   bool operator == (const Airavata_createProject_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(project == rhs.project))
       return false;
     return true;
@@ -1906,6 +1913,7 @@ class Airavata_createProject_pargs {
 
   virtual ~Airavata_createProject_pargs() throw() {}
 
+  const std::string* gatewayId;
   const  ::apache::airavata::model::workspace::Project* project;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -2285,19 +2293,26 @@ class Airavata_getProject_presult {
 class Airavata_getAllUserProjects_args {
  public:
 
-  Airavata_getAllUserProjects_args() : userName() {
+  Airavata_getAllUserProjects_args() : gatewayId(), userName() {
   }
 
   virtual ~Airavata_getAllUserProjects_args() throw() {}
 
+  std::string gatewayId;
   std::string userName;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_userName(const std::string& val) {
     userName = val;
   }
 
   bool operator == (const Airavata_getAllUserProjects_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(userName == rhs.userName))
       return false;
     return true;
@@ -2320,6 +2335,7 @@ class Airavata_getAllUserProjects_pargs {
 
   virtual ~Airavata_getAllUserProjects_pargs() throw() {}
 
+  const std::string* gatewayId;
   const std::string* userName;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -2417,14 +2433,19 @@ class Airavata_getAllUserProjects_presult {
 class Airavata_searchProjectsByProjectName_args {
  public:
 
-  Airavata_searchProjectsByProjectName_args() : userName(), projectName() {
+  Airavata_searchProjectsByProjectName_args() : gatewayId(), userName(), projectName() {
   }
 
   virtual ~Airavata_searchProjectsByProjectName_args() throw() {}
 
+  std::string gatewayId;
   std::string userName;
   std::string projectName;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_userName(const std::string& val) {
     userName = val;
   }
@@ -2435,6 +2456,8 @@ class Airavata_searchProjectsByProjectName_args {
 
   bool operator == (const Airavata_searchProjectsByProjectName_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(userName == rhs.userName))
       return false;
     if (!(projectName == rhs.projectName))
@@ -2459,6 +2482,7 @@ class Airavata_searchProjectsByProjectName_pargs {
 
   virtual ~Airavata_searchProjectsByProjectName_pargs() throw() {}
 
+  const std::string* gatewayId;
   const std::string* userName;
   const std::string* projectName;
 
@@ -2557,14 +2581,19 @@ class Airavata_searchProjectsByProjectName_presult {
 class Airavata_searchProjectsByProjectDesc_args {
  public:
 
-  Airavata_searchProjectsByProjectDesc_args() : userName(), description() {
+  Airavata_searchProjectsByProjectDesc_args() : gatewayId(), userName(), description() {
   }
 
   virtual ~Airavata_searchProjectsByProjectDesc_args() throw() {}
 
+  std::string gatewayId;
   std::string userName;
   std::string description;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_userName(const std::string& val) {
     userName = val;
   }
@@ -2575,6 +2604,8 @@ class Airavata_searchProjectsByProjectDesc_args {
 
   bool operator == (const Airavata_searchProjectsByProjectDesc_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(userName == rhs.userName))
       return false;
     if (!(description == rhs.description))
@@ -2599,6 +2630,7 @@ class Airavata_searchProjectsByProjectDesc_pargs {
 
   virtual ~Airavata_searchProjectsByProjectDesc_pargs() throw() {}
 
+  const std::string* gatewayId;
   const std::string* userName;
   const std::string* description;
 
@@ -2697,14 +2729,19 @@ class Airavata_searchProjectsByProjectDesc_presult {
 class Airavata_searchExperimentsByName_args {
  public:
 
-  Airavata_searchExperimentsByName_args() : userName(), expName() {
+  Airavata_searchExperimentsByName_args() : gatewayId(), userName(), expName() {
   }
 
   virtual ~Airavata_searchExperimentsByName_args() throw() {}
 
+  std::string gatewayId;
   std::string userName;
   std::string expName;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_userName(const std::string& val) {
     userName = val;
   }
@@ -2715,6 +2752,8 @@ class Airavata_searchExperimentsByName_args {
 
   bool operator == (const Airavata_searchExperimentsByName_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(userName == rhs.userName))
       return false;
     if (!(expName == rhs.expName))
@@ -2739,6 +2778,7 @@ class Airavata_searchExperimentsByName_pargs {
 
   virtual ~Airavata_searchExperimentsByName_pargs() throw() {}
 
+  const std::string* gatewayId;
   const std::string* userName;
   const std::string* expName;
 
@@ -2837,14 +2877,19 @@ class Airavata_searchExperimentsByName_presult {
 class Airavata_searchExperimentsByDesc_args {
  public:
 
-  Airavata_searchExperimentsByDesc_args() : userName(), description() {
+  Airavata_searchExperimentsByDesc_args() : gatewayId(), userName(), description() {
   }
 
   virtual ~Airavata_searchExperimentsByDesc_args() throw() {}
 
+  std::string gatewayId;
   std::string userName;
   std::string description;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_userName(const std::string& val) {
     userName = val;
   }
@@ -2855,6 +2900,8 @@ class Airavata_searchExperimentsByDesc_args {
 
   bool operator == (const Airavata_searchExperimentsByDesc_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(userName == rhs.userName))
       return false;
     if (!(description == rhs.description))
@@ -2879,6 +2926,7 @@ class Airavata_searchExperimentsByDesc_pargs {
 
   virtual ~Airavata_searchExperimentsByDesc_pargs() throw() {}
 
+  const std::string* gatewayId;
   const std::string* userName;
   const std::string* description;
 
@@ -2977,14 +3025,19 @@ class Airavata_searchExperimentsByDesc_presult {
 class Airavata_searchExperimentsByApplication_args {
  public:
 
-  Airavata_searchExperimentsByApplication_args() : userName(), applicationId() {
+  Airavata_searchExperimentsByApplication_args() : gatewayId(), userName(), applicationId() {
   }
 
   virtual ~Airavata_searchExperimentsByApplication_args() throw() {}
 
+  std::string gatewayId;
   std::string userName;
   std::string applicationId;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_userName(const std::string& val) {
     userName = val;
   }
@@ -2995,6 +3048,8 @@ class Airavata_searchExperimentsByApplication_args {
 
   bool operator == (const Airavata_searchExperimentsByApplication_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(userName == rhs.userName))
       return false;
     if (!(applicationId == rhs.applicationId))
@@ -3019,6 +3074,7 @@ class Airavata_searchExperimentsByApplication_pargs {
 
   virtual ~Airavata_searchExperimentsByApplication_pargs() throw() {}
 
+  const std::string* gatewayId;
   const std::string* userName;
   const std::string* applicationId;
 
@@ -3117,14 +3173,19 @@ class Airavata_searchExperimentsByApplication_presult {
 class Airavata_searchExperimentsByStatus_args {
  public:
 
-  Airavata_searchExperimentsByStatus_args() : userName(), experimentState(( ::apache::airavata::model::workspace::experiment::ExperimentState::type)0) {
+  Airavata_searchExperimentsByStatus_args() : gatewayId(), userName(), experimentState(( ::apache::airavata::model::workspace::experiment::ExperimentState::type)0) {
   }
 
   virtual ~Airavata_searchExperimentsByStatus_args() throw() {}
 
+  std::string gatewayId;
   std::string userName;
    ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_userName(const std::string& val) {
     userName = val;
   }
@@ -3135,6 +3196,8 @@ class Airavata_searchExperimentsByStatus_args {
 
   bool operator == (const Airavata_searchExperimentsByStatus_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(userName == rhs.userName))
       return false;
     if (!(experimentState == rhs.experimentState))
@@ -3159,6 +3222,7 @@ class Airavata_searchExperimentsByStatus_pargs {
 
   virtual ~Airavata_searchExperimentsByStatus_pargs() throw() {}
 
+  const std::string* gatewayId;
   const std::string* userName;
   const  ::apache::airavata::model::workspace::experiment::ExperimentState::type* experimentState;
 
@@ -3257,15 +3321,20 @@ class Airavata_searchExperimentsByStatus_presult {
 class Airavata_searchExperimentsByCreationTime_args {
  public:
 
-  Airavata_searchExperimentsByCreationTime_args() : userName(), fromTime(0), toTime(0) {
+  Airavata_searchExperimentsByCreationTime_args() : gatewayId(), userName(), fromTime(0), toTime(0) {
   }
 
   virtual ~Airavata_searchExperimentsByCreationTime_args() throw() {}
 
+  std::string gatewayId;
   std::string userName;
   int64_t fromTime;
   int64_t toTime;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_userName(const std::string& val) {
     userName = val;
   }
@@ -3280,6 +3349,8 @@ class Airavata_searchExperimentsByCreationTime_args {
 
   bool operator == (const Airavata_searchExperimentsByCreationTime_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(userName == rhs.userName))
       return false;
     if (!(fromTime == rhs.fromTime))
@@ -3306,6 +3377,7 @@ class Airavata_searchExperimentsByCreationTime_pargs {
 
   virtual ~Airavata_searchExperimentsByCreationTime_pargs() throw() {}
 
+  const std::string* gatewayId;
   const std::string* userName;
   const int64_t* fromTime;
   const int64_t* toTime;
@@ -3547,19 +3619,26 @@ class Airavata_getAllExperimentsInProject_presult {
 class Airavata_getAllUserExperiments_args {
  public:
 
-  Airavata_getAllUserExperiments_args() : userName() {
+  Airavata_getAllUserExperiments_args() : gatewayId(), userName() {
   }
 
   virtual ~Airavata_getAllUserExperiments_args() throw() {}
 
+  std::string gatewayId;
   std::string userName;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_userName(const std::string& val) {
     userName = val;
   }
 
   bool operator == (const Airavata_getAllUserExperiments_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(userName == rhs.userName))
       return false;
     return true;
@@ -3582,6 +3661,7 @@ class Airavata_getAllUserExperiments_pargs {
 
   virtual ~Airavata_getAllUserExperiments_pargs() throw() {}
 
+  const std::string* gatewayId;
   const std::string* userName;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -3679,19 +3759,26 @@ class Airavata_getAllUserExperiments_presult {
 class Airavata_createExperiment_args {
  public:
 
-  Airavata_createExperiment_args() {
+  Airavata_createExperiment_args() : gatewayId() {
   }
 
   virtual ~Airavata_createExperiment_args() throw() {}
 
+  std::string gatewayId;
    ::apache::airavata::model::workspace::experiment::Experiment experiment;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_experiment(const  ::apache::airavata::model::workspace::experiment::Experiment& val) {
     experiment = val;
   }
 
   bool operator == (const Airavata_createExperiment_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(experiment == rhs.experiment))
       return false;
     return true;
@@ -3714,6 +3801,7 @@ class Airavata_createExperiment_pargs {
 
   virtual ~Airavata_createExperiment_pargs() throw() {}
 
+  const std::string* gatewayId;
   const  ::apache::airavata::model::workspace::experiment::Experiment* experiment;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -5712,19 +5800,26 @@ class Airavata_terminateExperiment_presult {
 class Airavata_registerApplicationModule_args {
  public:
 
-  Airavata_registerApplicationModule_args() {
+  Airavata_registerApplicationModule_args() : gatewayId() {
   }
 
   virtual ~Airavata_registerApplicationModule_args() throw() {}
 
+  std::string gatewayId;
    ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule applicationModule;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_applicationModule(const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& val) {
     applicationModule = val;
   }
 
   bool operator == (const Airavata_registerApplicationModule_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(applicationModule == rhs.applicationModule))
       return false;
     return true;
@@ -5747,6 +5842,7 @@ class Airavata_registerApplicationModule_pargs {
 
   virtual ~Airavata_registerApplicationModule_pargs() throw() {}
 
+  const std::string* gatewayId;
   const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule* applicationModule;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -6116,14 +6212,21 @@ class Airavata_updateApplicationModule_presult {
 class Airavata_getAllAppModules_args {
  public:
 
-  Airavata_getAllAppModules_args() {
+  Airavata_getAllAppModules_args() : gatewayId() {
   }
 
   virtual ~Airavata_getAllAppModules_args() throw() {}
 
+  std::string gatewayId;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
 
-  bool operator == (const Airavata_getAllAppModules_args & /* rhs */) const
+  bool operator == (const Airavata_getAllAppModules_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getAllAppModules_args &rhs) const {
@@ -6144,6 +6247,7 @@ class Airavata_getAllAppModules_pargs {
 
   virtual ~Airavata_getAllAppModules_pargs() throw() {}
 
+  const std::string* gatewayId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
@@ -6372,19 +6476,26 @@ class Airavata_deleteApplicationModule_presult {
 class Airavata_registerApplicationDeployment_args {
  public:
 
-  Airavata_registerApplicationDeployment_args() {
+  Airavata_registerApplicationDeployment_args() : gatewayId() {
   }
 
   virtual ~Airavata_registerApplicationDeployment_args() throw() {}
 
+  std::string gatewayId;
    ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription applicationDeployment;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_applicationDeployment(const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& val) {
     applicationDeployment = val;
   }
 
   bool operator == (const Airavata_registerApplicationDeployment_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(applicationDeployment == rhs.applicationDeployment))
       return false;
     return true;
@@ -6407,6 +6518,7 @@ class Airavata_registerApplicationDeployment_pargs {
 
   virtual ~Airavata_registerApplicationDeployment_pargs() throw() {}
 
+  const std::string* gatewayId;
   const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription* applicationDeployment;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -6908,14 +7020,21 @@ class Airavata_deleteApplicationDeployment_presult {
 class Airavata_getAllApplicationDeployments_args {
  public:
 
-  Airavata_getAllApplicationDeployments_args() {
+  Airavata_getAllApplicationDeployments_args() : gatewayId() {
   }
 
   virtual ~Airavata_getAllApplicationDeployments_args() throw() {}
 
+  std::string gatewayId;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
 
-  bool operator == (const Airavata_getAllApplicationDeployments_args & /* rhs */) const
+  bool operator == (const Airavata_getAllApplicationDeployments_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getAllApplicationDeployments_args &rhs) const {
@@ -6936,6 +7055,7 @@ class Airavata_getAllApplicationDeployments_pargs {
 
   virtual ~Airavata_getAllApplicationDeployments_pargs() throw() {}
 
+  const std::string* gatewayId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
@@ -7164,19 +7284,26 @@ class Airavata_getAppModuleDeployedResources_presult {
 class Airavata_registerApplicationInterface_args {
  public:
 
-  Airavata_registerApplicationInterface_args() {
+  Airavata_registerApplicationInterface_args() : gatewayId() {
   }
 
   virtual ~Airavata_registerApplicationInterface_args() throw() {}
 
+  std::string gatewayId;
    ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription applicationInterface;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_applicationInterface(const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& val) {
     applicationInterface = val;
   }
 
   bool operator == (const Airavata_registerApplicationInterface_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(applicationInterface == rhs.applicationInterface))
       return false;
     return true;
@@ -7199,6 +7326,7 @@ class Airavata_registerApplicationInterface_pargs {
 
   virtual ~Airavata_registerApplicationInterface_pargs() throw() {}
 
+  const std::string* gatewayId;
   const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription* applicationInterface;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -7700,14 +7828,21 @@ class Airavata_deleteApplicationInterface_presult {
 class Airavata_getAllApplicationInterfaceNames_args {
  public:
 
-  Airavata_getAllApplicationInterfaceNames_args() {
+  Airavata_getAllApplicationInterfaceNames_args() : gatewayId() {
   }
 
   virtual ~Airavata_getAllApplicationInterfaceNames_args() throw() {}
 
+  std::string gatewayId;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
 
-  bool operator == (const Airavata_getAllApplicationInterfaceNames_args & /* rhs */) const
+  bool operator == (const Airavata_getAllApplicationInterfaceNames_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getAllApplicationInterfaceNames_args &rhs) const {
@@ -7728,6 +7863,7 @@ class Airavata_getAllApplicationInterfaceNames_pargs {
 
   virtual ~Airavata_getAllApplicationInterfaceNames_pargs() throw() {}
 
+  const std::string* gatewayId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
@@ -7824,14 +7960,21 @@ class Airavata_getAllApplicationInterfaceNames_presult {
 class Airavata_getAllApplicationInterfaces_args {
  public:
 
-  Airavata_getAllApplicationInterfaces_args() {
+  Airavata_getAllApplicationInterfaces_args() : gatewayId() {
   }
 
   virtual ~Airavata_getAllApplicationInterfaces_args() throw() {}
 
+  std::string gatewayId;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
 
-  bool operator == (const Airavata_getAllApplicationInterfaces_args & /* rhs */) const
+  bool operator == (const Airavata_getAllApplicationInterfaces_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getAllApplicationInterfaces_args &rhs) const {
@@ -7852,6 +7995,7 @@ class Airavata_getAllApplicationInterfaces_pargs {
 
   virtual ~Airavata_getAllApplicationInterfaces_pargs() throw() {}
 
+  const std::string* gatewayId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
@@ -15232,14 +15376,21 @@ class Airavata_deleteGatewayComputeResourcePreference_presult {
 class Airavata_getAllWorkflows_args {
  public:
 
-  Airavata_getAllWorkflows_args() {
+  Airavata_getAllWorkflows_args() : gatewayId() {
   }
 
   virtual ~Airavata_getAllWorkflows_args() throw() {}
 
+  std::string gatewayId;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
 
-  bool operator == (const Airavata_getAllWorkflows_args & /* rhs */) const
+  bool operator == (const Airavata_getAllWorkflows_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getAllWorkflows_args &rhs) const {
@@ -15260,6 +15411,7 @@ class Airavata_getAllWorkflows_pargs {
 
   virtual ~Airavata_getAllWorkflows_pargs() throw() {}
 
+  const std::string* gatewayId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
@@ -15610,19 +15762,26 @@ class Airavata_deleteWorkflow_presult {
 class Airavata_registerWorkflow_args {
  public:
 
-  Airavata_registerWorkflow_args() {
+  Airavata_registerWorkflow_args() : gatewayId() {
   }
 
   virtual ~Airavata_registerWorkflow_args() throw() {}
 
+  std::string gatewayId;
    ::Workflow workflow;
 
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
   void __set_workflow(const  ::Workflow& val) {
     workflow = val;
   }
 
   bool operator == (const Airavata_registerWorkflow_args & rhs) const
   {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(workflow == rhs.workflow))
       return false;
     return true;
@@ -15645,6 +15804,7 @@ class Airavata_registerWorkflow_pargs {
 
   virtual ~Airavata_registerWorkflow_pargs() throw() {}
 
+  const std::string* gatewayId;
   const  ::Workflow* workflow;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -16182,8 +16342,8 @@ class AiravataClient : virtual public AiravataIf {
   void getAllUserSSHPubKeys(std::map<std::string, std::string> & _return, const std::string& userName);
   void send_getAllUserSSHPubKeys(const std::string& userName);
   void recv_getAllUserSSHPubKeys(std::map<std::string, std::string> & _return);
-  void createProject(std::string& _return, const  ::apache::airavata::model::workspace::Project& project);
-  void send_createProject(const  ::apache::airavata::model::workspace::Project& project);
+  void createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
+  void send_createProject(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
   void recv_createProject(std::string& _return);
   void updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
   void send_updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
@@ -16191,38 +16351,38 @@ class AiravataClient : virtual public AiravataIf {
   void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId);
   void send_getProject(const std::string& projectId);
   void recv_getProject( ::apache::airavata::model::workspace::Project& _return);
-  void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName);
-  void send_getAllUserProjects(const std::string& userName);
+  void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName);
+  void send_getAllUserProjects(const std::string& gatewayId, const std::string& userName);
   void recv_getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return);
-  void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& projectName);
-  void send_searchProjectsByProjectName(const std::string& userName, const std::string& projectName);
+  void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName);
+  void send_searchProjectsByProjectName(const std::string& gatewayId, const std::string& userName, const std::string& projectName);
   void recv_searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return);
-  void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& description);
-  void send_searchProjectsByProjectDesc(const std::string& userName, const std::string& description);
+  void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description);
+  void send_searchProjectsByProjectDesc(const std::string& gatewayId, const std::string& userName, const std::string& description);
   void recv_searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return);
-  void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& expName);
-  void send_searchExperimentsByName(const std::string& userName, const std::string& expName);
+  void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName);
+  void send_searchExperimentsByName(const std::string& gatewayId, const std::string& userName, const std::string& expName);
   void recv_searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return);
-  void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& description);
-  void send_searchExperimentsByDesc(const std::string& userName, const std::string& description);
+  void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description);
+  void send_searchExperimentsByDesc(const std::string& gatewayId, const std::string& userName, const std::string& description);
   void recv_searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return);
-  void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& applicationId);
-  void send_searchExperimentsByApplication(const std::string& userName, const std::string& applicationId);
+  void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId);
+  void send_searchExperimentsByApplication(const std::string& gatewayId, const std::string& userName, const std::string& applicationId);
   void recv_searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return);
-  void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState);
-  void send_searchExperimentsByStatus(const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState);
+  void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState);
+  void send_searchExperimentsByStatus(const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState);
   void recv_searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return);
-  void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const int64_t fromTime, const int64_t toTime);
-  void send_searchExperimentsByCreationTime(const std::string& userName, const int64_t fromTime, const int64_t toTime);
+  void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime);
+  void send_searchExperimentsByCreationTime(const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime);
   void recv_searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return);
   void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId);
   void send_getAllExperimentsInProject(const std::string& projectId);
   void recv_getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return);
-  void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& userName);
-  void send_getAllUserExperiments(const std::string& userName);
+  void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& gatewayId, const std::string& userName);
+  void send_getAllUserExperiments(const std::string& gatewayId, const std::string& userName);
   void recv_getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return);
-  void createExperiment(std::string& _return, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment);
-  void send_createExperiment(const  ::apache::airavata::model::workspace::experiment::Experiment& experiment);
+  void createExperiment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment);
+  void send_createExperiment(const std::string& gatewayId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment);
   void recv_createExperiment(std::string& _return);
   void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& _return, const std::string& airavataExperimentId);
   void send_getExperiment(const std::string& airavataExperimentId);
@@ -16266,8 +16426,8 @@ class AiravataClient : virtual public AiravataIf {
   void terminateExperiment(const std::string& airavataExperimentId);
   void send_terminateExperiment(const std::string& airavataExperimentId);
   void recv_terminateExperiment();
-  void registerApplicationModule(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule);
-  void send_registerApplicationModule(const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule);
+  void registerApplicationModule(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule);
+  void send_registerApplicationModule(const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule);
   void recv_registerApplicationModule(std::string& _return);
   void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const std::string& appModuleId);
   void send_getApplicationModule(const std::string& appModuleId);
@@ -16275,14 +16435,14 @@ class AiravataClient : virtual public AiravataIf {
   bool updateApplicationModule(const std::string& appModuleId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule);
   void send_updateApplicationModule(const std::string& appModuleId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule);
   bool recv_updateApplicationModule();
-  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return);
-  void send_getAllAppModules();
+  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const std::string& gatewayId);
+  void send_getAllAppModules(const std::string& gatewayId);
   void recv_getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return);
   bool deleteApplicationModule(const std::string& appModuleId);
   void send_deleteApplicationModule(const std::string& appModuleId);
   bool recv_deleteApplicationModule();
-  void registerApplicationDeployment(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment);
-  void send_registerApplicationDeployment(const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment);
+  void registerApplicationDeployment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment);
+  void send_registerApplicationDeployment(const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment);
   void recv_registerApplicationDeployment(std::string& _return);
   void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const std::string& appDeploymentId);
   void send_getApplicationDeployment(const std::string& appDeploymentId);
@@ -16293,14 +16453,14 @@ class AiravataClient : virtual public AiravataIf {
   bool deleteApplicationDeployment(const std::string& appDeploymentId);
   void send_deleteApplicationDeployment(const std::string& appDeploymentId);
   bool recv_deleteApplicationDeployment();
-  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return);
-  void send_getAllApplicationDeployments();
+  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const std::string& gatewayId);
+  void send_getAllApplicationDeployments(const std::string& gatewayId);
   void recv_getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return);
   void getAppModuleDeployedResources(std::vector<std::string> & _return, const std::string& appModuleId);
   void send_getAppModuleDeployedResources(const std::string& appModuleId);
   void recv_getAppModuleDeployedResources(std::vector<std::string> & _return);
-  void registerApplicationInterface(std::string& _return, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface);
-  void send_registerApplicationInterface(const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface);
+  void registerApplicationInterface(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface);
+  void send_registerApplicationInterface(const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface);
   void recv_registerApplicationInterface(std::string& _return);
   void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const std::string& appInterfaceId);
   void send_getApplicationInterface(const std::string& appInterfaceId);
@@ -16311,11 +16471,11 @@ class AiravataClient : virtual public AiravataIf {
   bool deleteApplicationInterface(const std::string& appInterfaceId);
   void send_deleteApplicationInterface(const std::string& appInterfaceId);
   bool recv_deleteApplicationInterface();
-  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return);
-  void send_getAllApplicationInterfaceNames();
+  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const std::string& gatewayId);
+  void send_getAllApplicationInterfaceNames(const std::string& gatewayId);
   void recv_getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return);
-  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return);
-  void send_getAllApplicationInterfaces();
+  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const std::string& gatewayId);
+  void send_getAllApplicationInterfaces(const std::string& gatewayId);
   void recv_getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return);
   void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & _return, const std::string& appInterfaceId);
   void send_getApplicationInputs(const std::string& appInterfaceId);
@@ -16476,8 +16636,8 @@ class AiravataClient : virtual public AiravataIf {
   bool deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId);
   void send_deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId);
   bool recv_deleteGatewayComputeResourcePreference();
-  void getAllWorkflows(std::vector<std::string> & _return);
-  void send_getAllWorkflows();
+  void getAllWorkflows(std::vector<std::string> & _return, const std::string& gatewayId);
+  void send_getAllWorkflows(const std::string& gatewayId);
   void recv_getAllWorkflows(std::vector<std::string> & _return);
   void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId);
   void send_getWorkflow(const std::string& workflowTemplateId);
@@ -16485,8 +16645,8 @@ class AiravataClient : virtual public AiravataIf {
   void deleteWorkflow(const std::string& workflowTemplateId);
   void send_deleteWorkflow(const std::string& workflowTemplateId);
   void recv_deleteWorkflow();
-  void registerWorkflow(std::string& _return, const  ::Workflow& workflow);
-  void send_registerWorkflow(const  ::Workflow& workflow);
+  void registerWorkflow(std::string& _return, const std::string& gatewayId, const  ::Workflow& workflow);
+  void send_registerWorkflow(const std::string& gatewayId, const  ::Workflow& workflow);
   void recv_registerWorkflow(std::string& _return);
   void updateWorkflow(const std::string& workflowTemplateId, const  ::Workflow& workflow);
   void send_updateWorkflow(const std::string& workflowTemplateId, const  ::Workflow& workflow);
@@ -16870,13 +17030,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void createProject(std::string& _return, const  ::apache::airavata::model::workspace::Project& project) {
+  void createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->createProject(_return, project);
+      ifaces_[i]->createProject(_return, gatewayId, project);
     }
-    ifaces_[i]->createProject(_return, project);
+    ifaces_[i]->createProject(_return, gatewayId, project);
     return;
   }
 
@@ -16899,83 +17059,83 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName) {
+  void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllUserProjects(_return, userName);
+      ifaces_[i]->getAllUserProjects(_return, gatewayId, userName);
     }
-    ifaces_[i]->getAllUserProjects(_return, userName);
+    ifaces_[i]->getAllUserProjects(_return, gatewayId, userName);
     return;
   }
 
-  void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& projectName) {
+  void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->searchProjectsByProjectName(_return, userName, projectName);
+      ifaces_[i]->searchProjectsByProjectName(_return, gatewayId, userName, projectName);
     }
-    ifaces_[i]->searchProjectsByProjectName(_return, userName, projectName);
+    ifaces_[i]->searchProjectsByProjectName(_return, gatewayId, userName, projectName);
     return;
   }
 
-  void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& description) {
+  void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->searchProjectsByProjectDesc(_return, userName, description);
+      ifaces_[i]->searchProjectsByProjectDesc(_return, gatewayId, userName, description);
     }
-    ifaces_[i]->searchProjectsByProjectDesc(_return, userName, description);
+    ifaces_[i]->searchProjectsByProjectDesc(_return, gatewayId, userName, description);
     return;
   }
 
-  void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& expName) {
+  void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->searchExperimentsByName(_return, userName, expName);
+      ifaces_[i]->searchExperimentsByName(_return, gatewayId, userName, expName);
     }
-    ifaces_[i]->searchExperimentsByName(_return, userName, expName);
+    ifaces_[i]->searchExperimentsByName(_return, gatewayId, userName, expName);
     return;
   }
 
-  void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& description) {
+  void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->searchExperimentsByDesc(_return, userName, description);
+      ifaces_[i]->searchExperimentsByDesc(_return, gatewayId, userName, description);
     }
-    ifaces_[i]->searchExperimentsByDesc(_return, userName, description);
+    ifaces_[i]->searchExperimentsByDesc(_return, gatewayId, userName, description);
     return;
   }
 
-  void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& applicationId) {
+  void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->searchExperimentsByApplication(_return, userName, applicationId);
+      ifaces_[i]->searchExperimentsByApplication(_return, gatewayId, userName, applicationId);
     }
-    ifaces_[i]->searchExperimentsByApplication(_return, userName, applicationId);
+    ifaces_[i]->searchExperimentsByApplication(_return, gatewayId, userName, applicationId);
     return;
   }
 
-  void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState) {
+  void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->searchExperimentsByStatus(_return, userName, experimentState);
+      ifaces_[i]->searchExperimentsByStatus(_return, gatewayId, userName, experimentState);
     }
-    ifaces_[i]->searchExperimentsByStatus(_return, userName, experimentState);
+    ifaces_[i]->searchExperimentsByStatus(_return, gatewayId, userName, experimentState);
     return;
   }
 
-  void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const int64_t fromTime, const int64_t toTime) {
+  void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->searchExperimentsByCreationTime(_return, userName, fromTime, toTime);
+      ifaces_[i]->searchExperimentsByCreationTime(_return, gatewayId, userName, fromTime, toTime);
     }
-    ifaces_[i]->searchExperimentsByCreationTime(_return, userName, fromTime, toTime);
+    ifaces_[i]->searchExperimentsByCreationTime(_return, gatewayId, userName, fromTime, toTime);
     return;
   }
 
@@ -16989,23 +17149,23 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& userName) {
+  void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& gatewayId, const std::string& userName) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllUserExperiments(_return, userName);
+      ifaces_[i]->getAllUserExperiments(_return, gatewayId, userName);
     }
-    ifaces_[i]->getAllUserExperiments(_return, userName);
+    ifaces_[i]->getAllUserExperiments(_return, gatewayId, userName);
     return;
   }
 
-  void createExperiment(std::string& _return, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment) {
+  void createExperiment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->createExperiment(_return, experiment);
+      ifaces_[i]->createExperiment(_return, gatewayId, experiment);
     }
-    ifaces_[i]->createExperiment(_return, experiment);
+    ifaces_[i]->createExperiment(_return, gatewayId, experiment);
     return;
   }
 
@@ -17143,13 +17303,13 @@ class AiravataMultiface : virtual public AiravataIf {
     ifaces_[i]->terminateExperiment(airavataExperimentId);
   }
 
-  void registerApplicationModule(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
+  void registerApplicationModule(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->registerApplicationModule(_return, applicationModule);
+      ifaces_[i]->registerApplicationModule(_return, gatewayId, applicationModule);
     }
-    ifaces_[i]->registerApplicationModule(_return, applicationModule);
+    ifaces_[i]->registerApplicationModule(_return, gatewayId, applicationModule);
     return;
   }
 
@@ -17172,13 +17332,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->updateApplicationModule(appModuleId, applicationModule);
   }
 
-  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return) {
+  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const std::string& gatewayId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllAppModules(_return);
+      ifaces_[i]->getAllAppModules(_return, gatewayId);
     }
-    ifaces_[i]->getAllAppModules(_return);
+    ifaces_[i]->getAllAppModules(_return, gatewayId);
     return;
   }
 
@@ -17191,13 +17351,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->deleteApplicationModule(appModuleId);
   }
 
-  void registerApplicationDeployment(std::string& _return, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
+  void registerApplicationDeployment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->registerApplicationDeployment(_return, applicationDeployment);
+      ifaces_[i]->registerApplicationDeployment(_return, gatewayId, applicationDeployment);
     }
-    ifaces_[i]->registerApplicationDeployment(_return, applicationDeployment);
+    ifaces_[i]->registerApplicationDeployment(_return, gatewayId, applicationDeployment);
     return;
   }
 
@@ -17229,13 +17389,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->deleteApplicationDeployment(appDeploymentId);
   }
 
-  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return) {
+  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const std::string& gatewayId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllApplicationDeployments(_return);
+      ifaces_[i]->getAllApplicationDeployments(_return, gatewayId);
     }
-    ifaces_[i]->getAllApplicationDeployments(_return);
+    ifaces_[i]->getAllApplicationDeployments(_return, gatewayId);
     return;
   }
 
@@ -17249,13 +17409,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void registerApplicationInterface(std::string& _return, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
+  void registerApplicationInterface(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->registerApplicationInterface(_return, applicationInterface);
+      ifaces_[i]->registerApplicationInterface(_return, gatewayId, applicationInterface);
     }
-    ifaces_[i]->registerApplicationInterface(_return, applicationInterface);
+    ifaces_[i]->registerApplicationInterface(_return, gatewayId, applicationInterface);
     return;
   }
 
@@ -17287,23 +17447,23 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->deleteApplicationInterface(appInterfaceId);
   }
 
-  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return) {
+  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const std::string& gatewayId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllApplicationInterfaceNames(_return);
+      ifaces_[i]->getAllApplicationInterfaceNames(_return, gatewayId);
     }
-    ifaces_[i]->getAllApplicationInterfaceNames(_return);
+    ifaces_[i]->getAllApplicationInterfaceNames(_return, gatewayId);
     return;
   }
 
-  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return) {
+  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const std::string& gatewayId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllApplicationInterfaces(_return);
+      ifaces_[i]->getAllApplicationInterfaces(_return, gatewayId);
     }
-    ifaces_[i]->getAllApplicationInterfaces(_return);
+    ifaces_[i]->getAllApplicationInterfaces(_return, gatewayId);
     return;
   }
 
@@ -17813,13 +17973,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->deleteGatewayComputeResourcePreference(gatewayID, computeResourceId);
   }
 
-  void getAllWorkflows(std::vector<std::string> & _return) {
+  void getAllWorkflows(std::vector<std::string> & _return, const std::string& gatewayId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllWorkflows(_return);
+      ifaces_[i]->getAllWorkflows(_return, gatewayId);
     }
-    ifaces_[i]->getAllWorkflows(_return);
+    ifaces_[i]->getAllWorkflows(_return, gatewayId);
     return;
   }
 
@@ -17842,13 +18002,13 @@ class AiravataMultiface : virtual public AiravataIf {
     ifaces_[i]->deleteWorkflow(workflowTemplateId);
   }
 
-  void registerWorkflow(std::string& _return, const  ::Workflow& workflow) {
+  void registerWorkflow(std::string& _return, const std::string& gatewayId, const  ::Workflow& workflow) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->registerWorkflow(_return, workflow);
+      ifaces_[i]->registerWorkflow(_return, gatewayId, workflow);
     }
-    ifaces_[i]->registerWorkflow(_return, workflow);
+    ifaces_[i]->registerWorkflow(_return, gatewayId, workflow);
     return;
   }