airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chath...@apache.org
Subject [2/3] airavata-php-gateway git commit: updating libraries
Date Fri, 12 Feb 2016 16:28:23 GMT
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/f618ba49/app/libraries/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/API/Airavata.php b/app/libraries/Airavata/API/Airavata.php
index e9cec60..25e814c 100644
--- a/app/libraries/Airavata/API/Airavata.php
+++ b/app/libraries/Airavata/API/Airavata.php
@@ -194,6 +194,7 @@ interface AiravataIf {
    */
   public function getSSHPubKey(\Airavata\Model\Security\AuthzToken $authzToken, $airavataCredStoreToken, $gatewayId);
   /**
+   * 
    * Get a Public Key by Providing the Token
    * 
    * @param CredStoreToken
@@ -215,6 +216,7 @@ interface AiravataIf {
    */
   public function getAllUserSSHPubKeys(\Airavata\Model\Security\AuthzToken $authzToken, $userName);
   /**
+   * 
    * Get all Public Keys of the Gateway
    * 
    * @param CredStoreToken
@@ -236,6 +238,7 @@ interface AiravataIf {
    */
   public function getAllGatewaySSHPubKeys(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
+   * 
    * Delete a Gateway
    * 
    * @param gatewayId
@@ -256,6 +259,7 @@ interface AiravataIf {
    */
   public function deleteSSHPubKey(\Airavata\Model\Security\AuthzToken $authzToken, $airavataCredStoreToken, $gatewayId);
   /**
+   * 
    * Creates a Project with basic metadata.
    *    A Project is a container of experiments.
    * 
@@ -263,7 +267,7 @@ interface AiravataIf {
    *    The identifier for the requested gateway.
    * 
    * @param Project
-   *    The Project Object described in the workspace_model
+   *    The Project Object described in the workspace_model.
    * 
    * 
    * 
@@ -278,6 +282,7 @@ interface AiravataIf {
    */
   public function createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project);
   /**
+   * 
    * Update an Existing Project
    * 
    * @param projectId
@@ -299,14 +304,15 @@ interface AiravataIf {
    */
   public function updateProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, \Airavata\Model\Workspace\Project $updatedProject);
   /**
+   * 
    * Get a Project by ID
-   *    This method is to obtain a project by providing a projectId
+   *    This method is to obtain a project by providing a projectId.
    * 
    * @param projectId
-   *    projectId of the project you require
+   *    projectId of the project you require.
    * 
    * @return project
-   *    project data model will be returned
+   *    project data model will be returned.
    * 
    * 
    * 
@@ -321,15 +327,18 @@ interface AiravataIf {
    */
   public function getProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
   /**
+   * 
    * Delete a Project
-   *    This method is used to delete an existing Project
+   *    This method is used to delete an existing Project.
    * 
    * @param projectId
-   *    projectId of the project you want to delete
+   *    projectId of the project you want to delete.
    * 
    * @return boolean
    *    Boolean identifier for the success or failure of the deletion operation.
    * 
+   *    NOTE: This method is not used within gateways connected with Airavata.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -343,20 +352,21 @@ interface AiravataIf {
    */
   public function deleteProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
   /**
-   * Get all Project by user with pagination. Results will be ordered based
-   * on creation time DESC
+   * 
+   * Get All User Projects
+   * Get all Project for the 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
+   *    The identifier of the user.
    * 
    * @param limit
-   *    The amount results to be fetched
+   *    The amount results to be fetched.
    * 
    * @param offset
-   *    The starting point of the results to be fetched
+   *    The starting point of the results to be fetched.
    * 
    * 
    * 
@@ -373,19 +383,25 @@ interface AiravataIf {
    */
   public function getUserProjects(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset);
   /**
-   * Get all Project for user by project name with pagination.Results will be ordered based
-   * on creation time DESC
+   * 
+   * Search User Projects by Project Name
+   * 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.
+   *    The unique identifier for the requested gateway.
+   * 
    * @param userName
-   *    The identifier of the user
+   *    The identifier of the user.
+   * 
    * @param projectName
-   *    The name of the project on which the results to be fetched
+   *    The name of the project on which the results to be fetched.
+   * 
    * @param limit
-   *    The amount results to be fetched
+   *    The amount results to be fetched.
+   * 
    * @param offset
-   *    The starting point of the results to be fetched
+   *    The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -402,19 +418,25 @@ interface AiravataIf {
    */
   public function searchProjectsByProjectName(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $projectName, $limit, $offset);
   /**
-   * Search and get all Projects for user by project description with pagination. Results
-   * will be ordered based on creation time DESC
+   * 
+   * Search User Projects by Project 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.
+   *    The unique identifier of the gateway making the request.
+   * 
    * @param userName
-   *    The identifier of the user
+   *    The identifier of the user.
+   * 
    * @param description
-   *    The description to be matched
+   *    The description to be matched.
+   * 
    * @param limit
-   *    The amount results to be fetched
+   *    The amount results to be fetched.
+   * 
    * @param offset
-   *    The starting point of the results to be fetched
+   *    The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -431,19 +453,25 @@ interface AiravataIf {
    */
   public function searchProjectsByProjectDesc(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $description, $limit, $offset);
   /**
-   * Search Experiments by experiment name with pagination. Results will be sorted
-   * based on creation time DESC
+   * 
+   * Search User Experiments by Name
+   * Search user Experiments using experiment name with pagination. Results will be sorted based on creation time DESC.
    * 
    * @param gatewayId
-   *       Identifier of the requested gateway
+   *       Unique identifier of the requested gateway.
+   * 
    * @param userName
-   *       Username of the requested user
+   *       Username of the user who created the experiments.
+   * 
    * @param expName
-   *       Experiment name to be matched
+   *       Experiment name to be matched.
+   * 
    * @param limit
-   *       Amount of results to be fetched
+   *       Amount of results to be fetched.
+   * 
    * @param offset
-   *       The starting point of the results to be fetched
+   *       The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -460,19 +488,25 @@ interface AiravataIf {
    */
   public function searchExperimentsByName(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $expName, $limit, $offset);
   /**
-   * Search Experiments by experiment name with pagination. Results will be sorted
-   * based on creation time DESC
+   * 
+   * Search By Experiment Description
+   * Search Experiments by experiment description with pagination. Results will be sorted based on creation time DESC.
    * 
    * @param gatewayId
-   *       Identifier of the requested gateway
+   *       Unique identifier of the requested gateway.
+   * 
    * @param userName
-   *       Username of the requested user
+   *       Username of the requested user.
+   * 
    * @param description
-   *       Experiment description to be matched
+   *       Experiment description to be matched.
+   * 
    * @param limit
-   *       Amount of results to be fetched
+   *       Amount of results to be fetched.
+   * 
    * @param offset
-   *       The starting point of the results to be fetched
+   *       The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -489,19 +523,25 @@ interface AiravataIf {
    */
   public function searchExperimentsByDesc(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $description, $limit, $offset);
   /**
-   * Search Experiments by application id with pagination. Results will be sorted
-   * based on creation time DESC
+   * 
+   * Search Experiment By the Application
+   * Search Experiments of a particular application id with pagination. Results will be sorted based on creation time DESC
    * 
    * @param gatewayId
-   *       Identifier of the requested gateway
+   *       Unique identifier of the requested gateway.
+   * 
    * @param userName
-   *       Username of the requested user
+   *       Username of the requested user.
+   * 
    * @param applicationId
-   *       Application id to be matched
+   *       Application id to be matched.
+   * 
    * @param limit
-   *       Amount of results to be fetched
+   *       Amount of results to be fetched.
+   * 
    * @param offset
-   *       The starting point of the results to be fetched
+   *       The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -518,19 +558,25 @@ interface AiravataIf {
    */
   public function searchExperimentsByApplication(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $applicationId, $limit, $offset);
   /**
-   * Search Experiments by experiment status with pagination. Results will be sorted
-   * based on creation time DESC
+   * 
+   * Search User Experiments by Status
+   * Search all the Experiments of the given user  by experiment status with pagination. Results will be sorted based on creation time DESC
    * 
    * @param gatewayId
-   *       Identifier of the requested gateway
+   *       Unique identifier of the requested gateway.
+   * 
    * @param userName
-   *       Username of the requested user
+   *       Username of the user making the request.
+   * 
    * @param experimentState
-   *       Experiement state to be matched
+   *       Experiement state to be matched.
+   * 
    * @param limit
-   *       Amount of results to be fetched
+   *       Amount of results to be fetched.
+   * 
    * @param offset
-   *       The starting point of the results to be fetched
+   *       The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -547,21 +593,31 @@ interface AiravataIf {
    */
   public function searchExperimentsByStatus(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $experimentState, $limit, $offset);
   /**
-   * Search Experiments by experiment creation time with pagination. Results will be sorted
-   * based on creation time DESC
+   * 
+   * Search User Experiments by the Creation Time
+   * This will search all the experiments of the given user by experiment creation time with pagination. Results will be sorted based on creation time DESC.
    * 
    * @param gatewayId
-   *       Identifier of the requested gateway
+   *       Unique identifier of the requested gateway.
+   * 
    * @param userName
-   *       Username of the requested user
+   *       Username of the requested user.
+   * 
    * @param fromTime
-   *       Start time of the experiments creation time
+   *       Start time of the experiments creation time.
+   * 
    * @param toTime
-   *       End time of the  experiement creation time
+   *       End time of the  experiement creation time.
+   * 
    * @param limit
-   *       Amount of results to be fetched
+   *       Amount of results to be fetched.
+   * 
    * @param offset
-   *       The starting point of the results to be fetched
+   *       The starting point of the results to be fetched.
+   * 
+   * @return ExperimentSummaryModel
+   *    List of experiments for the given search filter. Here only the Experiment summary will be returned.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -579,19 +635,27 @@ interface AiravataIf {
    */
   public function searchExperimentsByCreationTime(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
   /**
-   * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
-   * based on creation time DESC
+   * Search Experiments.
+   * 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
+   *       Identifier of the requested gateway.
+   * 
    * @param userName
-   *       Username of the requested user
+   *       Username of the user requesting the search function.
+   * 
    * @param filters
-   *       map of multiple filter criteria.
+   *       Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
+   * 
    * @param limit
-   *       Amount of results to be fetched
+   *       Amount of results to be fetched.
+   * 
    * @param offset
-   *       The starting point of the results to be fetched
+   *       The starting point of the results to be fetched.
+   * 
+   * @return ExperimentSummaryModel
+   *    List of experiments for the given search filter. Here only the Experiment summary will be returned.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -608,13 +672,19 @@ interface AiravataIf {
    */
   public function searchExperiments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, array $filters, $limit, $offset);
   /**
-   * Get Experiment Statisitics for the given gateway for a specific time period
+   * 
+   * Get Experiment Statistics
+   * Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
+   * 
    * @param gatewayId
-   *       Identifier of the requested gateway
+   *       Unique identifier of the gateway making the request to fetch statistics.
+   * 
    * @param fromTime
-   *       Starting date time
+   *       Starting date time.
+   * 
    * @param toTime
-   *       Ending data time
+   *       Ending data time.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -629,15 +699,19 @@ interface AiravataIf {
    */
   public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime);
   /**
-   * Get Experiments within project with pagination. Results will be sorted
-   * based on creation time DESC
+   * 
+   * Get All Experiments of the Project
+   * Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
    * 
    * @param projectId
-   *       Identifier of the project
+   *       Uniqie identifier of the project.
+   * 
    * @param limit
-   *       Amount of results to be fetched
+   *       Amount of results to be fetched.
+   * 
    * @param offset
-   *       The starting point of the results to be fetched
+   *       The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -653,17 +727,22 @@ interface AiravataIf {
    */
   public function getExperimentsInProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, $limit, $offset);
   /**
-   * Get experiments by user with pagination. Results will be sorted
-   * based on creation time DESC
+   * 
+   * Get All Experiments of the User
+   * Get experiments by user with pagination. Results will be sorted based on creation time DESC.
    * 
    * @param gatewayId
-   *       Identifier of the requesting gateway
+   *       Identifier of the requesting gateway.
+   * 
    * @param userName
-   *       Username of the requested user
+   *       Username of the requested end user.
+   * 
    * @param limit
-   *       Amount of results to be fetched
+   *       Amount of results to be fetched.
+   * 
    * @param offset
-   *       The starting point of the results to be fetched
+   *       The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -679,12 +758,17 @@ interface AiravataIf {
    */
   public function getUserExperiments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset);
   /**
+   *   *
+   *   * Create New Experiment
    *   * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
    *   *   but inferred from the sshKeyAuthentication 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
+   *   * @param gatewayId
+   *   *    The unique ID of the gateway where the experiment is been created.
+   *   *
+   *   * @param ExperimentModel
    *   *    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.
@@ -725,8 +809,8 @@ interface AiravataIf {
    */
   public function createExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Experiment\ExperimentModel $experiment);
   /**
-   * Delete an Experiment
    * 
+   * Delete an Experiment
    * If the experiment is not already launched experiment can be deleted.
    * 
    * @param authzToken
@@ -735,7 +819,7 @@ interface AiravataIf {
    *     Experiment ID of the experimnet you want to delete.
    * 
    * @return boolean
-   *     Identifier for the success or failure of the deletion operation
+   *     Identifier for the success or failure of the deletion operation.
    * 
    * 
    * 
@@ -749,12 +833,14 @@ interface AiravataIf {
    */
   public function deleteExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $experimentId);
   /**
+   *   *
+   *   * Get Experiment
    *   * Fetch previously created experiment metadata.
    *   *
    *   * @param airavataExperimentId
-   *   *    The identifier for the requested experiment. This is returned during the create experiment step.
+   *   *    The unique identifier of the requested experiment. This ID is returned during the create experiment step.
    *   *
-   *   * @return experimentMetada
+   *   * @return ExperimentModel
    *   *   This method will return the previously stored experiment metadata.
    *   *
    *   * @throws org.apache.airavata.model.error.InvalidRequestException
@@ -807,14 +893,17 @@ interface AiravataIf {
    */
   public function getExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
+   * 
+   * Get Complete Experiment Details
    * Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
    * tasks -> jobs information.
    * 
    * @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.
+   * @return ExperimentModel
+   *   This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
+   *   information, special input output handling and additional quality of service parameters.
    * 
    * @throws org.apache.airavata.model.error.InvalidRequestException
    *    For any incorrect forming of the request itself.
@@ -865,14 +954,15 @@ interface AiravataIf {
    */
   public function getDetailedExperimentTree(\Airavata\Model\Security\AuthzToken $authzToken, $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.
+   * 
+   * Update a Previously Created Experiment
+   * Configure the 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
+   * @param ExperimentModel
    *    The configuration information of the experiment with application input parameters, computational resource scheduling
    *      information, special input output handling and additional quality of service parameters.
    * 
@@ -929,13 +1019,14 @@ interface AiravataIf {
   public function updateResourceScheduleing(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling);
   /**
    *  *
-   *  * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
-   *  *
-   *  * @param experimentId
+   *  * Validate experiment configuration.
+   *  * A true in general indicates, the experiment is ready to be launched.
    *  *
+   *  * @param airavataExperimentId
+   *  *    Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
    *  *
    *  * @return boolean
-   *  *      Identifier for the success or failure of the validation operation
+   *  *      Identifier for the success or failure of the validation operation.
    *  *
    * *
    * 
@@ -950,8 +1041,12 @@ interface AiravataIf {
    */
   public function validateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $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.
+   * 
+   * Launch a Previously Created & 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.
+   * 
+   * @gatewayId
+   *    ID of the gateway which will launch the experiment.
    * 
    * @param airavataExperimentId
    *    The identifier for the requested experiment. This is returned during the create experiment step.
@@ -994,17 +1089,18 @@ interface AiravataIf {
    */
   public function launchExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $gatewayId);
   /**
+   * 
    * Get Experiment Status
    * 
-   * Obtain the status os an experiment by providing the Experiment Id
+   * Obtain the status of an experiment by providing the Experiment Id
    * 
    * @param authzToken
    * 
-   * @param experiementId
-   *     Experiment ID of the experimnet you require the status
+   * @param airavataExperimentId
+   *     Experiment ID of the experimnet you require the status.
    * 
    * @return ExperimentStatus
-   *     ExperimentStatus model with current status will be returned.
+   *     ExperimentStatus model with the current status will be returned.
    * 
    * 
    * 
@@ -1030,16 +1126,17 @@ interface AiravataIf {
    */
   public function getExperimentStatus(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
+   * 
    * Get Experiment Outputs
-   * This method to be used when need to obtain outputs of a certain Experiment
+   * This method to be used when need to obtain final outputs of a certain Experiment
    * 
    * @param authzToken
    * 
-   * @param experiementId
-   *     Experiment ID of the experimnet you need the outputs
+   * @param airavataExperimentId
+   *     Experiment ID of the experimnet you need the outputs.
    * 
    * @return list
-   *     List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+   *     List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
    * 
    * 
    * 
@@ -1054,16 +1151,17 @@ interface AiravataIf {
    */
   public function getExperimentOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
+   * 
    * Get Intermediate Experiment Outputs
    * This method to be used when need to obtain intermediate outputs of a certain Experiment
    * 
    * @param authzToken
    * 
-   * @param experiementId
-   *     Experiment ID of the experimnet you need the intermediate outputs
+   * @param airavataExperimentId
+   *     Experiment ID of the experimnet you need intermediate outputs.
    * 
    * @return list
-   *     List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+   *     List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
    * 
    * 
    * 
@@ -1078,13 +1176,14 @@ interface AiravataIf {
    */
   public function getIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
-   * Get Job Status for an Experiment
+   * 
+   * Get Job Statuses for an Experiment
    * This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
    * 
    * @param authzToken
    * 
    * @param experiementId
-   *     Experiment ID of the experimnet you need the intermediate outputs
+   *     Experiment ID of the experimnet you need the job statuses.
    * 
    * @return JobStatus
    *     Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
@@ -1102,16 +1201,17 @@ interface AiravataIf {
    */
   public function getJobStatuses(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
-   * Get Job Details for all the jobs within an Experiment
+   * 
+   * Get Job Details for all the jobs within an Experiment.
    * This method to be used when need to get the job details for one or many jobs of an Experiment.
    * 
    * @param authzToken
    * 
    * @param experiementId
-   *     Experiment ID of the experimnet you need job details
+   *     Experiment ID of the experimnet you need job details.
    * 
    * @return list of JobDetails
-   *     Job details
+   *     Job details.
    * 
    * 
    * 
@@ -1126,7 +1226,9 @@ interface AiravataIf {
    */
   public function getJobDetails(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
-   * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+   * 
+   * Clone an Existing Experiment
+   * Existing specified experiment is cloned and a new name is provided. 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
@@ -1138,7 +1240,7 @@ interface AiravataIf {
    *      should be shared public by default.
    * 
    * @return
-   *   The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+   *   The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
    * 
    * @throws org.apache.airavata.model.error.InvalidRequestException
    *    For any incorrect forming of the request itself.
@@ -1176,12 +1278,16 @@ interface AiravataIf {
    */
   public function cloneExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $existingExperimentID, $newExperimentName);
   /**
-   * Terminate a running experiment.
+   * 
+   * Terminate a running Experiment.
+   * 
+   * @gatewayId
+   *    ID of the gateway which will terminate the running Experiment.
    * 
    * @param airavataExperimentId
-   *    The identifier for the requested experiment. This is returned during the create experiment step.
+   *    The identifier of the experiment required termination. This ID is returned during the create experiment step.
    * 
-   * @return
+   * @return status
    *   This method call does not have a return value.
    * 
    * @throws org.apache.airavata.model.error.InvalidRequestException
@@ -1219,13 +1325,17 @@ interface AiravataIf {
    */
   public function terminateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $gatewayId);
   /**
+   * 
    * Register a Application Module.
    * 
+   * @gatewayId
+   *    ID of the gateway which is registering the new Application Module.
+   * 
    * @param applicationModule
    *    Application Module Object created from the datamodel.
    * 
    * @return appModuleId
-   *   Returns a server-side generated airavata appModule globally unique identifier.
+   *   Returns the server-side generated airavata appModule globally unique identifier.
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1239,13 +1349,14 @@ interface AiravataIf {
    */
   public function registerApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
   /**
+   * 
    * Fetch a Application Module.
    * 
    * @param appModuleId
-   *   The identifier for the requested application module
+   *   The unique identifier of the application module required
    * 
    * @return applicationModule
-   *   Returns a application Module Object.
+   *   Returns an Application Module Object.
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1271,6 +1382,7 @@ interface AiravataIf {
    */
   public function getApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
   /**
+   * 
    * Update a Application Module.
    * 
    * @param appModuleId
@@ -1294,6 +1406,16 @@ interface AiravataIf {
    */
   public function updateApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
   /**
+   * 
+   * Fetch all Application Module Descriptions.
+   * 
+   * @param gatewayId
+   *    ID of the gateway which need to list all available application deployment documentation.
+   * 
+   * @return list
+   *    Returns the list of all Application Module Objects.
+   * 
+   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule[]
@@ -1304,10 +1426,11 @@ interface AiravataIf {
    */
   public function getAllAppModules(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
-   * Delete a Application Module.
+   * 
+   * Delete an Application Module.
    * 
    * @param appModuleId
-   *   The identifier for the requested application module to be deleted.
+   *   The identifier of the Application Module to be deleted.
    * 
    * @return status
    *   Returns a success/failure of the deletion.
@@ -1323,9 +1446,13 @@ interface AiravataIf {
    */
   public function deleteApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
   /**
-   * Register a Application Deployment.
    * 
-   * @param applicationModule
+   * Register an Application Deployment.
+   * 
+   * @param gatewayId
+   *    ID of the gateway which is registering the new Application Deployment.
+   * 
+   * @param applicationDeployment
    *    Application Module Object created from the datamodel.
    * 
    * @return appDeploymentId
@@ -1343,6 +1470,7 @@ interface AiravataIf {
    */
   public function registerApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
   /**
+   * 
    * Fetch a Application Deployment.
    * 
    * @param appDeploymentId
@@ -1386,10 +1514,11 @@ interface AiravataIf {
    */
   public function getApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
   /**
-   * Update a Application Deployment.
+   * 
+   * Update an Application Deployment.
    * 
    * @param appDeploymentId
-   *   The identifier for the requested application deployment to be updated.
+   *   The identifier of the requested application deployment to be updated.
    * 
    * @param appDeployment
    *    Application Deployment Object created from the datamodel.
@@ -1409,10 +1538,11 @@ interface AiravataIf {
    */
   public function updateApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
   /**
-   * Delete a Application deployment.
+   * 
+   * Delete an Application Deployment.
    * 
    * @param appDeploymentId
-   *   The identifier for the requested application deployment to be deleted.
+   *   The unique identifier of application deployment to be deleted.
    * 
    * @return status
    *   Returns a success/failure of the deletion.
@@ -1428,10 +1558,14 @@ interface AiravataIf {
    */
   public function deleteApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
   /**
+   * 
    * Fetch all Application Deployment Descriptions.
    * 
+   * @param gatewayId
+   *    ID of the gateway which need to list all available application deployment documentation.
+   * 
    * @return list<applicationDeployment.
-   *   Returns the list of all application Deployment Objects.
+   *    Returns the list of all application Deployment Objects.
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1463,9 +1597,10 @@ interface AiravataIf {
    */
   public function getAppModuleDeployedResources(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
   /**
+   * 
    * Register a Application Interface.
    * 
-   * @param applicationModule
+   * @param applicationInterface
    *    Application Module Object created from the datamodel.
    * 
    * @return appInterfaceId
@@ -1483,14 +1618,42 @@ interface AiravataIf {
    */
   public function registerApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
   /**
-   * Fetch a Application Interface.
+   * 
+   * Clone an Application Interface.
+   * 
+   * @gatewayId
+   *    The identifier for the gateway profile to be requested
+   * 
+   * @param existingAppInterfaceID
+   *    Identifier of the existing Application interface you wich to clone.
+   * 
+   * @param newApplicationName
+   *    Name for the new application interface.
+   * 
+   * @return appInterfaceId
+   *    Returns a server-side generated globally unique identifier for the newly cloned application interface.
+   * 
+   * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
+   * @param string $existingAppInterfaceID
+   * @param string $newApplicationName
+   * @param string $gatewayId
+   * @return string
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
+   */
+  public function cloneApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $existingAppInterfaceID, $newApplicationName, $gatewayId);
+  /**
+   * 
+   * Fetch an Application Interface.
    * 
    * @param appInterfaceId
-   *   The identifier for the requested application module
+   *   The identifier for the requested application interface.
    * 
    * @return applicationInterface
-   *   Returns a application Interface Object.
-   * 
+   *   Returns an application Interface Object.
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1514,10 +1677,11 @@ interface AiravataIf {
    */
   public function getApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
   /**
+   * 
    * Update a Application Interface.
    * 
    * @param appInterfaceId
-   *   The identifier for the requested application deployment to be updated.
+   *   The identifier of the requested application deployment to be updated.
    * 
    * @param appInterface
    *    Application Interface Object created from the datamodel.
@@ -1526,7 +1690,6 @@ interface AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
-   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appInterfaceId
    * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
@@ -1538,7 +1701,8 @@ interface AiravataIf {
    */
   public function updateApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
   /**
-   * Delete a Application Interface.
+   * 
+   * Delete an Application Interface.
    * 
    * @param appInterfaceId
    *   The identifier for the requested application interface to be deleted.
@@ -1547,7 +1711,6 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
-   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appInterfaceId
    * @return bool
@@ -1558,11 +1721,12 @@ interface AiravataIf {
    */
   public function deleteApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
   /**
-   * Fetch name and id of  Application Interface documents.
+   * 
+   * Fetch name and ID of  Application Interface documents.
    * 
    * 
    * @return map<applicationId, applicationInterfaceNames>
-   *   Returns a list of application interfaces with corresponsing id's
+   *   Returns a list of application interfaces with corresponsing ID's
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1575,11 +1739,12 @@ interface AiravataIf {
    */
   public function getAllApplicationInterfaceNames(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
+   * 
    * Fetch all Application Interface documents.
    * 
    * 
    * @return map<applicationId, applicationInterfaceNames>
-   *   Returns a list of application interfaces documents
+   *   Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1592,10 +1757,11 @@ interface AiravataIf {
    */
   public function getAllApplicationInterfaces(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
+   * 
    * Fetch the list of Application Inputs.
    * 
    * @param appInterfaceId
-   *   The identifier for the requested application interface
+   *   The identifier of the application interface which need inputs to be fetched.
    * 
    * @return list<application_interface_model.InputDataObjectType>
    *   Returns a list of application inputs.
@@ -1611,10 +1777,11 @@ interface AiravataIf {
    */
   public function getApplicationInputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
   /**
-   * Fetch the list of Application Outputs.
+   * 
+   * Fetch list of Application Outputs.
    * 
    * @param appInterfaceId
-   *   The identifier for the requested application interface
+   *   The identifier of the application interface which need outputs to be fetched.
    * 
    * @return list<application_interface_model.OutputDataObjectType>
    *   Returns a list of application outputs.
@@ -1630,14 +1797,15 @@ interface AiravataIf {
    */
   public function getApplicationOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
   /**
+   * 
    * Fetch a list of all deployed Compute Hosts for a given application interfaces.
    * 
    * @param appInterfaceId
-   *   The identifier for the requested application interface
+   *   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.
+   *   Deployments of each modules listed within the interfaces will be listed.
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1715,6 +1883,7 @@ interface AiravataIf {
    */
   public function getComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId);
   /**
+   * 
    * Fetch all registered Compute Resources.
    * 
    * @return A map of registered compute resource id's and thier corresponding hostnames.
@@ -1840,7 +2009,7 @@ interface AiravataIf {
    */
   public function getAllStorageResourceNames(\Airavata\Model\Security\AuthzToken $authzToken);
   /**
-   * Update a Compute Resource.
+   * Update a Storage Resource.
    * 
    * @param storageResourceId
    *   The identifier for the requested compute resource to be updated.
@@ -1866,7 +2035,7 @@ interface AiravataIf {
    * Delete a Storage Resource.
    * 
    * @param storageResourceId
-   *   The identifier for the requested compute resource to be deleted.
+   *   The identifier of the requested compute resource to be deleted.
    * 
    * @return status
    *   Returns a success/failure of the deletion.
@@ -2042,6 +2211,7 @@ interface AiravataIf {
    */
   public function getSSHJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
   /**
+   * 
    * Add a UNICORE Job Submission details to a compute resource
    *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
    * 
@@ -2070,10 +2240,13 @@ interface AiravataIf {
    */
   public function addUNICOREJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $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 \Airavata\Model\Security\AuthzToken $authzToken
@@ -2092,6 +2265,7 @@ interface AiravataIf {
    */
   public function getUnicoreJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
   /**
+   *    *
    *    * Add a Cloud Job Submission details to a compute resource
    *    *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
    *    *
@@ -2106,6 +2280,7 @@ interface AiravataIf {
    *    *
    *    * @return status
    *    *   Returns the unique job submission id.
+   *    *
    * *
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -2120,6 +2295,7 @@ interface AiravataIf {
    */
   public function addCloudJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission);
   /**
+   *    *
    *    * This method returns cloudJobSubmission object
    *    * @param jobSubmissionInterfaceI
    *        *   The identifier of the JobSubmission Interface to be retrieved.
@@ -2139,6 +2315,7 @@ interface AiravataIf {
    */
   public function getCloudJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
   /**
+   * 
    * Update the given SSH Job Submission details
    * 
    * @param jobSubmissionInterfaceId
@@ -2162,6 +2339,7 @@ interface AiravataIf {
    */
   public function updateSSHJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
   /**
+   * 
    * Update the cloud Job Submission details
    * 
    * @param jobSubmissionInterfaceId
@@ -2185,6 +2363,7 @@ interface AiravataIf {
    */
   public function updateCloudJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission);
   /**
+   * 
    * Update the UNIOCRE Job Submission details
    * 
    * @param jobSubmissionInterfaceId
@@ -2209,6 +2388,7 @@ interface AiravataIf {
    */
   public function updateUnicoreJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $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.
    * 
@@ -2242,6 +2422,7 @@ interface AiravataIf {
    */
   public function addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement);
   /**
+   * 
    * Update the given Local data movement details
    * 
    * @param dataMovementInterfaceId
@@ -2266,7 +2447,8 @@ interface AiravataIf {
    */
   public function updateLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement);
   /**
-   * This method returns local datamovement object
+   * 
+   * This method returns local datamovement object.
    * 
    * @param dataMovementId
    *   The identifier of the datamovement Interface to be retrieved.
@@ -2292,6 +2474,7 @@ interface AiravataIf {
    */
   public function getLocalDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
   /**
+   * 
    * Add a SCP data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
    * 
@@ -2321,6 +2504,7 @@ interface AiravataIf {
    */
   public function addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement);
   /**
+   * 
    * Update the given scp data movement details
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
    * 
@@ -2371,6 +2555,7 @@ interface AiravataIf {
    */
   public function getSCPDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
   /**
+   * 
    * Add a UNICORE data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
    * 
@@ -2400,6 +2585,7 @@ interface AiravataIf {
    */
   public function addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement);
   /**
+   * 
    * Update a selected UNICORE data movement details
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
    * 
@@ -2425,6 +2611,7 @@ interface AiravataIf {
    */
   public function updateUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement);
   /**
+   * 
    * This method returns UNICORE datamovement object
    * 
    * @param dataMovementId
@@ -2448,6 +2635,7 @@ interface AiravataIf {
    */
   public function getUnicoreDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
   /**
+   * 
    * Add a GridFTP data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
    * 
@@ -2651,15 +2839,16 @@ interface AiravataIf {
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
+   * @param string $resourceId
    * @param string $dataMovementInterfaceId
+   * @param int $dataMoveType
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $dataMovementInterfaceId);
+  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType);
   /**
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $resourceJobManager
@@ -2765,7 +2954,7 @@ interface AiravataIf {
    * Fetch the given Gateway Resource Profile.
    * 
    * @param gatewayID
-   *   The identifier for the requested gateway resource
+   *   The identifier for the requested gateway resource.
    * 
    * @return gatewayResourceProfile
    *    Gateway Resource Profile Object.
@@ -2862,6 +3051,22 @@ interface AiravataIf {
    */
   public function addGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
   /**
+   * Add a Storage Resource Preference to a registered gateway profile.
+   * 
+   * @param gatewayID
+   *   The identifier of the gateway profile to be added.
+   * 
+   * @param storageResourceId
+   *   Preferences related to a particular compute resource
+   * 
+   * @param computeResourcePreference
+   *   The ComputeResourcePreference object to be added to the resource profile.
+   * 
+   * @return status
+   *   Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+   *    Instead an update should be used.
+   * 
+   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @param string $storageResourceId
@@ -2874,6 +3079,7 @@ interface AiravataIf {
    */
   public function addGatewayStoragePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $storageResourceId, \Airavata\Model\AppCatalog\GatewayProfile\StoragePreference $storagePreference);
   /**
+   * 
    * Fetch a Compute Resource Preference of a registered gateway profile.
    * 
    * @param gatewayID
@@ -2929,6 +3135,19 @@ interface AiravataIf {
    */
   public function getGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId);
   /**
+   * 
+   * Fetch a Storage Resource Preference of a registered gateway profile.
+   * 
+   * @param gatewayID
+   *   The identifier of the gateway profile to request to fetch the particular storage resource preference.
+   * 
+   * @param storageResourceId
+   *   Identifier of the Stprage Preference required to be fetched.
+   * 
+   * @return StoragePreference
+   *   Returns the StoragePreference object.
+   * 
+   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @param string $storageResourceId
@@ -2940,6 +3159,7 @@ interface AiravataIf {
    */
   public function getGatewayStoragePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $storageResourceId);
   /**
+   * 
    * Fetch all Compute Resource Preferences of a registered gateway profile.
    * 
    * @param gatewayID
@@ -2959,6 +3179,15 @@ interface AiravataIf {
    */
   public function getAllGatewayComputeResourcePreferences(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID);
   /**
+   * Fetch all Storage Resource Preferences of a registered gateway profile.
+   * 
+   * @param gatewayID
+   *   The identifier for the gateway profile to be requested
+   * 
+   * @return StoragePreference
+   *   Returns the StoragePreference object.
+   * 
+   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @return \Airavata\Model\AppCatalog\GatewayProfile\StoragePreference[]
@@ -2969,7 +3198,12 @@ interface AiravataIf {
    */
   public function getAllGatewayStoragePreferences(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID);
   /**
-   * Fetch all gateway profiles registered
+   * 
+   * Fetch all Gateway Profiles registered
+   * 
+   * @return GatewayResourceProfile
+   *   Returns all the GatewayResourcePrifle list object.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -3008,6 +3242,21 @@ interface AiravataIf {
    */
   public function updateGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
   /**
+   * Update a Storage Resource Preference of a registered gateway profile.
+   * 
+   * @param gatewayID
+   *   The identifier of the gateway profile to be updated.
+   * 
+   * @param storageId
+   *   The Storage resource identifier of the one that you want to update
+   * 
+   * @param storagePreference
+   *   The storagePreference object to be updated to the resource profile.
+   * 
+   * @return status
+   *   Returns a success/failure of the updation.
+   * 
+   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @param string $storageId
@@ -3043,6 +3292,18 @@ interface AiravataIf {
    */
   public function deleteGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId);
   /**
+   * Delete the Storage Resource Preference of a registered gateway profile.
+   * 
+   * @param gatewayID
+   *   The identifier of the gateway profile to be deleted.
+   * 
+   * @param storageId
+   *   ID of the storage preference you want to delete.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @param string $storageId
@@ -3054,6 +3315,18 @@ interface AiravataIf {
    */
   public function deleteGatewayStoragePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $storageId);
   /**
+   * Delete the Storage Resource Preference of a registered gateway profile.
+   * 
+   * @param gatewayID
+   *   The identifier of the gateway profile to be deleted.
+   * 
+   * @param storageId
+   *   ID of the storage preference you want to delete.
+   * 
+   * @return status
+   *   Returns a success/failure of the deletion.
+   * 
+   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return string[]
@@ -3064,9 +3337,13 @@ interface AiravataIf {
    */
   public function getAllWorkflows(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
+   * 
+   * API Methods Related for Work-Flow Submission Features.
+   * 
+   * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $workflowTemplateId
-   * @return \Airavata\Model\Workflow
+   * @return \Airavata\Model\WorkflowModel
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
@@ -3085,24 +3362,24 @@ interface AiravataIf {
   /**
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
-   * @param \Airavata\Model\Workflow $workflow
+   * @param \Airavata\Model\WorkflowModel $workflow
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workflow $workflow);
+  public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\WorkflowModel $workflow);
   /**
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $workflowTemplateId
-   * @param \Airavata\Model\Workflow $workflow
+   * @param \Airavata\Model\WorkflowModel $workflow
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\Workflow $workflow);
+  public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\WorkflowModel $workflow);
   /**
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $workflowName
@@ -3124,7 +3401,9 @@ interface AiravataIf {
    */
   public function isWorkflowExistWithName(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName);
   /**
-   *  * Data Manager Related API Methods
+   *  *
+   *  * Data Manager Related API Methods.
+   *  *
    * *
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -6839,6 +7118,72 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("registerApplicationInterface failed: unknown result");
   }
 
+  public function cloneApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $existingAppInterfaceID, $newApplicationName, $gatewayId)
+  {
+    $this->send_cloneApplicationInterface($authzToken, $existingAppInterfaceID, $newApplicationName, $gatewayId);
+    return $this->recv_cloneApplicationInterface();
+  }
+
+  public function send_cloneApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $existingAppInterfaceID, $newApplicationName, $gatewayId)
+  {
+    $args = new \Airavata\API\Airavata_cloneApplicationInterface_args();
+    $args->authzToken = $authzToken;
+    $args->existingAppInterfaceID = $existingAppInterfaceID;
+    $args->newApplicationName = $newApplicationName;
+    $args->gatewayId = $gatewayId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'cloneApplicationInterface', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('cloneApplicationInterface', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_cloneApplicationInterface()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_cloneApplicationInterface_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_cloneApplicationInterface_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
+    throw new \Exception("cloneApplicationInterface failed: unknown result");
+  }
+
   public function getApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId)
   {
     $this->send_getApplicationInterface($authzToken, $appInterfaceId);
@@ -9945,18 +10290,19 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("deleteJobSubmissionInterface failed: unknown result");
   }
 
-  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $dataMovementInterfaceId)
+  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType)
   {
-    $this->send_deleteDataMovementInterface($authzToken, $computeResourceId, $dataMovementInterfaceId);
+    $this->send_deleteDataMovementInterface($authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType);
     return $this->recv_deleteDataMovementInterface();
   }
 
-  public function send_deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $dataMovementInterfaceId)
+  public function send_deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType)
   {
     $args = new \Airavata\API\Airavata_deleteDataMovementInterface_args();
     $args->authzToken = $authzToken;
-    $args->computeResourceId = $computeResourceId;
+    $args->resourceId = $resourceId;
     $args->dataMovementInterfaceId = $dataMovementInterfaceId;
+    $args->dataMoveType = $dataMoveType;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
     {
@@ -11493,13 +11839,13 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     return;
   }
 
-  public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workflow $workflow)
+  public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\WorkflowModel $workflow)
   {
     $this->send_registerWorkflow($authzToken, $gatewayId, $workflow);
     return $this->recv_registerWorkflow();
   }
 
-  public function send_registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workflow $workflow)
+  public function send_registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\WorkflowModel $workflow)
   {
     $args = new \Airavata\API\Airavata_registerWorkflow_args();
     $args->authzToken = $authzToken;
@@ -11558,13 +11904,13 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("registerWorkflow failed: unknown result");
   }
 
-  public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\Workflow $workflow)
+  public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\WorkflowModel $workflow)
   {
     $this->send_updateWorkflow($authzToken, $workflowTemplateId, $workflow);
     $this->recv_updateWorkflow();
   }
 
-  public function send_updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\Workflow $workflow)
+  public function send_updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\WorkflowModel $workflow)
   {
     $args = new \Airavata\API\Airavata_updateWorkflow_args();
     $args->authzToken = $authzToken;
@@ -23200,14 +23546,202 @@ class Airavata_updateResourceScheduleing_args {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->resourceScheduling = new \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel();
-            $xfer += $this->resourceScheduling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->resourceScheduling = new \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel();
+            $xfer += $this->resourceScheduling->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('Airavata_updateResourceScheduleing_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->airavataExperimentId !== null) {
+      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 2);
+      $xfer += $output->writeString($this->airavataExperimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceScheduling !== null) {
+      if (!is_object($this->resourceScheduling)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('resourceScheduling', TType::STRUCT, 3);
+      $xfer += $this->resourceScheduling->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_updateResourceScheduleing_result {
+  static $_TSPEC;
+
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_updateResourceScheduleing_result';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('Airavata_updateResourceScheduleing_result');
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 1);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_validateExperiment_args {
+  static $_TSPEC;
+
+  /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
+   * @var string
+   */
+  public $airavataExperimentId = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
+          'var' => 'airavataExperimentId',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
+      if (isset($vals['airavataExperimentId'])) {
+        $this->airavataExperimentId = $vals['airavataExperimentId'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_validateExperiment_args';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->airavataExperimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -23220,7 +23754,7 @@ class Airavata_updateResourceScheduleing_args {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_updateResourceScheduleing_args');
+    $xfer += $output->writeStructBegin('Airavata_validateExperiment_args');
     if ($this->authzToken !== null) {
       if (!is_object($this->authzToken)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
@@ -23234,14 +23768,6 @@ class Airavata_updateResourceScheduleing_args {
       $xfer += $output->writeString($this->airavataExperimentId);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->resourceScheduling !== null) {
-      if (!is_object($this->resourceScheduling)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('resourceScheduling', TType::STRUCT, 3);
-      $xfer += $this->resourceScheduling->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -23249,10 +23775,30 @@ class Airavata_updateResourceScheduleing_args {
 
 }
 
-class Airavata_updateResourceScheduleing_result {
+class Airavata_validateExperiment_result {
   static $_TSPEC;
 
   /**
+   * @var bool
+   */
+  public $success = null;
+  /**
+   * @var \Airavata\API\Error\InvalidRequestException
+   */
+  public $ire = null;
+  /**
+   * @var \Airavata\API\Error\ExperimentNotFoundException
+   */
+  public $enf = null;
+  /**
+   * @var \Airavata\API\Error\AiravataClientException
+   */
+  public $ace = null;
+  /**
+   * @var \Airavata\API\Error\AiravataSystemException
+   */
+  public $ase = null;
+  /**
    * @var \Airavata\API\Error\AuthorizationException
    */
   public $ae = null;
@@ -23260,7 +23806,31 @@ class Airavata_updateResourceScheduleing_result {
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::BOOL,
+          ),
         1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'enf',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\ExperimentNotFoundException',
+          ),
+        3 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        4 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        5 => array(
           'var' => 'ae',
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AuthorizationException',
@@ -23268,6 +23838,21 @@ class Airavata_updateResourceScheduleing_result {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['enf'])) {
+        $this->enf = $vals['enf'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
       if (isset($vals['ae'])) {
         $this->ae = $vals['ae'];
       }
@@ -23275,7 +23860,7 @@ class Airavata_updateResourceScheduleing_result {
   }
 
   public function getName() {
-    return 'Airavata_updateResourceScheduleing_result';
+    return 'Airavata_validateExperiment_result';
   }
 
   public function read($input)
@@ -23293,8 +23878,47 @@ class Airavata_updateResourceScheduleing_result {
       }
       switch ($fid)
       {
+        case 0:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->success);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         case 1:
           if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->enf = new \Airavata\API\Error\ExperimentNotFoundException();
+            $xfer += $this->enf->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRUCT) {
             $this->ae = new \Airavata\API\Error\AuthorizationException();
             $xfer += $this->ae->read($input);
           } else {
@@ -23313,9 +23937,34 @@ class Airavata_updateResourceScheduleing_result {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_updateResourceScheduleing_result');
+    $xfer += $output->writeStructBegin('Airavata_validateExperiment_result');
+    if ($this->success !== null) {
+      $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+      $xfer += $output->writeBool($this->success);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->enf !== null) {
+      $xfer += $output->writeFieldBegin('enf', TType::STRUCT, 2);
+      $xfer += $this->enf->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 3);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 4);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 1);
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 5);
       $xfer += $this->ae->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -23326,7 +23975,7 @@ class Airavata_updateResourceScheduleing_result {
 
 }
 
-class Airavata_validateExperiment_args {
+class Airavata_launchExperiment_args {
   static $_TSPEC;
 
   /**
@@ -23337,6 +23986,10 @@ class Airavata_validateExperiment_args {
    * @var string
    */
   public $airavataExperimentId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -23350,6 +24003,10 @@ class Airavata_validateExperiment_args {
           'var' => 'airavataExperimentId',
           'type' => TType::STRING,
           ),
+        3 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -23359,11 +24016,14 @@ class Airavata_validateExperiment_args {
       if (isset($vals['airavataExperimentId'])) {
         $this->airavataExperimentId = $vals['airavataExperimentId'];
       }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
     }
   }
 
   public function getName() {
-    return 'Airavata_validateExperiment_args';
+    return 'Airavata_launchExperiment_args';
   }
 
   public function read($input)
@@ -23396,6 +24056,13 @@ class Airavata_validateExperiment_args {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -23408,7 +24075,7 @@ class Airavata_validateExperiment_args {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_validateExperiment_args');
+    $xfer += $output->writeStructBegin('Airavata_launchExperiment_args');
     if ($this->authzToken !== null) {
       if (!is_object($this->authzToken)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
@@ -23422,6 +24089,11 @@ class Airavata_validateExperiment_args {
       $xfer += $output->writeString($this->airavataExperimentId);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 3);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -23429,14 +24101,10 @@ class Airavata_validateExperiment_args {
 
 }
 
-class Airavata_validateExperiment_result {
+class Airavata_launchExperiment_result {
   static $_TSPEC;
 
   /**
-   * @var bool
-   */
-  public $success = null;
-  /**
    * @var \Airavata\API\Error\InvalidRequestException
    */
   public $ire = null;
@@ -23460,10 +24128,6 @@ class Airavata_validateExperiment_result {
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::BOOL,
-          ),
         1 => array(
           'var' => 'ire',
           'type' => TType::STRUCT,
@@ -23492,9 +24156,6 @@ class Airavata_validateExperiment_result {
         );
     }
     if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
       if (isset($vals['ire'])) {
         $this->ire = $vals['ire'];
       }
@@ -23514,7 +24175,7 @@ class Airavata_validateExperiment_result {
   }
 
   public function getName() {
-    return 'Airavata_validateExperiment_result';
+    return 'Airavata_launchExperiment_result';
   }
 
   public function read($input)
@@ -23532,13 +24193,6 @@ class Airavata_validateExperiment_result {
       }
       switch ($fid)
       {
-        case 0:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->success);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         case 1:
           if ($ftype == TType::STRUCT) {
             $this->ire = new \Airavata\API\Error\InvalidRequestException();
@@ -23591,12 +24245,7 @@ class Airavata_validateExperiment_result {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_validateExperiment_result');
-    if ($this->success !== null) {
-      $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
-      $xfer += $output->writeBool($this->success);
-      $xfer += $output->writeFieldEnd();
-    }
+    $xfer += $output->writeStructBegin('Airavata_launchExperiment_result');
     if ($this->ire !== null) {
       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
       $xfer += $this->ire->write($output);
@@ -23629,7 +24278,7 @@ class Airavata_validateExperiment_result {
 
 }
 
-class Airavata_launchExperiment_args {
+class Airavata_getExperimentStatus_args {
   static $_TSPEC;
 
   /**
@@ -23640,10 +24289,6 @@ class Airavata_launchExperiment_args {
    * @var string
    */
   public $airavataExperimentId = null;
-  /**
-   * @var string
-   */
-  public $gatewayId = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -23657,10 +24302,6 @@ class Airavata_launchExperiment_args {
           'var' => 'airavataExperimentId',
           'type' => TType::STRING,
           ),
-        3 => array(
-          'var' => 'gatewayId',
-          'type' => TType::STRING,
-          ),
         );
     }
     if (is_array($vals)) {
@@ -23670,14 +24311,11 @@ class Airavata_launchExperiment_args {
       if (isset($vals['airavataExperimentId'])) {
         $this->airavataExperimentId = $vals['airavataExperimentId'];
       }
-      if (isset($vals['gatewayId'])) {
-        $this->gatewayId = $vals['gatewayId'];
-      }
     }
   }
 
   public function getName() {
-    return 'Airavata_launchExperiment_args';
+    return 'Airavata_getExperimentStatus_args';
   }
 
   public function read($input)
@@ -23710,13 +24348,6 @@ class Airavata_launchExperiment_args {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->gatewayId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -23729,7 +24360,7 @@ class Airavata_launchExperiment_args {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_launchExperiment_args');
+    $xfer += $output->writeStructBegin('Airavata_getExperimentStatus_args');
     if ($this->authzToken !== null) {
       if (!is_object($this->authzToken)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
@@ -23743,11 +24374,6 @@ class Airavata_launchExperiment_args {
       $xfer += $output->writeString($this->airavataExperimentId);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 3);
-      $xfer += $output->writeString($this->gatewayId);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -23755,10 +24381,14 @@ class Airavata_launchExperiment_args {
 
 }
 
-class Airavata_launchExperiment_result {
+class Airavata_getExperimentStatus_result {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Status\ExperimentStatus
+   */
+  public $success = null;
+  /**
    * @var \Airavata\API\Error\InvalidRequestException
    */
   public $ire = null;
@@ -23782,6 +24412,11 @@ class Airavata_launchExperiment_result {
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Status\ExperimentStatus',
+          ),
         1 => array(
           'var' => 'ire',
           'type' => TType::STRUCT,
@@ -23810,6 +24445,9 @@ class Airavata_launchExperiment_result {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
       if (isset($vals['ire'])) {
         $this->ire = $vals['ire'];
       }
@@ -23829,7 +24467,7 @@ class Airavata_launchExperiment_result {
   }
 
   public function getName() {
-    return 'Airavata_launchExperiment_result';
+    return 'Airavata_getExperimentStatus_result';
   }
 
   public function read($input)
@@ -23847,6 +24485,14 @@ class Airavata_launchExperiment_result {
       }
       switch ($fid)
       {
+        case 0:
+          if ($ftype == TType::STRUCT) {
+            $this->success = new \Airavata\Model\Status\ExperimentStatus();
+            $xfer += $this->success->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         case 1:
           if ($ftype == TType::STRUCT) {
             $this->ire = new \Airavata\API\Error\InvalidRequestException();
@@ -23899,7 +24545,15 @@ class Airavata_launchExperiment_result {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_launchExperiment_result');
+    $xfer += $output->writeStructBegin('Airavata_getExperimentStatus_result');
+    if ($this->success !== null) {
+      if (!is_object($this->success)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+      $xfer += $this->success->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->ire !== null) {
       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
       $xfer += $this->ire->write($output);
@@ -23932,7 +24586,7 @@ class Airavata_launchExperiment_result {
 
 }
 
-class Airavata_getExperimentStatus_args {
+class Airavata_getExperimentOutputs_args {
   static $_TSPEC;
 
   /**
@

<TRUNCATED>

Mime
View raw message