Thrift module: airavata_api

Application Programming Interface definition for Apache Airavata Services.
  this parent thrift file is contains all service interfaces. The data models are
  described in respective thrift files.

ModuleServicesData typesConstants
airavata_apiAiravata
AIRAVATA_API_VERSION

Constants

ConstantTypeValue
AIRAVATA_API_VERSIONstring"0.18.0"
Airavata Interface Versions depend upon this Thrift Interface File. When making changes, please edit the
 Version Constants according to Semantic Versioning Specification (SemVer) http://semver.org.

Note: The Airavata API version may be different from the Airavata software release versions.

The Airavata API version is composed as a dot delimited string with major, minor, and patch level components.

 - Major: Incremented for backward incompatible changes. An example would be changes to interfaces.
 - Minor: Incremented for backward compatible changes. An example would be the addition of a new optional methods.
 - Patch: Incremented for bug fixes. The patch level should be increased for every edit that doesn't result
             in a change to major/minor version numbers.



Services

Service: Airavata

extends base_api.BaseAPI

Function: Airavata.isUserExists

bool isUserExists(security_model.AuthzToken authzToken,
                  string gatewayId,
                  string userName)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Verify if User Exists within Airavata.

@param gatewayId

 @param userName

@return true/false



Function: Airavata.addGateway

string addGateway(security_model.AuthzToken authzToken,
                  workspace_model.Gateway gateway)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Register a Gateway with Airavata.

@param gateway
   The gateway data model.

@return gatewayId
  Th unique identifier of the  newly registered gateway.



Function: Airavata.getAllUsersInGateway

list<string> getAllUsersInGateway(security_model.AuthzToken authzToken,
                                  string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Get all users in the gateway

@param gatewayId
   The gateway data model.

@return users
  list of usernames of the users in the gateway



Function: Airavata.updateGateway

bool updateGateway(security_model.AuthzToken authzToken,
                   string gatewayId,
                   workspace_model.Gateway updatedGateway)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update previously registered Gateway metadata.

@param gatewayId
   The gateway Id of the Gateway which require an update.

@return gateway
   Modified gateway obejct.

@exception AiravataClientException



Function: Airavata.getGateway

workspace_model.Gateway getGateway(security_model.AuthzToken authzToken,
                                   string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Get Gateway details by providing gatewayId

@param gatewayId
   The gateway Id of the Gateway.

@return gateway
   Gateway obejct.



Function: Airavata.deleteGateway

bool deleteGateway(security_model.AuthzToken authzToken,
                   string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete a Gateway

@param gatewayId
   The gateway Id of the Gateway to be deleted.

@return boolean
   Boolean identifier for the success or failure of the deletion operation.



Function: Airavata.getAllGateways

list<workspace_model.Gateway> getAllGateways(security_model.AuthzToken authzToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Get All the Gateways Connected to Airavata.


Function: Airavata.isGatewayExist

bool isGatewayExist(security_model.AuthzToken authzToken,
                    string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Check for the Existance of a Gateway within Airavata

@param gatewayId
  Provide the gatewayId of the gateway you want to check the existancy

@return boolean
  Boolean idetifier for the existance or non-existane of the gatewayId

@return gatewayId
  return the gatewayId of the existing gateway.



Function: Airavata.createNotification

string createNotification(security_model.AuthzToken authzToken,
                          workspace_model.Notification notification)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
  * API methods to retrieve notifications
*

Function: Airavata.updateNotification

bool updateNotification(security_model.AuthzToken authzToken,
                        workspace_model.Notification notification)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.deleteNotification

bool deleteNotification(security_model.AuthzToken authzToken,
                        string gatewayId,
                        string notificationId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getNotification

workspace_model.Notification getNotification(security_model.AuthzToken authzToken,
                                             string gatewayId,
                                             string notificationId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getAllNotifications

list<workspace_model.Notification> getAllNotifications(security_model.AuthzToken authzToken,
                                                       string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.generateAndRegisterSSHKeys

string generateAndRegisterSSHKeys(security_model.AuthzToken authzToken,
                                  string description)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException
Generate and Register SSH Key Pair with Airavata Credential Store.

@param description
   The description field for a credential type, all type of credential can have a description.

@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.



Function: Airavata.registerPwdCredential

string registerPwdCredential(security_model.AuthzToken authzToken,
                             string loginUserName,
                             string password,
                             string description)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException
Generate and Register Username PWD Pair with Airavata Credential Store.

@param loginUserName

@param password

@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.



Function: Airavata.getCredentialSummary

credential_store_data_models.CredentialSummary getCredentialSummary(security_model.AuthzToken authzToken,
                                                                    string tokenId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getAllCredentialSummaries

list<credential_store_data_models.CredentialSummary> getAllCredentialSummaries(security_model.AuthzToken authzToken,
                                                                               credential_store_data_models.SummaryType type)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException

Function: Airavata.deleteSSHPubKey

bool deleteSSHPubKey(security_model.AuthzToken authzToken,
                     string airavataCredStoreToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.deletePWDCredential

bool deletePWDCredential(security_model.AuthzToken authzToken,
                         string airavataCredStoreToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.createProject

string createProject(security_model.AuthzToken authzToken,
                     string gatewayId,
                     workspace_model.Project project)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.



Function: Airavata.updateProject

void updateProject(security_model.AuthzToken authzToken,
                   string projectId,
                   workspace_model.Project updatedProject)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.ProjectNotFoundException, airavata_errors.AuthorizationException
Update an Existing Project

@param projectId
   The projectId of the project needed an update.

@return void
   Currently this does not return any value.



Function: Airavata.getProject

workspace_model.Project getProject(security_model.AuthzToken authzToken,
                                   string projectId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.ProjectNotFoundException, airavata_errors.AuthorizationException
Get a Project by ID
   This method is to obtain a project by providing a projectId.

@param projectId
   projectId of the project you require.

@return project
   project data model will be returned.



Function: Airavata.deleteProject

bool deleteProject(security_model.AuthzToken authzToken,
                   string projectId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.ProjectNotFoundException, airavata_errors.AuthorizationException
Delete a Project
   This method is used to delete an existing Project.

@param projectId
   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.



Function: Airavata.getUserProjects

list<workspace_model.Project> getUserProjects(security_model.AuthzToken authzToken,
                                              string gatewayId,
                                              string userName,
                                              i32 limit,
                                              i32 offset)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.

@param limit
   The amount results to be fetched.

@param offset
   The starting point of the results to be fetched.



Function: Airavata.searchProjects

list<workspace_model.Project> searchProjects(security_model.AuthzToken authzToken,
                                             string gatewayId,
                                             string userName,
                                             map<experiment_model.ProjectSearchFields, string> filters,
                                             i32 limit,
                                             i32 offset)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Search User Projects
Search and get all Projects for user by project description or/and project name  with pagination.
Results will be ordered based on creation time DESC.

@param gatewayId
   The unique identifier of the gateway making the request.

@param userName
   The identifier of the user.

@param filters
   Map of multiple filter criteria. Currenlt search filters includes Project Name and Project Description

@param limit
   The amount results to be fetched.

@param offset
   The starting point of the results to be fetched.



Function: Airavata.searchExperiments

list<experiment_model.ExperimentSummaryModel> searchExperiments(security_model.AuthzToken authzToken,
                                                                string gatewayId,
                                                                string userName,
                                                                map<experiment_model.ExperimentSearchFields, string> filters,
                                                                i32 limit,
                                                                i32 offset)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.

@param userName
      Username of the user requesting the search function.

@param filters
      Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....

@param limit
      Amount of results to be fetched.

@param offset
      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.



Function: Airavata.getExperimentStatistics

experiment_model.ExperimentStatistics getExperimentStatistics(security_model.AuthzToken authzToken,
                                                              string gatewayId,
                                                              i64 fromTime,
                                                              i64 toTime,
                                                              string userName,
                                                              string applicationName,
                                                              string resourceHostName)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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
      Unique identifier of the gateway making the request to fetch statistics.

@param fromTime
      Starting date time.

@param toTime
      Ending data time.

@param userName
      Gateway username substring with which to further filter statistics.

@param applicationName
      Application id substring with which to further filter statistics.

@param resourceHostName
      Hostname id substring with which to further filter statistics.



Function: Airavata.getExperimentsInProject

list<experiment_model.ExperimentModel> getExperimentsInProject(security_model.AuthzToken authzToken,
                                                               string projectId,
                                                               i32 limit,
                                                               i32 offset)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.ProjectNotFoundException, airavata_errors.AuthorizationException
Get All Experiments of the Project
Get Experiments within project with pagination. Results will be sorted based on creation time DESC.

@param projectId
      Uniqie identifier of the project.

@param limit
      Amount of results to be fetched.

@param offset
      The starting point of the results to be fetched.



Function: Airavata.getUserExperiments

list<experiment_model.ExperimentModel> getUserExperiments(security_model.AuthzToken authzToken,
                                                          string gatewayId,
                                                          string userName,
                                                          i32 limit,
                                                          i32 offset)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.

@param userName
      Username of the requested end user.

@param limit
      Amount of results to be fetched.

@param offset
      The starting point of the results to be fetched.



Function: Airavata.createExperiment

string createExperiment(security_model.AuthzToken authzToken,
                        string gatewayId,
                        experiment_model.ExperimentModel experiment)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
  *
  * 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 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.
  *
  * @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.
  *
*

Function: Airavata.deleteExperiment

bool deleteExperiment(security_model.AuthzToken authzToken,
                      string experimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete an Experiment
If the experiment is not already launched experiment can be deleted.

@param authzToken

@param experiementId
    Experiment ID of the experimnet you want to delete.

@return boolean
    Identifier for the success or failure of the deletion operation.



Function: Airavata.getExperiment

experiment_model.ExperimentModel getExperiment(security_model.AuthzToken authzToken,
                                               string airavataExperimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
  *
  * Get Experiment
  * Fetch previously created experiment metadata.
  *
  * @param airavataExperimentId
  *    The unique identifier of the requested experiment. This ID is returned during the create experiment step.
  *
  * @return ExperimentModel
  *   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.
  *
*

Function: Airavata.getExperimentByAdmin

experiment_model.ExperimentModel getExperimentByAdmin(security_model.AuthzToken authzToken,
                                                      string airavataExperimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
  *
  * Get Experiment by an admin user
  *
  * Used by an admin user to fetch previously created experiment metadata.
  *
  * @param airavataExperimentId
  *    The unique identifier of the requested experiment. This ID is returned during the create experiment step.
  *
  * @return ExperimentModel
  *   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.
  *
*

Function: Airavata.getDetailedExperimentTree

experiment_model.ExperimentModel getDetailedExperimentTree(security_model.AuthzToken authzToken,
                                                           string airavataExperimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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 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.

@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.


Function: Airavata.updateExperiment

void updateExperiment(security_model.AuthzToken authzToken,
                      string airavataExperimentId,
                      experiment_model.ExperimentModel experiment)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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 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.

@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.


Function: Airavata.updateExperimentConfiguration

void updateExperimentConfiguration(security_model.AuthzToken authzToken,
                                   string airavataExperimentId,
                                   experiment_model.UserConfigurationDataModel userConfiguration)
    throws airavata_errors.AuthorizationException

Function: Airavata.updateResourceScheduleing

void updateResourceScheduleing(security_model.AuthzToken authzToken,
                               string airavataExperimentId,
                               scheduling_model.ComputationalResourceSchedulingModel resourceScheduling)
    throws airavata_errors.AuthorizationException

Function: Airavata.validateExperiment

bool validateExperiment(security_model.AuthzToken authzToken,
                        string airavataExperimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
 *
 * 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.
 *
*

Function: Airavata.launchExperiment

void launchExperiment(security_model.AuthzToken authzToken,
                      string airavataExperimentId,
                      string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.

@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.


Function: Airavata.getExperimentStatus

status_models.ExperimentStatus getExperimentStatus(security_model.AuthzToken authzToken,
                                                   string airavataExperimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Get Experiment Status

Obtain the status of an experiment by providing the Experiment Id

@param authzToken

@param airavataExperimentId
    Experiment ID of the experimnet you require the status.

@return ExperimentStatus
    ExperimentStatus model with the current status will be returned.



Function: Airavata.getExperimentOutputs

list<application_io_models.OutputDataObjectType> getExperimentOutputs(security_model.AuthzToken authzToken,
                                                                      string airavataExperimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Get Experiment Outputs
This method to be used when need to obtain final outputs of a certain Experiment

@param authzToken

@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.



Function: Airavata.getIntermediateOutputs

list<application_io_models.OutputDataObjectType> getIntermediateOutputs(security_model.AuthzToken authzToken,
                                                                        string airavataExperimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Get Intermediate Experiment Outputs
This method to be used when need to obtain intermediate outputs of a certain Experiment

@param authzToken

@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.



Function: Airavata.getJobStatuses

map<string, status_models.JobStatus> getJobStatuses(security_model.AuthzToken authzToken,
                                                  string airavataExperimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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 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



Function: Airavata.getJobDetails

list<job_model.JobModel> getJobDetails(security_model.AuthzToken authzToken,
                                       string airavataExperimentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.

@return list of JobDetails
    Job details.



Function: Airavata.cloneExperiment

string cloneExperiment(security_model.AuthzToken authzToken,
                       string existingExperimentID,
                       string newExperimentName,
                       string newExperimentProjectId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException, airavata_errors.ProjectNotFoundException
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
   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.
@param newExperimentProjectId
   The project in which to create the cloned experiment. This is optional and if null the experiment will be created
     in the same project as the existing experiment.

@return
  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.

@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.


Function: Airavata.cloneExperimentByAdmin

string cloneExperimentByAdmin(security_model.AuthzToken authzToken,
                              string existingExperimentID,
                              string newExperimentName,
                              string newExperimentProjectId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException, airavata_errors.ProjectNotFoundException
Clone an Existing Experiment by an admin user
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
   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.
@param newExperimentProjectId
   The project in which to create the cloned experiment. This is optional and if null the experiment will be created
     in the same project as the existing experiment.

@return
  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.

@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.


Function: Airavata.terminateExperiment

void terminateExperiment(security_model.AuthzToken authzToken,
                         string airavataExperimentId,
                         string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.ExperimentNotFoundException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Terminate a running Experiment.

@gatewayId
   ID of the gateway which will terminate the running Experiment.

@param airavataExperimentId
   The identifier of the experiment required termination. This ID is returned during the create experiment step.

@return status
  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.


Function: Airavata.registerApplicationModule

string registerApplicationModule(security_model.AuthzToken authzToken,
                                 string gatewayId,
                                 application_deployment_model.ApplicationModule applicationModule)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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 the server-side generated airavata appModule globally unique identifier.


Function: Airavata.getApplicationModule

application_deployment_model.ApplicationModule getApplicationModule(security_model.AuthzToken authzToken,
                                                                    string appModuleId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch a Application Module.

@param appModuleId
  The unique identifier of the application module required

@return applicationModule
  Returns an Application Module Object.


Function: Airavata.updateApplicationModule

bool updateApplicationModule(security_model.AuthzToken authzToken,
                             string appModuleId,
                             application_deployment_model.ApplicationModule applicationModule)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getAllAppModules

list<application_deployment_model.ApplicationModule> getAllAppModules(security_model.AuthzToken authzToken,
                                                                      string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getAccessibleAppModules

list<application_deployment_model.ApplicationModule> getAccessibleAppModules(security_model.AuthzToken authzToken,
                                                                             string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch all accessible Application Module Descriptions.

@param gatewayId
   ID of the gateway which need to list all accessible application deployment documentation.

@return list
   Returns the list of all Application Module Objects that are accessible to the user.


Function: Airavata.deleteApplicationModule

bool deleteApplicationModule(security_model.AuthzToken authzToken,
                             string appModuleId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete an Application Module.

@param appModuleId
  The identifier of the Application Module to be deleted.

@return status
  Returns a success/failure of the deletion.


Function: Airavata.registerApplicationDeployment

string registerApplicationDeployment(security_model.AuthzToken authzToken,
                                     string gatewayId,
                                     application_deployment_model.ApplicationDeploymentDescription applicationDeployment)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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
  Returns a server-side generated airavata appDeployment globally unique identifier.


Function: Airavata.getApplicationDeployment

application_deployment_model.ApplicationDeploymentDescription getApplicationDeployment(security_model.AuthzToken authzToken,
                                                                                       string appDeploymentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch a Application Deployment.

@param appDeploymentId
  The identifier for the requested application module

@return applicationDeployment
  Returns a application Deployment Object.


Function: Airavata.updateApplicationDeployment

bool updateApplicationDeployment(security_model.AuthzToken authzToken,
                                 string appDeploymentId,
                                 application_deployment_model.ApplicationDeploymentDescription applicationDeployment)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update an Application Deployment.

@param appDeploymentId
  The identifier of 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.


Function: Airavata.deleteApplicationDeployment

bool deleteApplicationDeployment(security_model.AuthzToken authzToken,
                                 string appDeploymentId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete an Application Deployment.

@param appDeploymentId
  The unique identifier of application deployment to be deleted.

@return status
  Returns a success/failure of the deletion.


Function: Airavata.getAllApplicationDeployments

list<application_deployment_model.ApplicationDeploymentDescription> getAllApplicationDeployments(security_model.AuthzToken authzToken,
                                                                                                 string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.

>

Function: Airavata.getAccessibleApplicationDeployments

list<application_deployment_model.ApplicationDeploymentDescription> getAccessibleApplicationDeployments(security_model.AuthzToken authzToken,
                                                                                                        string gatewayId,
                                                                                                        group_manager_model.ResourcePermissionType permissionType)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch all accessible Application Deployment Descriptions.

@param gatewayId
   ID of the gateway which need to list all accessible application deployment documentation.
@param permissionType
   ResourcePermissionType to check for this user

@return list<applicationDeployment.
   Returns the list of all application Deployment Objects that are accessible to the user.

>

Function: Airavata.getAppModuleDeployedResources

list<string> getAppModuleDeployedResources(security_model.AuthzToken authzToken,
                                           string appModuleId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getApplicationDeploymentsForAppModuleAndGroupResourceProfile

list<application_deployment_model.ApplicationDeploymentDescription> getApplicationDeploymentsForAppModuleAndGroupResourceProfile(security_model.AuthzToken authzToken,
                                                                                                                                 string appModuleId,
                                                                                                                                 string groupResourceProfileId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch a list of Application Deployments that this user can use for executing the given Application Module using the given Group Resource Profile.
The user must have at least READ access to the Group Resource Profile.

@param appModuleId
   The identifier for the Application Module

@param groupResourceProfileId
   The identifier for the Group Resource Profile

@return list<ApplicationDeploymentDescription>
   Returns a list of Application Deployments

Function: Airavata.registerApplicationInterface

string registerApplicationInterface(security_model.AuthzToken authzToken,
                                    string gatewayId,
                                    application_interface_model.ApplicationInterfaceDescription applicationInterface)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Register a Application Interface.

@param applicationInterface
   Application Module Object created from the datamodel.

@return appInterfaceId
  Returns a server-side generated airavata application interface globally unique identifier.


Function: Airavata.cloneApplicationInterface

string cloneApplicationInterface(security_model.AuthzToken authzToken,
                                 string existingAppInterfaceID,
                                 string newApplicationName,
                                 string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getApplicationInterface

application_interface_model.ApplicationInterfaceDescription getApplicationInterface(security_model.AuthzToken authzToken,
                                                                                    string appInterfaceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch an Application Interface.

@param appInterfaceId
  The identifier for the requested application interface.

@return applicationInterface
  Returns an application Interface Object.


Function: Airavata.updateApplicationInterface

bool updateApplicationInterface(security_model.AuthzToken authzToken,
                                string appInterfaceId,
                                application_interface_model.ApplicationInterfaceDescription applicationInterface)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update a Application Interface.

@param appInterfaceId
  The identifier of 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.


Function: Airavata.deleteApplicationInterface

bool deleteApplicationInterface(security_model.AuthzToken authzToken,
                                string appInterfaceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete an Application Interface.

@param appInterfaceId
  The identifier for the requested application interface to be deleted.

@return status
  Returns a success/failure of the deletion.


Function: Airavata.getAllApplicationInterfaceNames

map<string, string> getAllApplicationInterfaceNames(security_model.AuthzToken authzToken,
                                                  string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch name and ID of  Application Interface documents.


@return map<applicationId, applicationInterfaceNames>
  Returns a list of application interfaces with corresponsing ID's


Function: Airavata.getAllApplicationInterfaces

list<application_interface_model.ApplicationInterfaceDescription> getAllApplicationInterfaces(security_model.AuthzToken authzToken,
                                                                                              string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch all Application Interface documents.


@return map<applicationId, applicationInterfaceNames>
  Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).


Function: Airavata.getApplicationInputs

list<application_io_models.InputDataObjectType> getApplicationInputs(security_model.AuthzToken authzToken,
                                                                     string appInterfaceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch the list of Application Inputs.

@param appInterfaceId
  The identifier of the application interface which need inputs to be fetched.

@return list<application_interface_model.InputDataObjectType>
  Returns a list of application inputs.


Function: Airavata.getApplicationOutputs

list<application_io_models.OutputDataObjectType> getApplicationOutputs(security_model.AuthzToken authzToken,
                                                                       string appInterfaceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch list of Application Outputs.

@param appInterfaceId
  The identifier of the application interface which need outputs to be fetched.

@return list<application_interface_model.OutputDataObjectType>
  Returns a list of application outputs.


Function: Airavata.getAvailableAppInterfaceComputeResources

map<string, string> getAvailableAppInterfaceComputeResources(security_model.AuthzToken authzToken,
                                                           string appInterfaceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.registerComputeResource

string registerComputeResource(security_model.AuthzToken authzToken,
                               compute_resource_model.ComputeResourceDescription computeResourceDescription)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getComputeResource

compute_resource_model.ComputeResourceDescription getComputeResource(security_model.AuthzToken authzToken,
                                                                     string computeResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch the given Compute Resource.

@param computeResourceId
  The identifier for the requested compute resource

@return computeResourceDescription
   Compute Resource Object created from the datamodel..


Function: Airavata.getAllComputeResourceNames

map<string, string> getAllComputeResourceNames(security_model.AuthzToken authzToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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..


Function: Airavata.updateComputeResource

bool updateComputeResource(security_model.AuthzToken authzToken,
                           string computeResourceId,
                           compute_resource_model.ComputeResourceDescription computeResourceDescription)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.deleteComputeResource

bool deleteComputeResource(security_model.AuthzToken authzToken,
                           string computeResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.registerStorageResource

string registerStorageResource(security_model.AuthzToken authzToken,
                               storage_resource_model.StorageResourceDescription storageResourceDescription)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Register a Storage Resource.

@param storageResourceDescription
   Storge Resource Object created from the datamodel.

@return storageResourceId
  Returns a server-side generated airavata storage resource globally unique identifier.


Function: Airavata.getStorageResource

storage_resource_model.StorageResourceDescription getStorageResource(security_model.AuthzToken authzToken,
                                                                     string storageResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch the given Storage Resource.

@param storageResourceId
  The identifier for the requested storage resource

@return storageResourceDescription
   Storage Resource Object created from the datamodel..


Function: Airavata.getAllStorageResourceNames

map<string, string> getAllStorageResourceNames(security_model.AuthzToken authzToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch all registered Storage Resources.

@return A map of registered compute resource id's and thier corresponding hostnames.
   Compute Resource Object created from the datamodel..


Function: Airavata.updateStorageResource

bool updateStorageResource(security_model.AuthzToken authzToken,
                           string storageResourceId,
                           storage_resource_model.StorageResourceDescription storageResourceDescription)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update a Storage Resource.

@param storageResourceId
  The identifier for the requested compute resource to be updated.

@param storageResourceDescription
   Storage Resource Object created from the datamodel.

@return status
  Returns a success/failure of the update.


Function: Airavata.deleteStorageResource

bool deleteStorageResource(security_model.AuthzToken authzToken,
                           string storageResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete a Storage Resource.

@param storageResourceId
  The identifier of the requested compute resource to be deleted.

@return status
  Returns a success/failure of the deletion.


Function: Airavata.addLocalSubmissionDetails

string addLocalSubmissionDetails(security_model.AuthzToken authzToken,
                                 string computeResourceId,
                                 i32 priorityOrder,
                                 compute_resource_model.LOCALSubmission localSubmission)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.updateLocalSubmissionDetails

bool updateLocalSubmissionDetails(security_model.AuthzToken authzToken,
                                  string jobSubmissionInterfaceId,
                                  compute_resource_model.LOCALSubmission localSubmission)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getLocalJobSubmission

compute_resource_model.LOCALSubmission getLocalJobSubmission(security_model.AuthzToken authzToken,
                                                             string jobSubmissionId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
This method returns localJobSubmission object
@param jobSubmissionInterfaceId
  The identifier of the JobSubmission Interface to be retrieved.
 @return LOCALSubmission instance


Function: Airavata.addSSHJobSubmissionDetails

string addSSHJobSubmissionDetails(security_model.AuthzToken authzToken,
                                  string computeResourceId,
                                  i32 priorityOrder,
                                  compute_resource_model.SSHJobSubmission sshJobSubmission)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.addSSHForkJobSubmissionDetails

string addSSHForkJobSubmissionDetails(security_model.AuthzToken authzToken,
                                      string computeResourceId,
                                      i32 priorityOrder,
                                      compute_resource_model.SSHJobSubmission sshJobSubmission)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Add a SSH_FORK 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.


Function: Airavata.getSSHJobSubmission

compute_resource_model.SSHJobSubmission getSSHJobSubmission(security_model.AuthzToken authzToken,
                                                            string jobSubmissionId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
This method returns SSHJobSubmission object
@param jobSubmissionInterfaceId
  The identifier of the JobSubmission Interface to be retrieved.
 @return SSHJobSubmission instance


Function: Airavata.addUNICOREJobSubmissionDetails

string addUNICOREJobSubmissionDetails(security_model.AuthzToken authzToken,
                                      string computeResourceId,
                                      i32 priorityOrder,
                                      compute_resource_model.UnicoreJobSubmission unicoreJobSubmission)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getUnicoreJobSubmission

compute_resource_model.UnicoreJobSubmission getUnicoreJobSubmission(security_model.AuthzToken authzToken,
                                                                    string jobSubmissionId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
  *
  * This method returns UnicoreJobSubmission object
  *
  * @param jobSubmissionInterfaceId
  *   The identifier of the JobSubmission Interface to be retrieved.
  *  @return UnicoreJobSubmission instance
  *
*

Function: Airavata.addCloudJobSubmissionDetails

string addCloudJobSubmissionDetails(security_model.AuthzToken authzToken,
                                    string computeResourceId,
                                    i32 priorityOrder,
                                    compute_resource_model.CloudJobSubmission cloudSubmission)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
   *
   * 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.
   *
*

Function: Airavata.getCloudJobSubmission

compute_resource_model.CloudJobSubmission getCloudJobSubmission(security_model.AuthzToken authzToken,
                                                                string jobSubmissionId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
   *
   * This method returns cloudJobSubmission object
   * @param jobSubmissionInterfaceI
       *   The identifier of the JobSubmission Interface to be retrieved.
   *  @return CloudJobSubmission instance
*

Function: Airavata.updateSSHJobSubmissionDetails

bool updateSSHJobSubmissionDetails(security_model.AuthzToken authzToken,
                                   string jobSubmissionInterfaceId,
                                   compute_resource_model.SSHJobSubmission sshJobSubmission)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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 update.


Function: Airavata.updateCloudJobSubmissionDetails

bool updateCloudJobSubmissionDetails(security_model.AuthzToken authzToken,
                                     string jobSubmissionInterfaceId,
                                     compute_resource_model.CloudJobSubmission sshJobSubmission)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update the cloud 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 update.


Function: Airavata.updateUnicoreJobSubmissionDetails

bool updateUnicoreJobSubmissionDetails(security_model.AuthzToken authzToken,
                                       string jobSubmissionInterfaceId,
                                       compute_resource_model.UnicoreJobSubmission unicoreJobSubmission)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update the UNIOCRE Job Submission details

@param jobSubmissionInterfaceId
  The identifier of the JobSubmission Interface to be updated.

@param UnicoreJobSubmission
  The UnicoreJobSubmission object to be updated.

@return status
  Returns a success/failure of the update.



Function: Airavata.addLocalDataMovementDetails

string addLocalDataMovementDetails(security_model.AuthzToken authzToken,
                                   string productUri,
                                   data_movement_models.DMType dataMoveType,
                                   i32 priorityOrder,
                                   data_movement_models.LOCALDataMovement localDataMovement)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Add a Local data movement details to a compute resource
 App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.

@param productUri
  The identifier of the compute resource to which JobSubmission protocol to be added

@param DMType
  DMType object to be added to the resource.

@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.



Function: Airavata.updateLocalDataMovementDetails

bool updateLocalDataMovementDetails(security_model.AuthzToken authzToken,
                                    string dataMovementInterfaceId,
                                    data_movement_models.LOCALDataMovement localDataMovement)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.



Function: Airavata.getLocalDataMovement

data_movement_models.LOCALDataMovement getLocalDataMovement(security_model.AuthzToken authzToken,
                                                            string dataMovementId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
This method returns local datamovement object.

@param dataMovementId
  The identifier of the datamovement Interface to be retrieved.

 @return LOCALDataMovement instance



Function: Airavata.addSCPDataMovementDetails

string addSCPDataMovementDetails(security_model.AuthzToken authzToken,
                                 string productUri,
                                 data_movement_models.DMType dataMoveType,
                                 i32 priorityOrder,
                                 data_movement_models.SCPDataMovement scpDataMovement)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Add a SCP data movement details to a compute resource
 App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.

@param productUri
  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.


Function: Airavata.updateSCPDataMovementDetails

bool updateSCPDataMovementDetails(security_model.AuthzToken authzToken,
                                  string dataMovementInterfaceId,
                                  data_movement_models.SCPDataMovement scpDataMovement)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getSCPDataMovement

data_movement_models.SCPDataMovement getSCPDataMovement(security_model.AuthzToken authzToken,
                                                        string dataMovementId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
This method returns SCP datamovement object

@param dataMovementId
  The identifier of the datamovement Interface to be retrieved.

@return SCPDataMovement instance



Function: Airavata.addUnicoreDataMovementDetails

string addUnicoreDataMovementDetails(security_model.AuthzToken authzToken,
                                     string productUri,
                                     data_movement_models.DMType dataMoveType,
                                     i32 priorityOrder,
                                     data_movement_models.UnicoreDataMovement unicoreDataMovement)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Add a UNICORE data movement details to a compute resource
 App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.

@param productUri
  The identifier of the compute resource to which data movement 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 UnicoreDataMovement
  The UnicoreDataMovement object to be added to the resource.

@return status
  Returns the unique data movement id.


Function: Airavata.updateUnicoreDataMovementDetails

bool updateUnicoreDataMovementDetails(security_model.AuthzToken authzToken,
                                      string dataMovementInterfaceId,
                                      data_movement_models.UnicoreDataMovement unicoreDataMovement)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update a selected UNICORE 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 UnicoreDataMovement
  The UnicoreDataMovement object to be updated.

@return status
  Returns a success/failure of the update.



Function: Airavata.getUnicoreDataMovement

data_movement_models.UnicoreDataMovement getUnicoreDataMovement(security_model.AuthzToken authzToken,
                                                                string dataMovementId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
This method returns UNICORE datamovement object

@param dataMovementId
  The identifier of the datamovement Interface to be retrieved.

@return UnicoreDataMovement instance



Function: Airavata.addGridFTPDataMovementDetails

string addGridFTPDataMovementDetails(security_model.AuthzToken authzToken,
                                     string productUri,
                                     data_movement_models.DMType dataMoveType,
                                     i32 priorityOrder,
                                     data_movement_models.GridFTPDataMovement gridFTPDataMovement)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Add a GridFTP data movement details to a compute resource
 App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.

@param productUri
  The identifier of the compute resource to which dataMovement protocol to be added

@param DMType
   The DMType object to be added to the resource.

@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 data movement id.



Function: Airavata.updateGridFTPDataMovementDetails

bool updateGridFTPDataMovementDetails(security_model.AuthzToken authzToken,
                                      string dataMovementInterfaceId,
                                      data_movement_models.GridFTPDataMovement gridFTPDataMovement)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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 boolean
  Returns a success/failure of the update.



Function: Airavata.getGridFTPDataMovement

data_movement_models.GridFTPDataMovement getGridFTPDataMovement(security_model.AuthzToken authzToken,
                                                                string dataMovementId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
This method returns GridFTP datamovement object

@param dataMovementId
  The identifier of the datamovement Interface to be retrieved.

 @return GridFTPDataMovement instance



Function: Airavata.changeJobSubmissionPriority

bool changeJobSubmissionPriority(security_model.AuthzToken authzToken,
                                 string jobSubmissionInterfaceId,
                                 i32 newPriorityOrder)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.



Function: Airavata.changeDataMovementPriority

bool changeDataMovementPriority(security_model.AuthzToken authzToken,
                                string dataMovementInterfaceId,
                                i32 newPriorityOrder)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.



Function: Airavata.changeJobSubmissionPriorities

bool changeJobSubmissionPriorities(security_model.AuthzToken authzToken,
                                   map<string, i32> jobSubmissionPriorityMap)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.changeDataMovementPriorities

bool changeDataMovementPriorities(security_model.AuthzToken authzToken,
                                  map<string, i32> dataMovementPriorityMap)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.



Function: Airavata.deleteJobSubmissionInterface

bool deleteJobSubmissionInterface(security_model.AuthzToken authzToken,
                                  string computeResourceId,
                                  string jobSubmissionInterfaceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.



Function: Airavata.deleteDataMovementInterface

bool deleteDataMovementInterface(security_model.AuthzToken authzToken,
                                 string productUri,
                                 string dataMovementInterfaceId,
                                 data_movement_models.DMType dataMoveType)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.



Function: Airavata.registerResourceJobManager

string registerResourceJobManager(security_model.AuthzToken authzToken,
                                  compute_resource_model.ResourceJobManager resourceJobManager)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.updateResourceJobManager

bool updateResourceJobManager(security_model.AuthzToken authzToken,
                              string resourceJobManagerId,
                              compute_resource_model.ResourceJobManager updatedResourceJobManager)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getResourceJobManager

compute_resource_model.ResourceJobManager getResourceJobManager(security_model.AuthzToken authzToken,
                                                                string resourceJobManagerId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.deleteResourceJobManager

bool deleteResourceJobManager(security_model.AuthzToken authzToken,
                              string resourceJobManagerId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.deleteBatchQueue

bool deleteBatchQueue(security_model.AuthzToken authzToken,
                      string computeResourceId,
                      string queueName)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete a Compute Resource Queue

@param computeResourceId
  The identifier of the compute resource which has the queue to be deleted

@param queueName
  Name of the queue need to be deleted. Name is the uniqueue identifier for the queue within a compute resource

@return status
  Returns a success/failure of the deletion.



Function: Airavata.registerGatewayResourceProfile

string registerGatewayResourceProfile(security_model.AuthzToken authzToken,
                                      gateway_resource_profile_model.GatewayResourceProfile gatewayResourceProfile)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Register a Gateway Resource Profile.

@param gatewayResourceProfile
   Gateway Resource Profile Object.
   The GatewayID should be obtained from Airavata gateway registration and passed to register a corresponding
     resource profile.

@return status
  Returns a success/failure of the update.


Function: Airavata.getGatewayResourceProfile

gateway_resource_profile_model.GatewayResourceProfile getGatewayResourceProfile(security_model.AuthzToken authzToken,
                                                                                string gatewayID)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch the given Gateway Resource Profile.

@param gatewayID
  The identifier for the requested gateway resource.

@return gatewayResourceProfile
   Gateway Resource Profile Object.


Function: Airavata.updateGatewayResourceProfile

bool updateGatewayResourceProfile(security_model.AuthzToken authzToken,
                                  string gatewayID,
                                  gateway_resource_profile_model.GatewayResourceProfile gatewayResourceProfile)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update a Gateway Resource Profile.

@param gatewayID
  The identifier for the requested gateway resource to be updated.

@param gatewayResourceProfile
   Gateway Resource Profile Object.

@return status
  Returns a success/failure of the update.


Function: Airavata.deleteGatewayResourceProfile

bool deleteGatewayResourceProfile(security_model.AuthzToken authzToken,
                                  string gatewayID)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete the given Gateway Resource Profile.

@param gatewayID
  The identifier for the requested gateway resource to be deleted.

@return status
  Returns a success/failure of the deletion.


Function: Airavata.addGatewayComputeResourcePreference

bool addGatewayComputeResourcePreference(security_model.AuthzToken authzToken,
                                         string gatewayID,
                                         string computeResourceId,
                                         gateway_resource_profile_model.ComputeResourcePreference computeResourcePreference)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Add a Compute Resource Preference to a registered gateway profile.

@param gatewayID
  The identifier for the gateway profile to be added.

@param computeResourceId
  Preferences related to a particular compute resource

@param computeResourcePreference
  The ComputeResourcePreference object to be added to the resource profile.

@return status
  Returns a success/failure of the addition. If a profile already exists, this operation will fail.
   Instead an update should be used.


Function: Airavata.addGatewayStoragePreference

bool addGatewayStoragePreference(security_model.AuthzToken authzToken,
                                 string gatewayID,
                                 string storageResourceId,
                                 gateway_resource_profile_model.StoragePreference storagePreference)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getGatewayComputeResourcePreference

gateway_resource_profile_model.ComputeResourcePreference getGatewayComputeResourcePreference(security_model.AuthzToken authzToken,
                                                                                             string gatewayID,
                                                                                             string computeResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch a Compute Resource Preference of a registered gateway profile.

@param gatewayID
  The identifier for the gateway profile to be requested

@param computeResourceId
  Preferences related to a particular compute resource

@return computeResourcePreference
  Returns the ComputeResourcePreference object.


Function: Airavata.getGatewayStoragePreference

gateway_resource_profile_model.StoragePreference getGatewayStoragePreference(security_model.AuthzToken authzToken,
                                                                             string gatewayID,
                                                                             string storageResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getAllGatewayComputeResourcePreferences

list<gateway_resource_profile_model.ComputeResourcePreference> getAllGatewayComputeResourcePreferences(security_model.AuthzToken authzToken,
                                                                                                       string gatewayID)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch all Compute Resource Preferences of a registered gateway profile.

@param gatewayID
  The identifier for the gateway profile to be requested

@return computeResourcePreference
  Returns the ComputeResourcePreference object.


Function: Airavata.getAllGatewayStoragePreferences

list<gateway_resource_profile_model.StoragePreference> getAllGatewayStoragePreferences(security_model.AuthzToken authzToken,
                                                                                       string gatewayID)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getAllGatewayResourceProfiles

list<gateway_resource_profile_model.GatewayResourceProfile> getAllGatewayResourceProfiles(security_model.AuthzToken authzToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch all Gateway Profiles registered

@return GatewayResourceProfile
  Returns all the GatewayResourcePrifle list object.



Function: Airavata.updateGatewayComputeResourcePreference

bool updateGatewayComputeResourcePreference(security_model.AuthzToken authzToken,
                                            string gatewayID,
                                            string computeResourceId,
                                            gateway_resource_profile_model.ComputeResourcePreference computeResourcePreference)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update a Compute Resource Preference to a registered gateway profile.

@param gatewayID
  The identifier for the gateway profile to be updated.

@param computeResourceId
  Preferences related to a particular compute resource

@param computeResourcePreference
  The ComputeResourcePreference object to be updated to the resource profile.

@return status
  Returns a success/failure of the updation.


Function: Airavata.updateGatewayStoragePreference

bool updateGatewayStoragePreference(security_model.AuthzToken authzToken,
                                    string gatewayID,
                                    string storageId,
                                    gateway_resource_profile_model.StoragePreference storagePreference)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.deleteGatewayComputeResourcePreference

bool deleteGatewayComputeResourcePreference(security_model.AuthzToken authzToken,
                                            string gatewayID,
                                            string computeResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete the Compute Resource Preference of a registered gateway profile.

@param gatewayID
  The identifier for the gateway profile to be deleted.

@param computeResourceId
  Preferences related to a particular compute resource

@return status
  Returns a success/failure of the deletion.


Function: Airavata.deleteGatewayStoragePreference

bool deleteGatewayStoragePreference(security_model.AuthzToken authzToken,
                                    string gatewayID,
                                    string storageId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
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.


Function: Airavata.getSSHAccountProvisioners

list<account_provisioning_model.SSHAccountProvisioner> getSSHAccountProvisioners(security_model.AuthzToken authzToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.doesUserHaveSSHAccount

bool doesUserHaveSSHAccount(security_model.AuthzToken authzToken,
                            string computeResourceId,
                            string userId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Check if user has an SSH account on the given compute resource. This
method will only work if the compute resource has an SSHAccountProvisioner configured for it.

Function: Airavata.isSSHSetupCompleteForUserComputeResourcePreference

bool isSSHSetupCompleteForUserComputeResourcePreference(security_model.AuthzToken authzToken,
                                                        string computeResourceId,
                                                        string airavataCredStoreToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Check if SSH account setup is complete for this user on the given compute resource.

Function: Airavata.setupUserComputeResourcePreferencesForSSH

user_resource_profile_model.UserComputeResourcePreference setupUserComputeResourcePreferencesForSSH(security_model.AuthzToken authzToken,
                                                                                                    string computeResourceId,
                                                                                                    string userId,
                                                                                                    string airavataCredStoreToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Setup and return a UserComputeResourcePreference object for this user to SSH into the given compute resource with
the given SSH credential. This method will only work if the compute resource has an SSHAccountProvisioner
configured for it. The returned UserComputeResourcePreference object is not saved; it is up to the client to
call addUserComputeResourcePreference to persist it.

Function: Airavata.registerUserResourceProfile

string registerUserResourceProfile(security_model.AuthzToken authzToken,
                                   user_resource_profile_model.UserResourceProfile userResourceProfile)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Register User Resource Profile.

@param UserResourceProfile
   User Resource Profile Object.
   The userId should be obtained from Airavata user profile data model and passed to register a corresponding
     resource profile.

@return status
  Returns a success/failure of the update.


Function: Airavata.isUserResourceProfileExists

bool isUserResourceProfileExists(security_model.AuthzToken authzToken,
                                 string userId,
                                 string gatewayID)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Check if User Resource Profile exists.

@param userId
  The identifier for the requested user resource profile.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@return bool


Function: Airavata.getUserResourceProfile

user_resource_profile_model.UserResourceProfile getUserResourceProfile(security_model.AuthzToken authzToken,
                                                                       string userId,
                                                                       string gatewayID)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch the given User Resource Profile.

@param userId
  The identifier for the requested user resource profile.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@return UserResourceProfile
   User Resource Profile Object.


Function: Airavata.updateUserResourceProfile

bool updateUserResourceProfile(security_model.AuthzToken authzToken,
                               string userId,
                               string gatewayID,
                               user_resource_profile_model.UserResourceProfile userResourceProfile)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update a User Resource Profile.

@param userId
  The identifier for the requested user resource to be updated.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@param UserResourceProfile
   User Resource Profile Object.

@return status
  Returns a success/failure of the update.


Function: Airavata.deleteUserResourceProfile

bool deleteUserResourceProfile(security_model.AuthzToken authzToken,
                               string userId,
                               string gatewayID)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete the given User Resource Profile.

@param userId
  The identifier for the requested user resource to be deleted.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@return status
  Returns a success/failure of the deletion.


Function: Airavata.addUserComputeResourcePreference

bool addUserComputeResourcePreference(security_model.AuthzToken authzToken,
                                      string userId,
                                      string gatewayID,
                                      string userComputeResourceId,
                                      user_resource_profile_model.UserComputeResourcePreference userComputeResourcePreference)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Add a Compute Resource Preference to a registered User profile.

@param userId
  The identifier for the User resource profile to be added.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@param computeResourceId
  Preferences related to a particular compute resource

@param computeResourcePreference
  The ComputeResourcePreference object to be added to the resource profile.

@return status
  Returns a success/failure of the addition. If a profile already exists, this operation will fail.
   Instead an update should be used.


Function: Airavata.addUserStoragePreference

bool addUserStoragePreference(security_model.AuthzToken authzToken,
                              string userId,
                              string gatewayID,
                              string userStorageResourceId,
                              user_resource_profile_model.UserStoragePreference userStoragePreference)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Add a Storage Resource Preference to a registered user resource profile.

@param userId
  The identifier of the user resource profile to be added.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@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.


Function: Airavata.getUserComputeResourcePreference

user_resource_profile_model.UserComputeResourcePreference getUserComputeResourcePreference(security_model.AuthzToken authzToken,
                                                                                           string userId,
                                                                                           string gatewayID,
                                                                                           string userComputeResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch a Compute Resource Preference of a registered user resource profile.

@param userId
  The identifier for the user profile to be requested

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@param userComputeResourceId
  Preferences related to a particular compute resource

@return computeResourcePreference
  Returns the ComputeResourcePreference object.


Function: Airavata.getUserStoragePreference

user_resource_profile_model.UserStoragePreference getUserStoragePreference(security_model.AuthzToken authzToken,
                                                                           string userId,
                                                                           string gatewayID,
                                                                           string userStorageResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch a Storage Resource Preference of a registered user resource profile.

@param userId
  The identifier of the user resource profile to request to fetch the particular storage resource preference.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@param userStorageResourceId
  Identifier of the Stprage Preference required to be fetched.

@return UserStoragePreference
  Returns the StoragePreference object.


Function: Airavata.getAllUserComputeResourcePreferences

list<user_resource_profile_model.UserComputeResourcePreference> getAllUserComputeResourcePreferences(security_model.AuthzToken authzToken,
                                                                                                     string userId,
                                                                                                     string gatewayID)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch all Compute Resource Preferences of a registered gateway profile.

@param userId
  The identifier of the user resource profile to request to fetch the particular storage resource preference.

@param gatewayID
  The identifier for the gateway profile to be requested

@return computeResourcePreference
  Returns the ComputeResourcePreference object.


Function: Airavata.getAllUserStoragePreferences

list<user_resource_profile_model.UserStoragePreference> getAllUserStoragePreferences(security_model.AuthzToken authzToken,
                                                                                     string userId,
                                                                                     string gatewayID)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch all User Storage Resource Preferences of a registered user profile.

@param userId
  The identifier of the user resource profile to request to fetch the particular storage resource preference.

@param gatewayID
  The identifier for the gateway profile to be requested

@return StoragePreference
  Returns the StoragePreference object.


Function: Airavata.getAllUserResourceProfiles

list<user_resource_profile_model.UserResourceProfile> getAllUserResourceProfiles(security_model.AuthzToken authzToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Fetch all user resources Profiles registered

@return UserResourceProfile
  Returns all the UserResourcePrifle list object.



Function: Airavata.updateUserComputeResourcePreference

bool updateUserComputeResourcePreference(security_model.AuthzToken authzToken,
                                         string userId,
                                         string gatewayID,
                                         string userComputeResourceId,
                                         user_resource_profile_model.UserComputeResourcePreference userComputeResourcePreference)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update a Compute Resource Preference to a registered user resource profile.

@param userId
  The identifier for the user profile to be updated.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@param userComputeResourceId
  Preferences related to a particular compute resource

@param userComputeResourcePreference
  The ComputeResourcePreference object to be updated to the resource profile.

@return status
  Returns a success/failure of the updation.


Function: Airavata.updateUserStoragePreference

bool updateUserStoragePreference(security_model.AuthzToken authzToken,
                                 string userId,
                                 string gatewayID,
                                 string userStorageId,
                                 user_resource_profile_model.UserStoragePreference userStoragePreference)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Update a Storage Resource Preference of a registered user resource profile.

@param userId
  The identifier of the user resource profile to be updated.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@param userStorageId
  The Storage resource identifier of the one that you want to update

@param userStoragePreference
  The storagePreference object to be updated to the resource profile.

@return status
  Returns a success/failure of the updation.


Function: Airavata.deleteUserComputeResourcePreference

bool deleteUserComputeResourcePreference(security_model.AuthzToken authzToken,
                                         string userId,
                                         string gatewayID,
                                         string userComputeResourceId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete the Compute Resource Preference of a registered user resource profile.

@param userId
  The identifier for the user resource profile to be deleted.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@param userComputeResourceId
  Preferences related to a particular compute resource

@return status
  Returns a success/failure of the deletion.


Function: Airavata.deleteUserStoragePreference

bool deleteUserStoragePreference(security_model.AuthzToken authzToken,
                                 string userId,
                                 string gatewayID,
                                 string userStorageId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Delete the Storage Resource Preference of a registered user resource profile.

@param userId
  The identifier of the user profile to be deleted.

@param gatewayID
  The identifier to link a gateway for the requested user resource profile.

@param userStorageId
  ID of the storage preference you want to delete.

@return status
  Returns a success/failure of the deletion.


Function: Airavata.getLatestQueueStatuses

list<status_models.QueueStatusModel> getLatestQueueStatuses(security_model.AuthzToken authzToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.registerDataProduct

string registerDataProduct(security_model.AuthzToken authzToken,
                           replica_catalog_models.DataProductModel dataProductModel)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
API Methods related to replica catalog


Function: Airavata.getDataProduct

replica_catalog_models.DataProductModel getDataProduct(security_model.AuthzToken authzToken,
                                                       string dataProductUri)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.registerReplicaLocation

string registerReplicaLocation(security_model.AuthzToken authzToken,
                               replica_catalog_models.DataReplicaLocationModel replicaLocationModel)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getParentDataProduct

replica_catalog_models.DataProductModel getParentDataProduct(security_model.AuthzToken authzToken,
                                                             string productUri)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getChildDataProducts

list<replica_catalog_models.DataProductModel> getChildDataProducts(security_model.AuthzToken authzToken,
                                                                   string productUri)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.shareResourceWithUsers

bool shareResourceWithUsers(security_model.AuthzToken authzToken,
                            string resourceId,
                            map<string, group_manager_model.ResourcePermissionType> userPermissionList)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
Group Manager and Data Sharing Related API methods


Function: Airavata.shareResourceWithGroups

bool shareResourceWithGroups(security_model.AuthzToken authzToken,
                             string resourceId,
                             map<string, group_manager_model.ResourcePermissionType> groupPermissionList)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.revokeSharingOfResourceFromUsers

bool revokeSharingOfResourceFromUsers(security_model.AuthzToken authzToken,
                                      string resourceId,
                                      map<string, group_manager_model.ResourcePermissionType> userPermissionList)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.revokeSharingOfResourceFromGroups

bool revokeSharingOfResourceFromGroups(security_model.AuthzToken authzToken,
                                       string resourceId,
                                       map<string, group_manager_model.ResourcePermissionType> groupPermissionList)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getAllAccessibleUsers

list<string> getAllAccessibleUsers(security_model.AuthzToken authzToken,
                                   string resourceId,
                                   group_manager_model.ResourcePermissionType permissionType)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getAllAccessibleGroups

list<string> getAllAccessibleGroups(security_model.AuthzToken authzToken,
                                    string resourceId,
                                    group_manager_model.ResourcePermissionType permissionType)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getAllDirectlyAccessibleUsers

list<string> getAllDirectlyAccessibleUsers(security_model.AuthzToken authzToken,
                                           string resourceId,
                                           group_manager_model.ResourcePermissionType permissionType)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getAllDirectlyAccessibleGroups

list<string> getAllDirectlyAccessibleGroups(security_model.AuthzToken authzToken,
                                            string resourceId,
                                            group_manager_model.ResourcePermissionType permissionType)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.userHasAccess

bool userHasAccess(security_model.AuthzToken authzToken,
                   string resourceId,
                   group_manager_model.ResourcePermissionType permissionType)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.createGroupResourceProfile

string createGroupResourceProfile(security_model.AuthzToken authzToken,
                                  group_resource_profile_model.GroupResourceProfile groupResourceProfile)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.updateGroupResourceProfile

void updateGroupResourceProfile(security_model.AuthzToken authzToken,
                                group_resource_profile_model.GroupResourceProfile groupResourceProfile)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getGroupResourceProfile

group_resource_profile_model.GroupResourceProfile getGroupResourceProfile(security_model.AuthzToken authzToken,
                                                                          string groupResourceProfileId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.removeGroupResourceProfile

bool removeGroupResourceProfile(security_model.AuthzToken authzToken,
                                string groupResourceProfileId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getGroupResourceList

list<group_resource_profile_model.GroupResourceProfile> getGroupResourceList(security_model.AuthzToken authzToken,
                                                                             string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.removeGroupComputePrefs

bool removeGroupComputePrefs(security_model.AuthzToken authzToken,
                             string computeResourceId,
                             string groupResourceProfileId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.removeGroupComputeResourcePolicy

bool removeGroupComputeResourcePolicy(security_model.AuthzToken authzToken,
                                      string resourcePolicyId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.removeGroupBatchQueueResourcePolicy

bool removeGroupBatchQueueResourcePolicy(security_model.AuthzToken authzToken,
                                         string resourcePolicyId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getGroupComputeResourcePreference

group_resource_profile_model.GroupComputeResourcePreference getGroupComputeResourcePreference(security_model.AuthzToken authzToken,
                                                                                              string computeResourceId,
                                                                                              string groupResourceProfileId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getGroupComputeResourcePolicy

group_resource_profile_model.ComputeResourcePolicy getGroupComputeResourcePolicy(security_model.AuthzToken authzToken,
                                                                                 string resourcePolicyId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getBatchQueueResourcePolicy

group_resource_profile_model.BatchQueueResourcePolicy getBatchQueueResourcePolicy(security_model.AuthzToken authzToken,
                                                                                  string resourcePolicyId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getGroupComputeResourcePrefList

list<group_resource_profile_model.GroupComputeResourcePreference> getGroupComputeResourcePrefList(security_model.AuthzToken authzToken,
                                                                                                  string groupResourceProfileId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getGroupBatchQueueResourcePolicyList

list<group_resource_profile_model.BatchQueueResourcePolicy> getGroupBatchQueueResourcePolicyList(security_model.AuthzToken authzToken,
                                                                                                 string groupResourceProfileId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getGroupComputeResourcePolicyList

list<group_resource_profile_model.ComputeResourcePolicy> getGroupComputeResourcePolicyList(security_model.AuthzToken authzToken,
                                                                                           string groupResourceProfileId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getGatewayGroups

gateway_groups_model.GatewayGroups getGatewayGroups(security_model.AuthzToken authzToken)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException
GatewayGroups API methods

Function: Airavata.getParser

parser_model.Parser getParser(security_model.AuthzToken authzToken,
                              string parserId,
                              string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.saveParser

string saveParser(security_model.AuthzToken authzToken,
                  parser_model.Parser parser)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.listAllParsers

list<parser_model.Parser> listAllParsers(security_model.AuthzToken authzToken,
                                         string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.removeParser

bool removeParser(security_model.AuthzToken authzToken,
                  string parserId,
                  string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getParsingTemplate

parser_model.ParsingTemplate getParsingTemplate(security_model.AuthzToken authzToken,
                                                string templateId,
                                                string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.getParsingTemplatesForExperiment

list<parser_model.ParsingTemplate> getParsingTemplatesForExperiment(security_model.AuthzToken authzToken,
                                                                    string experimentId,
                                                                    string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.saveParsingTemplate

string saveParsingTemplate(security_model.AuthzToken authzToken,
                           parser_model.ParsingTemplate parsingTemplate)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.removeParsingTemplate

bool removeParsingTemplate(security_model.AuthzToken authzToken,
                           string templateId,
                           string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException

Function: Airavata.listAllParsingTemplates

list<parser_model.ParsingTemplate> listAllParsingTemplates(security_model.AuthzToken authzToken,
                                                           string gatewayId)
    throws airavata_errors.InvalidRequestException, airavata_errors.AiravataClientException, airavata_errors.AiravataSystemException, airavata_errors.AuthorizationException