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/06/11 19:12:21 UTC

[11/16] airavata git commit: Updating Airavata to use Thrift version 0.9.2 - AIRAVATA-1707

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/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 2532766..984ee48 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
@@ -1,7 +1,7 @@
 <?php
 namespace Airavata\API;
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -17,132 +17,2472 @@ use Thrift\Exception\TApplicationException;
 
 
 interface AiravataIf {
+  /**
+   * Fetch Apache Airavata API version
+   * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
+   */
   public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken);
+  /**
+   * @param \Airavata\Model\Workspace\Gateway $gateway
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function addGateway(\Airavata\Model\Workspace\Gateway $gateway);
+  /**
+   * @param string $gatewayId
+   * @param \Airavata\Model\Workspace\Gateway $updatedGateway
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
+  /**
+   * @param string $gatewayId
+   * @return \Airavata\Model\Workspace\Gateway
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getGateway($gatewayId);
+  /**
+   * @param string $gatewayId
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function deleteGateway($gatewayId);
+  /**
+   * @return \Airavata\Model\Workspace\Gateway[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllGateways();
+  /**
+   * @param string $gatewayId
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function isGatewayExist($gatewayId);
+  /**
+   * Generate and Register SSH Key Pair with Airavata Credential Store.
+   * 
+   * @param gatewayId
+   *    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
+   *    community user name. For computational resources, this user name need not be the same user name on resoruces.
+   * 
+   * @return airavataCredStoreToken
+   *   An SSH Key pair is generated and stored in the credential store and associated with users or community account
+   *   belonging to a gateway.
+   * 
+   * 
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function generateAndRegisterSSHKeys($gatewayId, $userName);
+  /**
+   * @param string $airavataCredStoreToken
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getSSHPubKey($airavataCredStoreToken);
+  /**
+   * @param string $userName
+   * @return array
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllUserSSHPubKeys($userName);
+  /**
+   * 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 workspace_model
+   * 
+   * 
+   * @param string $gatewayId
+   * @param \Airavata\Model\Workspace\Project $project
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function createProject($gatewayId, \Airavata\Model\Workspace\Project $project);
+  /**
+   * Update a Project
+   * 
+   * 
+   * @param string $projectId
+   * @param \Airavata\Model\Workspace\Project $updatedProject
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\ProjectNotFoundException
+   */
   public function updateProject($projectId, \Airavata\Model\Workspace\Project $updatedProject);
+  /**
+   * Get a Project by ID
+   * 
+   * 
+   * @param string $projectId
+   * @return \Airavata\Model\Workspace\Project
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\ProjectNotFoundException
+   */
   public function getProject($projectId);
+  /**
+   * @param string $projectId
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\ProjectNotFoundException
+   */
   public function deleteProject($projectId);
+  /**
+   *   * Get all Project by user
+   *   *
+   *   * @param gatewayId
+   *   *    The identifier for the requested gateway.
+   *   *
+   *   * @param userName
+   *   *    The Project Object described in the workspace_model
+   *   * @deprecated Instead use getAllUserProjectsWithPagination
+   * *
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @return \Airavata\Model\Workspace\Project[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllUserProjects($gatewayId, $userName);
+  /**
+   *   * Get all Project by user with pagination. Results will be ordered based
+   *   * on creation time DESC
+   *   *
+   *   * @param gatewayId
+   *   *    The identifier for the requested gateway.
+   *   * @param userName
+   *   *    The identifier of the user
+   *   * @param limit
+   *   *    The amount results to be fetched
+   *   * @param offset
+   *   *    The starting point of the results to be fetched
+   * *
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Project[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllUserProjectsWithPagination($gatewayId, $userName, $limit, $offset);
+  /**
+   * Get all Project for user by project name
+   * 
+   * @param gatewayId
+   *    The identifier for the requested gateway.
+   * @param userName
+   *    The identifier of the user
+   * @param projectName
+   *    The name of the project on which the results to be fetched
+   * @deprecated Instead use searchProjectsByProjectNameWithPagination
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $projectName
+   * @return \Airavata\Model\Workspace\Project[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchProjectsByProjectName($gatewayId, $userName, $projectName);
+  /**
+   * Get all Project for user by project name with pagination.Results will be ordered based
+   * on creation time DESC
+   * 
+   * @param gatewayId
+   *    The identifier for the requested gateway.
+   * @param userName
+   *    The identifier of the user
+   * @param projectName
+   *    The name of the project on which the results to be fetched
+   * @param limit
+   *    The amount results to be fetched
+   * @param offset
+   *    The starting point of the results to be fetched
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $projectName
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Project[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchProjectsByProjectNameWithPagination($gatewayId, $userName, $projectName, $limit, $offset);
+  /**
+   * Get all Project for user by project description
+   * @param gatewayId
+   *    The identifier for the requested gateway.
+   * @param userName
+   *    The identifier of the user
+   * @param description
+   *    The description to be matched
+   * @deprecated Instead use searchProjectsByProjectDescWithPagination
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $description
+   * @return \Airavata\Model\Workspace\Project[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchProjectsByProjectDesc($gatewayId, $userName, $description);
+  /**
+   * Search and get all Projects for user by project description with pagination. Results
+   * will be ordered based on creation time DESC
+   * 
+   * @param gatewayId
+   *    The identifier for the requested gateway.
+   * @param userName
+   *    The identifier of the user
+   * @param description
+   *    The description to be matched
+   * @param limit
+   *    The amount results to be fetched
+   * @param offset
+   *    The starting point of the results to be fetched
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $description
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Project[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchProjectsByProjectDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
+  /**
+   * Search Experiments by experiment name
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param useNname
+   *       Username of the requested user
+   * @param expName
+   *       Experiment name to be matched
+   * @deprecated
+   *       Instead use searchExperimentsByNameWithPagination
+   * 
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $expName
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByName($gatewayId, $userName, $expName);
+  /**
+   * Search Experiments by experiment name with pagination. Results will be sorted
+   * based on creation time DESC
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param expName
+   *       Experiment name to be matched
+   * @param limit
+   *       Amount of results to be fetched
+   * @param offset
+   *       The starting point of the results to be fetched
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $expName
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByNameWithPagination($gatewayId, $userName, $expName, $limit, $offset);
+  /**
+   * Search Experiments by experiment name
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param description
+   *       Experiment description to be matched
+   * @deprecated
+   *       Instead use searchExperimentsByDescWithPagination
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $description
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByDesc($gatewayId, $userName, $description);
+  /**
+   * Search Experiments by experiment name with pagination. Results will be sorted
+   * based on creation time DESC
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param description
+   *       Experiment description to be matched
+   * @param limit
+   *       Amount of results to be fetched
+   * @param offset
+   *       The starting point of the results to be fetched
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $description
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
+  /**
+   * Search Experiments by application id
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param applicationId
+   *       Application id to be matched
+   * @deprecated
+   *       Instead use searchExperimentsByApplicationWithPagination
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $applicationId
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByApplication($gatewayId, $userName, $applicationId);
+  /**
+   * Search Experiments by application id with pagination. Results will be sorted
+   * based on creation time DESC
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param applicationId
+   *       Application id to be matched
+   * @param limit
+   *       Amount of results to be fetched
+   * @param offset
+   *       The starting point of the results to be fetched
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param string $applicationId
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByApplicationWithPagination($gatewayId, $userName, $applicationId, $limit, $offset);
+  /**
+   * Search Experiments by experiment status
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param experimentState
+   *       Experiement state to be matched
+   * @deprecated
+   *       Instead use searchExperimentsByStatusWithPagination
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param int $experimentState
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByStatus($gatewayId, $userName, $experimentState);
+  /**
+   * Search Experiments by experiment status with pagination. Results will be sorted
+   * based on creation time DESC
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param experimentState
+   *       Experiement state to be matched
+   * @param limit
+   *       Amount of results to be fetched
+   * @param offset
+   *       The starting point of the results to be fetched
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param int $experimentState
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByStatusWithPagination($gatewayId, $userName, $experimentState, $limit, $offset);
+  /**
+   * Search Experiments by experiment creation time
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param fromTime
+   *       Start time of the experiments creation time
+   * @param toTime
+   *       End time of the  experiement creation time
+   * @deprecated
+   *       Instead use searchExperimentsByCreationTimeWithPagination
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param int $fromTime
+   * @param int $toTime
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByCreationTime($gatewayId, $userName, $fromTime, $toTime);
+  /**
+   * Search Experiments by experiment creation time with pagination. Results will be sorted
+   * based on creation time DESC
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param fromTime
+   *       Start time of the experiments creation time
+   * @param toTime
+   *       End time of the  experiement creation time
+   * @param limit
+   *       Amount of results to be fetched
+   * @param offset
+   *       The starting point of the results to be fetched
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param int $fromTime
+   * @param int $toTime
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function searchExperimentsByCreationTimeWithPagination($gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
-  public function searchExperiments($gatewayId, $userName, $filters, $limit, $offset);
+  /**
+   * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
+   * based on creation time DESC
+   * 
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param userName
+   *       Username of the requested user
+   * @param filters
+   *       map of multiple filter criteria.
+   * @param limit
+   *       Amount of results to be fetched
+   * @param offset
+   *       The starting point of the results to be fetched
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param array $filters
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
+  public function searchExperiments($gatewayId, $userName, array $filters, $limit, $offset);
+  /**
+   * Get Experiment Statisitics for the given gateway for a specific time period
+   * @param gatewayId
+   *       Identifier of the requested gateway
+   * @param fromTime
+   *       Starting date time
+   * @param toTime
+   *       Ending data time
+   * 
+   * 
+   * @param string $gatewayId
+   * @param int $fromTime
+   * @param int $toTime
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentStatistics
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
+  public function getExperimentStatistics($gatewayId, $fromTime, $toTime);
+  /**
+   * Get all Experiments within a Project
+   * 
+   * @param projectId
+   *       Identifier of the project
+   * @deprecated
+   *       Instead use  getAllExperimentsInProjectWithPagination
+   * 
+   * @param string $projectId
+   * @return \Airavata\Model\Workspace\Experiment\Experiment[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\ProjectNotFoundException
+   */
   public function getAllExperimentsInProject($projectId);
+  /**
+   * Get all Experiments within project with pagination. Results will be sorted
+   * based on creation time DESC
+   * 
+   * @param projectId
+   *       Identifier of the project
+   * @param limit
+   *       Amount of results to be fetched
+   * @param offset
+   *       The starting point of the results to be fetched
+   * 
+   * @param string $projectId
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Experiment\Experiment[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\ProjectNotFoundException
+   */
   public function getAllExperimentsInProjectWithPagination($projectId, $limit, $offset);
+  /**
+   * Get all Experiments by user
+   * 
+   * @param gatewayId
+   *       Identifier of the requesting gateway
+   * @param userName
+   *       Username of the requested user
+   * @deprecated
+   *       Instead use getAllUserExperimentsWithPagination
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @return \Airavata\Model\Workspace\Experiment\Experiment[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllUserExperiments($gatewayId, $userName);
+  /**
+   * Get all Experiments by user pagination. Results will be sorted
+   * based on creation time DESC
+   * 
+   * @param gatewayId
+   *       Identifier of the requesting gateway
+   * @param userName
+   *       Username of the requested user
+   * @param limit
+   *       Amount of results to be fetched
+   * @param offset
+   *       The starting point of the results to be fetched
+   * 
+   * @param string $gatewayId
+   * @param string $userName
+   * @param int $limit
+   * @param int $offset
+   * @return \Airavata\Model\Workspace\Experiment\Experiment[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllUserExperimentsWithPagination($gatewayId, $userName, $limit, $offset);
+  /**
+   * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
+   *   but inferred from the authentication header. This experiment is just a persistent place holder. The client
+   *   has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
+   *   registering the experiment in a persistent store.
+   * 
+   * @param basicExperimentMetadata
+   *    The create experiment will require the basic experiment metadata like the name and description, intended user,
+   *      the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
+   *      the ExperimentMetadata is a required field.
+   * 
+   * @return
+   *   The server-side generated.airavata.registry.core.experiment.globally unique identifier.
+   * 
+   * @throws org.apache.airavata.model.error.InvalidRequestException
+   *    For any incorrect forming of the request itself.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataClientException
+   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+   * 
+   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
+   *         gateway registration steps and retry this request.
+   * 
+   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+   *         For now this is a place holder.
+   * 
+   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+   *         is implemented, the authorization will be more substantial.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataSystemException
+   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+   *       rather an Airavata Administrator will be notified to take corrective action.
+   * 
+   * 
+   * @param string $gatewayId
+   * @param \Airavata\Model\Workspace\Experiment\Experiment $experiment
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function createExperiment($gatewayId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
+  /**
+   * Fetch previously created experiment metadata.
+   * 
+   * @param airavataExperimentId
+   *    The identifier for the requested experiment. This is returned during the create experiment step.
+   * 
+   * @return experimentMetada
+   *   This method will return the previously stored experiment metadata.
+   * 
+   * @throws org.apache.airavata.model.error.InvalidRequestException
+   *    For any incorrect forming of the request itself.
+   * 
+   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataClientException
+   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+   *      
+   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
+   *         gateway registration steps and retry this request.
+   * 
+   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+   *         For now this is a place holder.
+   * 
+   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+   *         is implemented, the authorization will be more substantial.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataSystemException
+   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+   *       rather an Airavata Administrator will be notified to take corrective action.
+   * 
+   * 
+   * @param string $airavataExperimentId
+   * @return \Airavata\Model\Workspace\Experiment\Experiment A structure holding the experiment metadata and its child models.
+   * 
+   * userName:
+   *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
+   *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
+   *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
+   *     Airavata, an authorization exception is thrown.
+   * 
+   * experimentName:
+   *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
+   *      by the generated experiment id.
+   * 
+   * experimentDescription:
+   *    The verbose description of the experiment. This is an optional parameter.
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getExperiment($airavataExperimentId);
+  /**
+   * Configure a previously created experiment with required inputs, scheduling and other quality of service
+   *   parameters. This method only updates the experiment object within the registry. The experiment has to be launched
+   *   to make it actionable by the server.
+   * 
+   * @param airavataExperimentId
+   *    The identifier for the requested experiment. This is returned during the create experiment step.
+   * 
+   * @param experimentConfigurationData
+   *    The configuration information of the experiment with application input parameters, computational resource scheduling
+   *      information, special input output handling and additional quality of service parameters.
+   * 
+   * @return
+   *   This method call does not have a return value.
+   * 
+   * @throws org.apache.airavata.model.error.InvalidRequestException
+   *    For any incorrect forming of the request itself.
+   * 
+   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataClientException
+   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+   *      
+   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
+   *         gateway registration steps and retry this request.
+   * 
+   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+   *         For now this is a place holder.
+   * 
+   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+   *         is implemented, the authorization will be more substantial.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataSystemException
+   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+   *       rather an Airavata Administrator will be notified to take corrective action.
+   * 
+   * 
+   * @param string $airavataExperimentId
+   * @param \Airavata\Model\Workspace\Experiment\Experiment $experiment
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
+  /**
+   * @param string $airavataExperimentId
+   * @param \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration
+   */
   public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration);
+  /**
+   * @param string $airavataExperimentId
+   * @param \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling
+   */
   public function updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling);
+  /**
+   *  *
+   *  * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
+   *  *
+   *  * @param experimentID
+   *  * @return sucess/failure
+   *  *
+   * *
+   * 
+   * @param string $airavataExperimentId
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function validateExperiment($airavataExperimentId);
+  /**
+   * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
+   *   notifications and intermediate and output data will be subsequently available for this experiment.
+   * 
+   * @param airavataExperimentId
+   *    The identifier for the requested experiment. This is returned during the create experiment step.
+   * 
+   * @param airavataCredStoreToken:
+   *   A requirement to execute experiments within Airavata is to first register the targeted remote computational account
+   *     credentials with Airavata Credential Store. The administrative API (related to credential store) will return a
+   *     generated token associated with the registered credentials. The client has to security posses this token id and is
+   *     required to pass it to Airavata Server for all execution requests.
+   *   Note: At this point only the credential store token is required so the string is directly passed here. In future if
+   *     if more security credentials are enables, then the structure ExecutionSecurityParameters should be used.
+   *   Note: This parameter is not persisted within Airavata Registry for security reasons.
+   * 
+   * @return
+   *   This method call does not have a return value.
+   * 
+   * @throws org.apache.airavata.model.error.InvalidRequestException
+   *    For any incorrect forming of the request itself.
+   * 
+   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataClientException
+   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+   *      
+   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
+   *         gateway registration steps and retry this request.
+   * 
+   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+   *         For now this is a place holder.
+   * 
+   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+   *         is implemented, the authorization will be more substantial.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataSystemException
+   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+   *       rather an Airavata Administrator will be notified to take corrective action.
+   * 
+   * 
+   * @param string $airavataExperimentId
+   * @param string $airavataCredStoreToken
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\LaunchValidationException
+   */
   public function launchExperiment($airavataExperimentId, $airavataCredStoreToken);
+  /**
+   * @param string $airavataExperimentId
+   * @return \Airavata\Model\Workspace\Experiment\ExperimentStatus
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getExperimentStatus($airavataExperimentId);
+  /**
+   * @param string $airavataExperimentId
+   * @return \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getExperimentOutputs($airavataExperimentId);
+  /**
+   * @param string $airavataExperimentId
+   * @return \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getIntermediateOutputs($airavataExperimentId);
+  /**
+   * @param string $airavataExperimentId
+   * @return array
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getJobStatuses($airavataExperimentId);
+  /**
+   * @param string $airavataExperimentId
+   * @return \Airavata\Model\Workspace\Experiment\JobDetails[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getJobDetails($airavataExperimentId);
+  /**
+   * @param string $airavataExperimentId
+   * @return \Airavata\Model\Workspace\Experiment\DataTransferDetails[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getDataTransferDetails($airavataExperimentId);
+  /**
+   * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+   *   The client has to subsequently update this configuration if needed and launch the cloned experiment.
+   * 
+   * @param newExperimentName
+   *    experiment name that should be used in the cloned experiment
+   * 
+   * @param updatedExperiment
+   *    Once an experiment is cloned, to disambiguate, the users are suggested to provide new metadata. This will again require
+   *      the basic experiment metadata like the name and description, intended user, the gateway identifier and if the experiment
+   *      should be shared public by default.
+   * 
+   * @return
+   *   The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+   * 
+   * @throws org.apache.airavata.model.error.InvalidRequestException
+   *    For any incorrect forming of the request itself.
+   * 
+   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataClientException
+   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+   *      
+   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
+   *         gateway registration steps and retry this request.
+   * 
+   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+   *         For now this is a place holder.
+   * 
+   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+   *         is implemented, the authorization will be more substantial.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataSystemException
+   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+   *       rather an Airavata Administrator will be notified to take corrective action.
+   * 
+   * 
+   * @param string $existingExperimentID
+   * @param string $newExperimentName
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function cloneExperiment($existingExperimentID, $newExperimentName);
+  /**
+   * Terminate a running experiment.
+   * 
+   * @param airavataExperimentId
+   *    The identifier for the requested experiment. This is returned during the create experiment step.
+   * 
+   * @return
+   *   This method call does not have a return value.
+   * 
+   * @throws org.apache.airavata.model.error.InvalidRequestException
+   *    For any incorrect forming of the request itself.
+   * 
+   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataClientException
+   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+   *      
+   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
+   *         gateway registration steps and retry this request.
+   * 
+   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+   *         For now this is a place holder.
+   * 
+   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+   *         is implemented, the authorization will be more substantial.
+   * 
+   * @throws org.apache.airavata.model.error.AiravataSystemException
+   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+   *       rather an Airavata Administrator will be notified to take corrective action.
+   * 
+   * 
+   * @param string $airavataExperimentId
+   * @param string $tokenId
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function terminateExperiment($airavataExperimentId, $tokenId);
+  /**
+   * Register a Application Module.
+   * 
+   * @param applicationModule
+   *    Application Module Object created from the datamodel.
+   * 
+   * @return appModuleId
+   *   Returns a server-side generated airavata appModule globally unique identifier.
+   * 
+   * 
+   * @param string $gatewayId
+   * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function registerApplicationModule($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
+  /**
+   * Fetch a Application Module.
+   * 
+   * @param appModuleId
+   *   The identifier for the requested application module
+   * 
+   * @return applicationModule
+   *   Returns a application Module Object.
+   * 
+   * 
+   * @param string $appModuleId
+   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule Application Module Information. A module has to be registered before registering a deployment.
+   * 
+   * appModuleId: Airavata Internal Unique Job ID. This is set by the registry.
+   * 
+   * appModuleName:
+   *   Name of the application module.
+   * 
+   * appModuleVersion:
+   *   Version of the application.
+   * 
+   * appModuleDescription:
+   *    Descriprion of the Module
+   * 
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getApplicationModule($appModuleId);
+  /**
+   * Update a Application Module.
+   * 
+   * @param appModuleId
+   *   The identifier for the requested application module to be updated.
+   * 
+   * @param applicationModule
+   *    Application Module Object created from the datamodel.
+   * 
+   * @return status
+   *   Returns a success/failure of the update.
+   * 
+   * 
+   * @param string $appModuleId
+   * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateApplicationModule($appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
+  /**
+   * @param string $gatewayId
+   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllAppModules($gatewayId);
+  /**
+   * Delete a Application Module.
+   * 
+   * @param appModuleId
+   *   The identifier for the requested application module to be deleted.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param string $appModuleId
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function deleteApplicationModule($appModuleId);
+  /**
+   * Register a Application Deployment.
+   * 
+   * @param applicationModule
+   *    Application Module Object created from the datamodel.
+   * 
+   * @return appDeploymentId
+   *   Returns a server-side generated airavata appDeployment globally unique identifier.
+   * 
+   * 
+   * @param string $gatewayId
+   * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function registerApplicationDeployment($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
+  /**
+   * Fetch a Application Deployment.
+   * 
+   * @param appDeploymentId
+   *   The identifier for the requested application module
+   * 
+   * @return applicationDeployment
+   *   Returns a application Deployment Object.
+   * 
+   * 
+   * @param string $appDeploymentId
+   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription Application Deployment Description
+   * 
+   * appDeploymentId: Airavata Internal Unique Job ID. This is set by the registry.
+   * 
+   * appModuleName:
+   *   Application Module Name. This has to be precise describing the binary.
+   * 
+   * computeHostId:
+   *   This ID maps application deployment to a particular resource previously described within Airavata.
+   *   Example: Stampede is first registered and refered when registering WRF.
+   * 
+   * moduleLoadCmd:
+   *  Command string to load modules. This will be placed in the job submisison
+   *  Ex: module load amber
+   * 
+   * libPrependPaths:
+   *  prepend to a path variable the value
+   * 
+   * libAppendPaths:
+   *  append to a path variable the value
+   * 
+   * setEnvironment:
+   *  assigns to the environment variable "NAME" the value
+   * 
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getApplicationDeployment($appDeploymentId);
+  /**
+   * Update a Application Deployment.
+   * 
+   * @param appDeploymentId
+   *   The identifier for the requested application deployment to be updated.
+   * 
+   * @param appDeployment
+   *    Application Deployment Object created from the datamodel.
+   * 
+   * @return status
+   *   Returns a success/failure of the update.
+   * 
+   * 
+   * @param string $appDeploymentId
+   * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateApplicationDeployment($appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
+  /**
+   * Delete a Application deployment.
+   * 
+   * @param appDeploymentId
+   *   The identifier for the requested application deployment to be deleted.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param string $appDeploymentId
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function deleteApplicationDeployment($appDeploymentId);
+  /**
+   * Fetch all Application Deployment Descriptions.
+   * 
+   * @return list<applicationDeployment.
+   *   Returns the list of all application Deployment Objects.
+   * 
+   * 
+   * @param string $gatewayId
+   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllApplicationDeployments($gatewayId);
+  /**
+   * Fetch a list of Deployed Compute Hosts.
+   * 
+   * @param appModuleId
+   *   The identifier for the requested application module
+   * 
+   * @return list<string>
+   *   Returns a list of Deployed Resources.
+   * 
+   * 
+   * @param string $appModuleId
+   * @return string[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAppModuleDeployedResources($appModuleId);
+  /**
+   * Register a Application Interface.
+   * 
+   * @param applicationModule
+   *    Application Module Object created from the datamodel.
+   * 
+   * @return appInterfaceId
+   *   Returns a server-side generated airavata application interface globally unique identifier.
+   * 
+   * 
+   * @param string $gatewayId
+   * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function registerApplicationInterface($gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
+  /**
+   * Fetch a Application Interface.
+   * 
+   * @param appInterfaceId
+   *   The identifier for the requested application module
+   * 
+   * @return applicationInterface
+   *   Returns a application Interface Object.
+   * 
+   * 
+   * 
+   * @param string $appInterfaceId
+   * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription Application Interface Description
+   * 
+   * applicationModules:
+   *   Associate all application modules with versions which interface is applicable to.
+   * 
+   * applicationInputs:
+   *   Inputs to be passed to the application
+   * 
+   * applicationOutputs:
+   *   Outputs generated from the application
+   * 
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getApplicationInterface($appInterfaceId);
+  /**
+   * Update a Application Interface.
+   * 
+   * @param appInterfaceId
+   *   The identifier for the requested application deployment to be updated.
+   * 
+   * @param appInterface
+   *    Application Interface Object created from the datamodel.
+   * 
+   * @return status
+   *   Returns a success/failure of the update.
+   * 
+   * 
+   * 
+   * @param string $appInterfaceId
+   * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateApplicationInterface($appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
+  /**
+   * Delete a Application Interface.
+   * 
+   * @param appInterfaceId
+   *   The identifier for the requested application interface to be deleted.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * 
+   * @param string $appInterfaceId
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function deleteApplicationInterface($appInterfaceId);
+  /**
+   * Fetch name and id of  Application Interface documents.
+   * 
+   * 
+   * @return map<applicationId, applicationInterfaceNames>
+   *   Returns a list of application interfaces with corresponsing id's
+   * 
+   * 
+   * @param string $gatewayId
+   * @return array
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllApplicationInterfaceNames($gatewayId);
+  /**
+   * Fetch all Application Interface documents.
+   * 
+   * 
+   * @return map<applicationId, applicationInterfaceNames>
+   *   Returns a list of application interfaces documents
+   * 
+   * 
+   * @param string $gatewayId
+   * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllApplicationInterfaces($gatewayId);
+  /**
+   * Fetch the list of Application Inputs.
+   * 
+   * @param appInterfaceId
+   *   The identifier for the requested application interface
+   * 
+   * @return list<application_interface_model.InputDataObjectType>
+   *   Returns a list of application inputs.
+   * 
+   * 
+   * @param string $appInterfaceId
+   * @return \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getApplicationInputs($appInterfaceId);
+  /**
+   * Fetch the list of Application Outputs.
+   * 
+   * @param appInterfaceId
+   *   The identifier for the requested application interface
+   * 
+   * @return list<application_interface_model.OutputDataObjectType>
+   *   Returns a list of application outputs.
+   * 
+   * 
+   * @param string $appInterfaceId
+   * @return \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getApplicationOutputs($appInterfaceId);
+  /**
+   * Fetch a list of all deployed Compute Hosts for a given application interfaces.
+   * 
+   * @param appInterfaceId
+   *   The identifier for the requested application interface
+   * 
+   * @return map<computeResourceId, computeResourceName>
+   *   A map of registered compute resource id's and their corresponding hostnames.
+   *    Deployments of each modules listed within the interfaces will be listed.
+   * 
+   * 
+   * @param string $appInterfaceId
+   * @return array
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAvailableAppInterfaceComputeResources($appInterfaceId);
+  /**
+   * Register a Compute Resource.
+   * 
+   * @param computeResourceDescription
+   *    Compute Resource Object created from the datamodel.
+   * 
+   * @return computeResourceId
+   *   Returns a server-side generated airavata compute resource globally unique identifier.
+   * 
+   * 
+   * @param \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function registerComputeResource(\Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
+  /**
+   * Fetch the given Compute Resource.
+   * 
+   * @param computeResourceId
+   *   The identifier for the requested compute resource
+   * 
+   * @return computeResourceDescription
+   *    Compute Resource Object created from the datamodel..
+   * 
+   * 
+   * @param string $computeResourceId
+   * @return \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription Computational Resource Description
+   * 
+   * computeResourceId: Airavata Internal Unique Identifier to distinguish Compute Resource.
+   * 
+   * hostName:
+   *   Fully Qualified Host Name.
+   * 
+   * hostAliases:
+   *   Aliases if any.
+   * 
+   * ipAddress:
+   *   IP Addresses of the Resource.
+   * 
+   * resourceDescription:
+   *  A user friendly description of the resource.
+   * 
+   * JobSubmissionProtocols:
+   *  A computational resources may have one or more ways of submitting Jobs. This structure
+   *    will hold all available mechanisms to interact with the resource.
+   *  The key is the priority
+   * 
+   * DataMovementProtocol:
+   *  Option to specify a prefered data movement mechanism of the available options.
+   * 
+   * fileSystems:
+   *  Map of file systems type and the path.
+   * 
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getComputeResource($computeResourceId);
+  /**
+   * Fetch all registered Compute Resources.
+   * 
+   * @return A map of registered compute resource id's and thier corresponding hostnames.
+   *    Compute Resource Object created from the datamodel..
+   * 
+   * 
+   * @return array
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getAllComputeResourceNames();
+  /**
+   * Update a Compute Resource.
+   * 
+   * @param computeResourceId
+   *   The identifier for the requested compute resource to be updated.
+   * 
+   * @param computeResourceDescription
+   *    Compute Resource Object created from the datamodel.
+   * 
+   * @return status
+   *   Returns a success/failure of the update.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @param \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateComputeResource($computeResourceId, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
+  /**
+   * Delete a Compute Resource.
+   * 
+   * @param computeResourceId
+   *   The identifier for the requested compute resource to be deleted.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function deleteComputeResource($computeResourceId);
+  /**
+   * Add a Local Job Submission details to a compute resource
+   *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+   * 
+   * @param computeResourceId
+   *   The identifier of the compute resource to which JobSubmission protocol to be added
+   * 
+   * @param priorityOrder
+   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+   * 
+   * @param localSubmission
+   *   The LOCALSubmission object to be added to the resource.
+   * 
+   * @return status
+   *   Returns the unique job submission id.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @param int $priorityOrder
+   * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function addLocalSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
+  /**
+   * Update the given Local Job Submission details
+   * 
+   * @param jobSubmissionInterfaceId
+   *   The identifier of the JobSubmission Interface to be updated.
+   * 
+   * @param localSubmission
+   *   The LOCALSubmission object to be updated.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param string $jobSubmissionInterfaceId
+   * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateLocalSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
+  /**
+   * This method returns localJobSubmission object
+   * @param jobSubmissionInterfaceId
+   *   The identifier of the JobSubmission Interface to be retrieved.
+   *  @return LOCALSubmission instance
+   * 
+   * 
+   * @param string $jobSubmissionId
+   * @return \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission Locally Fork Jobs as OS processes
+   * 
+   * alternativeSSHHostName:
+   *  If the login to ssh is different than the hostname itself, specify it here
+   * 
+   * sshPort:
+   *  If a non-default port needs to used, specify it.
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getLocalJobSubmission($jobSubmissionId);
+  /**
+   * Add a SSH Job Submission details to a compute resource
+   *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+   * 
+   * @param computeResourceId
+   *   The identifier of the compute resource to which JobSubmission protocol to be added
+   * 
+   * @param priorityOrder
+   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+   * 
+   * @param sshJobSubmission
+   *   The SSHJobSubmission object to be added to the resource.
+   * 
+   * @return status
+   *   Returns the unique job submission id.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @param int $priorityOrder
+   * @param \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function addSSHJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
+  /**
+   * This method returns SSHJobSubmission object
+   * @param jobSubmissionInterfaceId
+   *   The identifier of the JobSubmission Interface to be retrieved.
+   *  @return SSHJobSubmission instance
+   * 
+   * 
+   * @param string $jobSubmissionId
+   * @return \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission Authenticate using Secured Shell
+   * 
+   * alternativeSSHHostName:
+   *  If the login to ssh is different than the hostname itself, specify it here
+   * 
+   * sshPort:
+   *  If a non-default port needs to used, specify it.
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getSSHJobSubmission($jobSubmissionId);
+  /**
+   * Add a UNICORE Job Submission details to a compute resource
+   *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+   * 
+   * @param computeResourceId
+   *   The identifier of the compute resource to which JobSubmission protocol to be added
+   * 
+   * @param priorityOrder
+   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+   * 
+   * @param unicoreJobSubmission
+   *   The UnicoreJobSubmission object to be added to the resource.
+   * 
+   * @return status
+   *  Returns the unique job submission id.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @param int $priorityOrder
+   * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function addUNICOREJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
+  /**
+   *   * This method returns UnicoreJobSubmission object
+   *   * @param jobSubmissionInterfaceId
+   *   *   The identifier of the JobSubmission Interface to be retrieved.
+   *   *  @return UnicoreJobSubmission instance
+   * *
+   * 
+   * @param string $jobSubmissionId
+   * @return \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission Unicore Job Submission
+   * 
+   * unicoreEndPointURL:
+   *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
+   * authenticationMode
+   *  The authenticationMode defines the way certificate is fetched.
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getUnicoreJobSubmission($jobSubmissionId);
+  /**
+   *    * Add a Cloud Job Submission details to a compute resource
+   *    *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+   *    *
+   *    * @param computeResourceId
+   *    *   The identifier of the compute resource to which JobSubmission protocol to be added
+   *    *
+   *    * @param priorityOrder
+   *    *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+   *    *
+   *    * @param sshJobSubmission
+   *    *   The SSHJobSubmission object to be added to the resource.
+   *    *
+   *    * @return status
+   *    *   Returns the unique job submission id.
+   * *
+   * 
+   * @param string $computeResourceId
+   * @param int $priorityOrder
+   * @param \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function addCloudJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission);
+  /**
+   *    * This method returns cloudJobSubmission object
+   *    * @param jobSubmissionInterfaceI
+   *        *   The identifier of the JobSubmission Interface to be retrieved.
+   *    *  @return CloudJobSubmission instance
+   * *
+   * 
+   * @param string $jobSubmissionId
+   * @return \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission Cloud Job Submission
+   * 
+   * 
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getCloudJobSubmission($jobSubmissionId);
+  /**
+   * Update the given SSH Job Submission details
+   * 
+   * @param jobSubmissionInterfaceId
+   *   The identifier of the JobSubmission Interface to be updated.
+   * 
+   * @param sshJobSubmission
+   *   The SSHJobSubmission object to be updated.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param string $jobSubmissionInterfaceId
+   * @param \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateSSHJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
+  /**
+   * Update the given SSH Job Submission details
+   * 
+   * @param jobSubmissionInterfaceId
+   *   The identifier of the JobSubmission Interface to be updated.
+   * 
+   * @param cloudJobSubmission
+   *   The CloudJobSubmission object to be updated.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param string $jobSubmissionInterfaceId
+   * @param \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateCloudJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission);
+  /**
+   * @param string $jobSubmissionInterfaceId
+   * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateUnicoreJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
+  /**
+   * Add a Local data movement details to a compute resource
+   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+   * 
+   * @param computeResourceId
+   *   The identifier of the compute resource to which JobSubmission protocol to be added
+   * 
+   * @param priorityOrder
+   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+   * 
+   * @param localDataMovement
+   *   The LOCALDataMovement object to be added to the resource.
+   * 
+   * @return status
+   *   Returns the unique job submission id.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @param int $priorityOrder
+   * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function addLocalDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
+  /**
+   * Update the given Local data movement details
+   * 
+   * @param dataMovementInterfaceId
+   *   The identifier of the data movement Interface to be updated.
+   * 
+   * @param localDataMovement
+   *   The LOCALDataMovement object to be updated.
+   * 
+   * @return status
+   *   Returns a success/failure of the update.
+   * 
+   * 
+   * @param string $dataMovementInterfaceId
+   * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateLocalDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
+  /**
+   *         * This method returns local datamovement object
+   *         * @param dataMovementId
+   *         *   The identifier of the datamovement Interface to be retrieved.
+   *         *  @return LOCALDataMovement instance
+   * *
+   * 
+   * @param string $dataMovementId
+   * @return \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement LOCAL
+   * 
+   * alternativeSCPHostName:
+   *  If the login to scp is different than the hostname itself, specify it here
+   * 
+   * sshPort:
+   *  If a non-defualt port needs to used, specify it.
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getLocalDataMovement($dataMovementId);
+  /**
+   * Add a SCP data movement details to a compute resource
+   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+   * 
+   * @param computeResourceId
+   *   The identifier of the compute resource to which JobSubmission protocol to be added
+   * 
+   * @param priorityOrder
+   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+   * 
+   * @param scpDataMovement
+   *   The SCPDataMovement object to be added to the resource.
+   * 
+   * @return status
+   *   Returns the unique job submission id.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @param int $priorityOrder
+   * @param \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function addSCPDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
+  /**
+   * Update the given scp data movement details
+   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+   * 
+   * @param dataMovementInterfaceId
+   *   The identifier of the data movement Interface to be updated.
+   * 
+   * @param scpDataMovement
+   *   The SCPDataMovement object to be updated.
+   * 
+   * @return status
+   *   Returns a success/failure of the update.
+   * 
+   * 
+   * @param string $dataMovementInterfaceId
+   * @param \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateSCPDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
+  /**
+   *   * This method returns SCP datamovement object
+   *   * @param dataMovementId
+   *      *   The identifier of the datamovement Interface to be retrieved.
+   *      *  @return SCPDataMovement instance
+   * *
+   * 
+   * @param string $dataMovementId
+   * @return \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement Data Movement through Secured Copy
+   * 
+   * alternativeSCPHostName:
+   *  If the login to scp is different than the hostname itself, specify it here
+   * 
+   * sshPort:
+   *  If a non-default port needs to used, specify it.
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getSCPDataMovement($dataMovementId);
+  /**
+   * @param string $computeResourceId
+   * @param int $priorityOrder
+   * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function addUnicoreDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
+  /**
+   * @param string $dataMovementInterfaceId
+   * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateUnicoreDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
+  /**
+   * @param string $dataMovementId
+   * @return \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement Data Movement through UnicoreStorage
+   * 
+   * unicoreEndPointURL:
+   *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getUnicoreDataMovement($dataMovementId);
+  /**
+   * Add a GridFTP data movement details to a compute resource
+   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+   * 
+   * @param computeResourceId
+   *   The identifier of the compute resource to which JobSubmission protocol to be added
+   * 
+   * @param priorityOrder
+   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+   * 
+   * @param gridFTPDataMovement
+   *   The GridFTPDataMovement object to be added to the resource.
+   * 
+   * @return status
+   *   Returns the unique job submission id.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @param int $priorityOrder
+   * @param \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function addGridFTPDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
+  /**
+   * Update the given GridFTP data movement details to a compute resource
+   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+   * 
+   * @param dataMovementInterfaceId
+   *   The identifier of the data movement Interface to be updated.
+   * 
+   * @param gridFTPDataMovement
+   *   The GridFTPDataMovement object to be updated.
+   * 
+   * @return status
+   *   Returns a success/failure of the updation.
+   * 
+   * 
+   * @param string $dataMovementInterfaceId
+   * @param \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function updateGridFTPDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
+  /**
+   *   * This method returns GridFTP datamovement object
+   *   * @param dataMovementId
+   *      *   The identifier of the datamovement Interface to be retrieved.
+   *   *  @return GridFTPDataMovement instance
+   * *
+   * 
+   * @param string $dataMovementId
+   * @return \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement Data Movement through GridFTP
+   * 
+   * alternativeSCPHostName:
+   *  If the login to scp is different than the hostname itself, specify it here
+   * 
+   * sshPort:
+   *  If a non-default port needs to used, specify it.
+   * 
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function getGridFTPDataMovement($dataMovementId);
+  /**
+   * Change the priority of a given job submisison interface
+   * 
+   * @param jobSubmissionInterfaceId
+   *   The identifier of the JobSubmission Interface to be changed
+   * 
+   * @param priorityOrder
+   *   The new priority of the job manager interface.
+   * 
+   * @return status
+   *   Returns a success/failure of the change.
+   * 
+   * 
+   * @param string $jobSubmissionInterfaceId
+   * @param int $newPriorityOrder
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function changeJobSubmissionPriority($jobSubmissionInterfaceId, $newPriorityOrder);
+  /**
+   * Change the priority of a given data movement interface
+   * 
+   * @param dataMovementInterfaceId
+   *   The identifier of the DataMovement Interface to be changed
+   * 
+   * @param priorityOrder
+   *   The new priority of the data movement interface.
+   * 
+   * @return status
+   *   Returns a success/failure of the change.
+   * 
+   * 
+   * @param string $dataMovementInterfaceId
+   * @param int $newPriorityOrder
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function changeDataMovementPriority($dataMovementInterfaceId, $newPriorityOrder);
-  public function changeJobSubmissionPriorities($jobSubmissionPriorityMap);
-  public function changeDataMovementPriorities($dataMovementPriorityMap);
+  /**
+   * Change the priorities of a given set of job submission interfaces
+   * 
+   * @param jobSubmissionPriorityMap
+   *   A Map of identifiers of the JobSubmission Interfaces and thier associated priorities to be set.
+   * 
+   * @return status
+   *   Returns a success/failure of the changes.
+   * 
+   * 
+   * @param array $jobSubmissionPriorityMap
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
+  public function changeJobSubmissionPriorities(array $jobSubmissionPriorityMap);
+  /**
+   * Change the priorities of a given set of data movement interfaces
+   * 
+   * @param dataMovementPriorityMap
+   *   A Map of identifiers of the DataMovement Interfaces and thier associated priorities to be set.
+   * 
+   * @return status
+   *   Returns a success/failure of the changes.
+   * 
+   * 
+   * @param array $dataMovementPriorityMap
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
+  public function changeDataMovementPriorities(array $dataMovementPriorityMap);
+  /**
+   * Delete a given job submisison interface
+   * 
+   * @param jobSubmissionInterfaceId
+   *   The identifier of the JobSubmission Interface to be changed
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @param string $jobSubmissionInterfaceId
+   * @return bool
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   */
   public function deleteJobSubmissionInterface($computeResourceId, $jobSubmissionInterfaceId);
+  /**
+   * Delete a given data movement interface
+   * 
+   * @param dataMovementInterfaceId
+   *   The identifier of the DataMovement Interface to be changed
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
+   * @param string $computeResourceId
+   * @p

<TRUNCATED>