http://git-wip-us.apache.org/repos/asf/airavata/blob/39fba1f5/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py index ee69980..8263292 100644 --- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py +++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py @@ -1,54851 +1,52177 @@ # -# Autogenerated by Thrift Compiler (0.9.3) +# Autogenerated by Thrift Compiler (0.10.0) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # # options string: py # -from thrift.Thrift import TType, TMessageType, TException, TApplicationException +from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException +from thrift.protocol.TProtocol import TProtocolException +import sys import logging -from ttypes import * +from .ttypes import * from thrift.Thrift import TProcessor from thrift.transport import TTransport -from thrift.protocol import TBinaryProtocol, TProtocol -try: - from thrift.protocol import fastbinary -except: - fastbinary = None -class Iface: - def getAPIVersion(self, authzToken): - """ - Fetch Apache Airavata API version +class Iface(object): + def getAPIVersion(self, authzToken): + """ + Fetch Apache Airavata API version - Parameters: - - authzToken - """ - pass + Parameters: + - authzToken + """ + pass - def isUserExists(self, authzToken, gatewayId, userName): - """ - Verify if User Exists within Airavata. + def isUserExists(self, authzToken, gatewayId, userName): + """ + Verify if User Exists within Airavata. - @param gatewayId + @param gatewayId - @param userName + @param userName - @return true/false + @return true/false - Parameters: - - authzToken - - gatewayId - - userName - """ - pass + Parameters: + - authzToken + - gatewayId + - userName + """ + pass - def addGateway(self, authzToken, gateway): - """ - Register a Gateway with Airavata. + def addGateway(self, authzToken, gateway): + """ + Register a Gateway with Airavata. - @param gateway - The gateway data model. + @param gateway + The gateway data model. - @return gatewayId - Th unique identifier of the newly registered gateway. + @return gatewayId + Th unique identifier of the newly registered gateway. - Parameters: - - authzToken - - gateway - """ - pass + Parameters: + - authzToken + - gateway + """ + pass - def getAllUsersInGateway(self, authzToken, gatewayId): - """ - Get all users in the gateway + def getAllUsersInGateway(self, authzToken, gatewayId): + """ + Get all users in the gateway - @param gatewayId - The gateway data model. + @param gatewayId + The gateway data model. - @return users - list of usernames of the users in the gateway + @return users + list of usernames of the users in the gateway - Parameters: - - authzToken - - gatewayId - """ - pass + Parameters: + - authzToken + - gatewayId + """ + pass - def updateGateway(self, authzToken, gatewayId, updatedGateway): - """ - Update previously registered Gateway metadata. + def updateGateway(self, authzToken, gatewayId, updatedGateway): + """ + Update previously registered Gateway metadata. - @param gatewayId - The gateway Id of the Gateway which require an update. + @param gatewayId + The gateway Id of the Gateway which require an update. - @return gateway - Modified gateway obejct. + @return gateway + Modified gateway obejct. - @exception AiravataClientException + @exception AiravataClientException - Parameters: - - authzToken - - gatewayId - - updatedGateway - """ - pass + Parameters: + - authzToken + - gatewayId + - updatedGateway + """ + pass - def getGateway(self, authzToken, gatewayId): - """ - Get Gateway details by providing gatewayId + def getGateway(self, authzToken, gatewayId): + """ + Get Gateway details by providing gatewayId - @param gatewayId - The gateway Id of the Gateway. + @param gatewayId + The gateway Id of the Gateway. - @return gateway - Gateway obejct. + @return gateway + Gateway obejct. - Parameters: - - authzToken - - gatewayId - """ - pass + Parameters: + - authzToken + - gatewayId + """ + pass - def deleteGateway(self, authzToken, gatewayId): - """ - Delete a Gateway + def deleteGateway(self, authzToken, gatewayId): + """ + Delete a Gateway - @param gatewayId - The gateway Id of the Gateway to be deleted. + @param gatewayId + The gateway Id of the Gateway to be deleted. - @return boolean - Boolean identifier for the success or failure of the deletion operation. + @return boolean + Boolean identifier for the success or failure of the deletion operation. - Parameters: - - authzToken - - gatewayId - """ - pass + Parameters: + - authzToken + - gatewayId + """ + pass - def getAllGateways(self, authzToken): - """ - Get All the Gateways Connected to Airavata. + def getAllGateways(self, authzToken): + """ + Get All the Gateways Connected to Airavata. - Parameters: - - authzToken - """ - pass + Parameters: + - authzToken + """ + pass - def isGatewayExist(self, authzToken, gatewayId): - """ - Check for the Existance of a Gateway within Airavata + def isGatewayExist(self, authzToken, gatewayId): + """ + Check for the Existance of a Gateway within Airavata - @param gatewayId - Provide the gatewayId of the gateway you want to check the existancy + @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 boolean + Boolean idetifier for the existance or non-existane of the gatewayId - @return gatewayId - return the gatewayId of the existing gateway. + @return gatewayId + return the gatewayId of the existing gateway. - Parameters: - - authzToken - - gatewayId - """ - pass + Parameters: + - authzToken + - gatewayId + """ + pass - def createNotification(self, authzToken, notification): - """ - * API methods to retrieve notifications - * + def createNotification(self, authzToken, notification): + """ + * API methods to retrieve notifications + * - Parameters: - - authzToken - - notification - """ - pass + Parameters: + - authzToken + - notification + """ + pass - def updateNotification(self, authzToken, notification): - """ - Parameters: - - authzToken - - notification - """ - pass + def updateNotification(self, authzToken, notification): + """ + Parameters: + - authzToken + - notification + """ + pass - def deleteNotification(self, authzToken, gatewayId, notificationId): - """ - Parameters: - - authzToken - - gatewayId - - notificationId - """ - pass + def deleteNotification(self, authzToken, gatewayId, notificationId): + """ + Parameters: + - authzToken + - gatewayId + - notificationId + """ + pass - def getNotification(self, authzToken, gatewayId, notificationId): - """ - Parameters: - - authzToken - - gatewayId - - notificationId - """ - pass + def getNotification(self, authzToken, gatewayId, notificationId): + """ + Parameters: + - authzToken + - gatewayId + - notificationId + """ + pass - def getAllNotifications(self, authzToken, gatewayId): - """ - Parameters: - - authzToken - - gatewayId - """ - pass + def getAllNotifications(self, authzToken, gatewayId): + """ + Parameters: + - authzToken + - gatewayId + """ + pass - def generateAndRegisterSSHKeys(self, authzToken, gatewayId, userName, description, credentialOwnerType): - """ - Generate and Register SSH Key Pair with Airavata Credential Store. + def generateAndRegisterSSHKeys(self, authzToken, gatewayId, userName, description, credentialOwnerType): + """ + Generate and Register SSH Key Pair with Airavata Credential Store. - @param gatewayId - The identifier for the requested Gateway. + @param gatewayId + The identifier for the requested Gateway. - @param userName - The User for which the credential should be registered. For community accounts, this user is the name of the - community user name. For computational resources, this user name need not be the same user name on resoruces. + @param userName + The User for which the credential should be registered. For community accounts, this user is the name of the + community user name. For computational resources, this user name need not be the same user name on resoruces. - @param description - The description field for a credential type, all type of credential can have a description. + @param description + The description field for a credential type, all type of credential can have a description. - @param credentialOwnerType - The type of owner of this credential. Two possible values: GATEWAY (default) and USER + @param credentialOwnerType + The type of owner of this credential. Two possible values: GATEWAY (default) and USER - @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. + @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. - Parameters: - - authzToken - - gatewayId - - userName - - description - - credentialOwnerType - """ - pass + Parameters: + - authzToken + - gatewayId + - userName + - description + - credentialOwnerType + """ + pass - def registerPwdCredential(self, authzToken, gatewayId, portalUserName, loginUserName, password, description): - """ - Generate and Register Username PWD Pair with Airavata Credential Store. + def registerPwdCredential(self, authzToken, gatewayId, portalUserName, loginUserName, password, description): + """ + Generate and Register Username PWD Pair with Airavata Credential Store. - @param gatewayId - The identifier for the requested Gateway. + @param gatewayId + The identifier for the requested Gateway. - @param portalUserName - The User for which the credential should be registered. For community accounts, this user is the name of the - community user name. For computational resources, this user name need not be the same user name on resoruces. + @param portalUserName + The User for which the credential should be registered. For community accounts, this user is the name of the + community user name. For computational resources, this user name need not be the same user name on resoruces. - @param loginUserName + @param loginUserName - @param password + @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. + @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. - Parameters: - - authzToken - - gatewayId - - portalUserName - - loginUserName - - password - - description - """ - pass + Parameters: + - authzToken + - gatewayId + - portalUserName + - loginUserName + - password + - description + """ + pass - def getSSHPubKey(self, authzToken, airavataCredStoreToken, gatewayId): - """ - Get a Public Key by Providing the Token + def getSSHPubKey(self, authzToken, airavataCredStoreToken, gatewayId): + """ + Get a Public Key by Providing the Token - @param CredStoreToken - Credential Store Token which you want to find the Public Key for. + @param CredStoreToken + Credential Store Token which you want to find the Public Key for. - @param gatewayId - This is the unique identifier of your gateway where the token and public key was generated from. + @param gatewayId + This is the unique identifier of your gateway where the token and public key was generated from. - @return publicKey + @return publicKey - Parameters: - - authzToken - - airavataCredStoreToken - - gatewayId - """ - pass + Parameters: + - authzToken + - airavataCredStoreToken + - gatewayId + """ + pass - def getAllGatewaySSHPubKeys(self, authzToken, gatewayId): - """ + def getAllGatewaySSHPubKeys(self, authzToken, gatewayId): + """ - Get all Public Keys of the Gateway + Get all Public Keys of the Gateway - @param CredStoreToken - Credential Store Token which you want to find the Public Key for. + @param CredStoreToken + Credential Store Token which you want to find the Public Key for. - @param gatewayId - This is the unique identifier of your gateway where the token and public key was generated from. + @param gatewayId + This is the unique identifier of your gateway where the token and public key was generated from. - @return publicKey + @return publicKey - Parameters: - - authzToken - - gatewayId - """ - pass + Parameters: + - authzToken + - gatewayId + """ + pass - def getAllCredentialSummaryForGateway(self, authzToken, type, gatewayId): - """ + def getAllCredentialSummaryForGateway(self, authzToken, type, gatewayId): + """ - Get all Credential summaries for the Gateway + Get all Credential summaries for the Gateway - @param CredStoreToken - Credential Store Token which you want to find the Public Key for. + @param CredStoreToken + Credential Store Token which you want to find the Public Key for. - @param credential_store_data_models.SummaryType - Summary type : SSH,PASSWD or CERT + @param credential_store_data_models.SummaryType + Summary type : SSH,PASSWD or CERT - @param gatewayId - This is the unique identifier of your gateway where the token and public key was generated from. + @param gatewayId + This is the unique identifier of your gateway where the token and public key was generated from. - @return List of Credential Summary Objects + @return List of Credential Summary Objects - Parameters: - - authzToken - - type - - gatewayId - """ - pass + Parameters: + - authzToken + - type + - gatewayId + """ + pass - def getAllCredentialSummaryForUsersInGateway(self, authzToken, type, gatewayId, userId): - """ + def getAllCredentialSummaryForUsersInGateway(self, authzToken, type, gatewayId, userId): + """ - Get all Credential summaries for user in a Gateway + Get all Credential summaries for user in a Gateway - @param CredStoreToken - Credential Store Token which you want to find the Public Key for. + @param CredStoreToken + Credential Store Token which you want to find the Public Key for. - @param credential_store_data_models.SummaryType - Summary type : SSH,PASSWD or CERT + @param credential_store_data_models.SummaryType + Summary type : SSH,PASSWD or CERT - @param gatewayId - This is the unique identifier of your gateway where the token and public key was generated from. + @param gatewayId + This is the unique identifier of your gateway where the token and public key was generated from. - @param userId - This is the unique identifier of user whose public keys are to be fetched. + @param userId + This is the unique identifier of user whose public keys are to be fetched. - @return CredentialSummary + @return CredentialSummary - Parameters: - - authzToken - - type - - gatewayId - - userId - """ - pass + Parameters: + - authzToken + - type + - gatewayId + - userId + """ + pass - def getAllGatewayPWDCredentials(self, authzToken, gatewayId): - """ - Parameters: - - authzToken - - gatewayId - """ - pass + def getAllGatewayPWDCredentials(self, authzToken, gatewayId): + """ + Parameters: + - authzToken + - gatewayId + """ + pass - def deleteSSHPubKey(self, authzToken, airavataCredStoreToken, gatewayId): - """ + def deleteSSHPubKey(self, authzToken, airavataCredStoreToken, gatewayId): + """ - Delete a Gateway + Delete a Gateway - @param gatewayId - The gateway Id of the Gateway to be deleted. + @param gatewayId + The gateway Id of the Gateway to be deleted. - @return boolean - Boolean identifier for the success or failure of the deletion operation. + @return boolean + Boolean identifier for the success or failure of the deletion operation. - Parameters: - - authzToken - - airavataCredStoreToken - - gatewayId - """ - pass + Parameters: + - authzToken + - airavataCredStoreToken + - gatewayId + """ + pass - def deletePWDCredential(self, authzToken, airavataCredStoreToken, gatewayId): - """ - Parameters: - - authzToken - - airavataCredStoreToken - - gatewayId - """ - pass + def deletePWDCredential(self, authzToken, airavataCredStoreToken, gatewayId): + """ + Parameters: + - authzToken + - airavataCredStoreToken + - gatewayId + """ + pass - def createProject(self, authzToken, gatewayId, project): - """ + def createProject(self, authzToken, gatewayId, project): + """ - Creates a Project with basic metadata. - A Project is a container of experiments. + Creates a Project with basic metadata. + A Project is a container of experiments. - @param gatewayId - The identifier for the requested gateway. + @param gatewayId + The identifier for the requested gateway. - @param Project - The Project Object described in the workspace_model. + @param Project + The Project Object described in the workspace_model. - Parameters: - - authzToken - - gatewayId - - project - """ - pass + Parameters: + - authzToken + - gatewayId + - project + """ + pass - def updateProject(self, authzToken, projectId, updatedProject): - """ + def updateProject(self, authzToken, projectId, updatedProject): + """ - Update an Existing Project + Update an Existing Project - @param projectId - The projectId of the project needed an update. + @param projectId + The projectId of the project needed an update. - @return void - Currently this does not return any value. + @return void + Currently this does not return any value. - Parameters: - - authzToken - - projectId - - updatedProject - """ - pass + Parameters: + - authzToken + - projectId + - updatedProject + """ + pass - def getProject(self, authzToken, projectId): - """ + def getProject(self, authzToken, projectId): + """ - Get a Project by ID - This method is to obtain a project by providing a projectId. + Get a Project by ID + This method is to obtain a project by providing a projectId. - @param projectId - projectId of the project you require. + @param projectId + projectId of the project you require. - @return project - project data model will be returned. + @return project + project data model will be returned. - Parameters: - - authzToken - - projectId - """ - pass + Parameters: + - authzToken + - projectId + """ + pass - def deleteProject(self, authzToken, projectId): - """ + def deleteProject(self, authzToken, projectId): + """ - Delete a Project - This method is used to delete an existing Project. + Delete a Project + This method is used to delete an existing Project. - @param projectId - projectId of the project you want to delete. + @param projectId + projectId of the project you want to delete. - @return boolean - Boolean identifier for the success or failure of the deletion operation. + @return boolean + Boolean identifier for the success or failure of the deletion operation. - NOTE: This method is not used within gateways connected with Airavata. + NOTE: This method is not used within gateways connected with Airavata. - Parameters: - - authzToken - - projectId - """ - pass + Parameters: + - authzToken + - projectId + """ + pass - def getUserProjects(self, authzToken, gatewayId, userName, limit, offset): - """ + def getUserProjects(self, authzToken, gatewayId, userName, limit, offset): + """ - Get All User Projects - Get all Project for the user with pagination. Results will be ordered based on creation time DESC. + Get All User Projects + Get all Project for the user with pagination. Results will be ordered based on creation time DESC. - @param gatewayId - The identifier for the requested gateway. + @param gatewayId + The identifier for the requested gateway. - @param userName - The identifier of the user. + @param userName + The identifier of the user. - @param limit - The amount results to be fetched. + @param limit + The amount results to be fetched. - @param offset - The starting point of the results to be fetched. + @param offset + The starting point of the results to be fetched. - Parameters: - - authzToken - - gatewayId - - userName - - limit - - offset - """ - pass + Parameters: + - authzToken + - gatewayId + - userName + - limit + - offset + """ + pass - def searchProjects(self, authzToken, gatewayId, userName, filters, limit, offset): - """ + def searchProjects(self, authzToken, gatewayId, userName, filters, limit, offset): + """ - 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. + 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 gatewayId + The unique identifier of the gateway making the request. - @param userName - The identifier of the user. + @param userName + The identifier of the user. - @param filters - Map of multiple filter criteria. Currenlt search filters includes Project Name and Project Description + @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 limit + The amount results to be fetched. - @param offset - The starting point of the results to be fetched. + @param offset + The starting point of the results to be fetched. - Parameters: - - authzToken - - gatewayId - - userName - - filters - - limit - - offset - """ - pass + Parameters: + - authzToken + - gatewayId + - userName + - filters + - limit + - offset + """ + pass - def searchExperiments(self, authzToken, gatewayId, userName, filters, limit, offset): - """ - Search Experiments. - Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC. + def searchExperiments(self, authzToken, gatewayId, userName, filters, limit, offset): + """ + 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 gatewayId + Identifier of the requested gateway. - @param userName - Username of the user requesting the search function. + @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 filters + Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc.... - @param limit - Amount of results to be fetched. + @param limit + Amount of results to be fetched. - @param offset - The starting point of the 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. + @return ExperimentSummaryModel + List of experiments for the given search filter. Here only the Experiment summary will be returned. - Parameters: - - authzToken - - gatewayId - - userName - - filters - - limit - - offset - """ - pass + Parameters: + - authzToken + - gatewayId + - userName + - filters + - limit + - offset + """ + pass - def getExperimentStatistics(self, authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName): - """ + def getExperimentStatistics(self, authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName): + """ - 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. + 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 gatewayId + Unique identifier of the gateway making the request to fetch statistics. - @param fromTime - Starting date time. + @param fromTime + Starting date time. - @param toTime - Ending data time. + @param toTime + Ending data time. - @param userName - Gateway username substring with which to further filter statistics. + @param userName + Gateway username substring with which to further filter statistics. - @param applicationName - Application id 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. + @param resourceHostName + Hostname id substring with which to further filter statistics. + + + + Parameters: + - authzToken + - gatewayId + - fromTime + - toTime + - userName + - applicationName + - resourceHostName + """ + pass + + def getExperimentsInProject(self, authzToken, projectId, limit, offset): + """ + + 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. + + + + Parameters: + - authzToken + - projectId + - limit + - offset + """ + pass + + def getUserExperiments(self, authzToken, gatewayId, userName, limit, offset): + """ + + 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. + + + + Parameters: + - authzToken + - gatewayId + - userName + - limit + - offset + """ + pass + + def createExperiment(self, authzToken, gatewayId, experiment): + """ + * + * 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. + * + * + + Parameters: + - authzToken + - gatewayId + - experiment + """ + pass + + def deleteExperiment(self, authzToken, experimentId): + """ + + 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. + + + + Parameters: + - authzToken + - experimentId + """ + pass + + def getExperiment(self, authzToken, airavataExperimentId): + """ + * + * 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. + * + * + + Parameters: + - authzToken + - airavataExperimentId + """ + pass + + def getExperimentByAdmin(self, authzToken, airavataExperimentId): + """ + * + * 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. + * + * + + Parameters: + - authzToken + - airavataExperimentId + """ + pass + + def getDetailedExperimentTree(self, authzToken, airavataExperimentId): + """ + + Get Complete Experiment Details + Fetch the completed nested tree structue of previously created experiment metadata which includes processes -> + tasks -> jobs information. + + @param airavataExperimentId + The identifier for the requested experiment. This is returned during the create experiment step. + + @return 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. + + + Parameters: + - authzToken + - airavataExperimentId + """ + pass + + def updateExperiment(self, authzToken, airavataExperimentId, experiment): + """ + + 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. + + + Parameters: + - authzToken + - airavataExperimentId + - experiment + """ + pass + def updateExperimentConfiguration(self, authzToken, airavataExperimentId, userConfiguration): + """ + Parameters: + - authzToken + - airavataExperimentId + - userConfiguration + """ + pass + def updateResourceScheduleing(self, authzToken, airavataExperimentId, resourceScheduling): + """ + Parameters: + - authzToken + - airavataExperimentId + - resourceScheduling + """ + pass - Parameters: - - authzToken - - gatewayId - - fromTime - - toTime - - userName - - applicationName - - resourceHostName - """ - pass + def validateExperiment(self, authzToken, airavataExperimentId): + """ + * + * 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. + * + * - def getExperimentsInProject(self, authzToken, projectId, limit, offset): - """ + Parameters: + - authzToken + - airavataExperimentId + """ + pass - Get All Experiments of the Project - Get Experiments within project with pagination. Results will be sorted based on creation time DESC. + def launchExperiment(self, authzToken, airavataExperimentId, gatewayId): + """ - @param projectId - Uniqie identifier of the project. + 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. - @param limit - Amount of results to be fetched. + @gatewayId + ID of the gateway which will launch the experiment. - @param offset - The starting point of the results to be fetched. + @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. - Parameters: - - authzToken - - projectId - - limit - - offset - """ - pass + @throws org.apache.airavata.model.error.ExperimentNotFoundException + If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. - def getUserExperiments(self, authzToken, gatewayId, userName, limit, offset): - """ + @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. - Get All Experiments of the User - Get experiments by user with pagination. Results will be sorted based on creation time DESC. + AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + For now this is a place holder. - @param gatewayId - Identifier of the requesting gateway. + INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + is implemented, the authorization will be more substantial. - @param userName - Username of the requested end user. + @throws org.apache.airavata.model.error.AiravataSystemException + This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + rather an Airavata Administrator will be notified to take corrective action. - @param limit - Amount of results to be fetched. - @param offset - The starting point of the results to be fetched. + Parameters: + - authzToken + - airavataExperimentId + - gatewayId + """ + pass + def getExperimentStatus(self, authzToken, airavataExperimentId): + """ + Get Experiment Status - Parameters: - - authzToken - - gatewayId - - userName - - limit - - offset - """ - pass - - def createExperiment(self, authzToken, gatewayId, experiment): - """ - * - * 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. - * - * - - Parameters: - - authzToken - - gatewayId - - experiment - """ - pass + Obtain the status of an experiment by providing the Experiment Id - def deleteExperiment(self, authzToken, experimentId): - """ + @param authzToken - Delete an Experiment - If the experiment is not already launched experiment can be deleted. + @param airavataExperimentId + Experiment ID of the experimnet you require the status. - @param authzToken + @return ExperimentStatus + ExperimentStatus model with the current status will be returned. - @param experiementId - Experiment ID of the experimnet you want to delete. - @return boolean - Identifier for the success or failure of the deletion operation. + Parameters: + - authzToken + - airavataExperimentId + """ + pass + def getExperimentOutputs(self, authzToken, airavataExperimentId): + """ - Parameters: - - authzToken - - experimentId - """ - pass - - def getExperiment(self, authzToken, airavataExperimentId): - """ - * - * 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. - * - * - - Parameters: - - authzToken - - airavataExperimentId - """ - pass - - def getExperimentByAdmin(self, authzToken, airavataExperimentId): - """ - * - * 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. - * - * - - Parameters: - - authzToken - - airavataExperimentId - """ - pass + Get Experiment Outputs + This method to be used when need to obtain final outputs of a certain Experiment - def getDetailedExperimentTree(self, authzToken, airavataExperimentId): - """ + @param authzToken - Get Complete Experiment Details - Fetch the completed nested tree structue of previously created experiment metadata which includes processes -> - tasks -> jobs information. + @param airavataExperimentId + Experiment ID of the experimnet you need the outputs. - @param airavataExperimentId - The identifier for the requested experiment. This is returned during the create experiment step. + @return list + List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment. - @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. + Parameters: + - authzToken + - airavataExperimentId + """ + pass - @throws org.apache.airavata.model.error.AiravataClientException - The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + def getIntermediateOutputs(self, authzToken, airavataExperimentId): + """ - 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. + Get Intermediate Experiment Outputs + This method to be used when need to obtain intermediate outputs of a certain Experiment - AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. - For now this is a place holder. + @param authzToken - INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake - is implemented, the authorization will be more substantial. + @param airavataExperimentId + Experiment ID of the experimnet you need intermediate outputs. - @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. + @return list + List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment. - Parameters: - - authzToken - - airavataExperimentId - """ - pass - def updateExperiment(self, authzToken, airavataExperimentId, experiment): - """ + Parameters: + - authzToken + - airavataExperimentId + """ + pass - 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. + def getJobStatuses(self, authzToken, airavataExperimentId): + """ - @param airavataExperimentId - The identifier for the requested experiment. This is returned during the create experiment step. + 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 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. + @param authzToken - @return - This method call does not have a return value. + @param experiementId + Experiment ID of the experimnet you need the job statuses. - @throws org.apache.airavata.model.error.InvalidRequestException - For any incorrect forming of the request itself. + @return JobStatus + Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map - @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. + Parameters: + - authzToken + - airavataExperimentId + """ + pass - INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake - is implemented, the authorization will be more substantial. + def getJobDetails(self, authzToken, airavataExperimentId): + """ - @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. + 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 - Parameters: - - authzToken - - airavataExperimentId - - experiment - """ - pass + @param experiementId + Experiment ID of the experimnet you need job details. - def updateExperimentConfiguration(self, authzToken, airavataExperimentId, userConfiguration): - """ - Parameters: - - authzToken - - airavataExperimentId - - userConfiguration - """ - pass + @return list of JobDetails + Job details. - def updateResourceScheduleing(self, authzToken, airavataExperimentId, resourceScheduling): - """ - Parameters: - - authzToken - - airavataExperimentId - - resourceScheduling - """ - pass - def validateExperiment(self, authzToken, airavataExperimentId): - """ - * - * 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. - * - * - Parameters: - - authzToken - - airavataExperimentId - """ - pass + Parameters: + - authzToken + - airavataExperimentId + """ + pass - def launchExperiment(self, authzToken, airavataExperimentId, gatewayId): - """ + def cloneExperiment(self, authzToken, existingExperimentID, newExperimentName, newExperimentProjectId): + """ - 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. + 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. - @gatewayId - ID of the gateway which will launch the experiment. + @param newExperimentName + experiment name that should be used in the cloned experiment - @param airavataExperimentId - The identifier for the requested experiment. This is returned during the create experiment step. + @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 - This method call does not have a return value. + @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.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.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. + @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. + 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. + 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. + @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. - Parameters: - - authzToken - - airavataExperimentId - - gatewayId - """ - pass + Parameters: + - authzToken + - existingExperimentID + - newExperimentName + - newExperimentProjectId + """ + pass - def getExperimentStatus(self, authzToken, airavataExperimentId): - """ + def cloneExperimentByAdmin(self, authzToken, existingExperimentID, newExperimentName, newExperimentProjectId): + """ - Get Experiment Status + 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. - Obtain the status of an experiment by providing the Experiment Id + @param newExperimentName + experiment name that should be used in the cloned experiment - @param authzToken + @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. - @param airavataExperimentId - Experiment ID of the experimnet you require the status. + @return + The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment. - @return ExperimentStatus - ExperimentStatus model with the current status will be returned. + @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: - Parameters: - - authzToken - - airavataExperimentId - """ - pass + 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. - def getExperimentOutputs(self, authzToken, airavataExperimentId): - """ + AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + For now this is a place holder. - Get Experiment Outputs - This method to be used when need to obtain final outputs of a certain Experiment + INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + is implemented, the authorization will be more substantial. - @param authzToken + @throws org.apache.airavata.model.error.AiravataSystemException + This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + rather an Airavata Administrator will be notified to take corrective action. - @param 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. + Parameters: + - authzToken + - existingExperimentID + - newExperimentName + - newExperimentProjectId + """ + pass + def terminateExperiment(self, authzToken, airavataExperimentId, gatewayId): + """ + Terminate a running Experiment. - Parameters: - - authzToken - - airavataExperimentId - """ - pass + @gatewayId + ID of the gateway which will terminate the running Experiment. - def getIntermediateOutputs(self, authzToken, airavataExperimentId): - """ + @param airavataExperimentId + The identifier of the experiment required termination. This ID is returned during the create experiment step. - Get Intermediate Experiment Outputs - This method to be used when need to obtain intermediate outputs of a certain Experiment + @return status + This method call does not have a return value. - @param authzToken + @throws org.apache.airavata.model.error.InvalidRequestException + For any incorrect forming of the request itself. - @param airavataExperimentId - Experiment ID of the experimnet you need intermediate outputs. + @throws org.apache.airavata.model.error.ExperimentNotFoundException + If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. - @return list - List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment. + @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. - Parameters: - - authzToken - - airavataExperimentId - """ - pass + @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. - def getJobStatuses(self, authzToken, airavataExperimentId): - """ - 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 + Parameters: + - authzToken + - airavataExperimentId + - gatewayId + """ + pass - @param authzToken + def registerApplicationModule(self, authzToken, gatewayId, applicationModule): + """ - @param experiementId - Experiment ID of the experimnet you need the job statuses. + Register a Application Module. - @return JobStatus - Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map + @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. - Parameters: - - authzToken - - airavataExperimentId - """ - pass - def getJobDetails(self, authzToken, airavataExperimentId): - """ + Parameters: + - authzToken + - gatewayId + - applicationModule + """ + pass - 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. + def getApplicationModule(self, authzToken, appModuleId): + """ - @param authzToken + Fetch a Application Module. - @param experiementId - Experiment ID of the experimnet you need job details. + @param appModuleId + The unique identifier of the application module required - @return list of JobDetails - Job details. + @return applicationModule + Returns an Application Module Object. + Parameters: + - authzToken + - appModuleId + """ + pass - Parameters: - - authzToken - - airavataExperimentId - """ - pass + def updateApplicationModule(self, authzToken, appModuleId, applicationModule): + """ - def cloneExperiment(self, authzToken, existingExperimentID, newExperimentName, newExperimentProjectId): - """ + Update a Application Module. - 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 appModuleId + The identifier for the requested application module to be updated. - @param newExperimentName - experiment name that should be used in the cloned experiment + @param applicationModule + Application Module Object created from the datamodel. - @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 status + Returns a success/failure of the update. - @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. + Parameters: + - authzToken + - appModuleId + - applicationModule + """ + pass - @throws org.apache.airavata.model.error.ExperimentNotFoundException - If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + def getAllAppModules(self, authzToken, gatewayId): + """ - @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. + Fetch all Application Module Descriptions. - AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. - For now this is a place holder. + @param gatewayId + ID of the gateway which need to list all available application deployment documentation. - INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake - is implemented, the authorization will be more substantial. + @return list + Returns the list of all Application Module Objects. - @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. + Parameters: + - authzToken + - gatewayId + """ + pass - Parameters: - - authzToken - - existingExperimentID - - newExperimentName - - newExperimentProjectId - """ - pass + def deleteApplicationModule(self, authzToken, appModuleId): + """ - def cloneExperimentByAdmin(self, authzToken, existingExperimentID, newExperimentName, newExperimentProjectId): - """ + Delete an Application Module. - 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 appModuleId + The identifier of the Application Module to be deleted. - @param newExperimentName - experiment name that should be used in the cloned experiment + @return status + Returns a success/failure of the deletion. - @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. + Parameters: + - authzToken + - appModuleId + """ + pass - @throws org.apache.airavata.model.error.InvalidRequestException - For any incorrect forming of the request itself. + def registerApplicationDeployment(self, authzToken, gatewayId, applicationDeployment): + """ - @throws org.apache.airavata.model.error.ExperimentNotFoundException - If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + Register an Application Deployment. - @throws org.apache.airavata.model.error.AiravataClientException - The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + @param gatewayId + ID of the gateway which is registering the new Application Deployment. - 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. + @param applicationDeployment + Application Module Object created from the datamodel. - AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. - For now this is a place holder. + @return appDeploymentId + Returns a server-side generated airavata appDeployment globally unique identifier. - 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. + Parameters: + - authzToken + - gatewayId + - applicationDeployment + """ + pass + def getApplicationDeployment(self, authzToken, appDeploymentId): + """ - Parameters: - - authzToken - - existingExperimentID - - newExperimentName - - newExperimentProjectId - """ - pass + Fetch a Application Deployment. - def terminateExperiment(self, authzToken, airavataExperimentId, gatewayId): - """ + @param appDeploymentId + The identifier for the requested application module - Terminate a running Experiment. + @return applicationDeployment + Returns a application Deployment Object. - @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. + Parameters: + - authzToken + - appDeploymentId + """ + pass - @return status - This method call does not have a return value. + def updateApplicationDeployment(self, authzToken, appDeploymentId, applicationDeployment): + """ - @throws org.apache.airavata.model.error.InvalidRequestException - For any incorrect forming of the request itself. + Update an Application Deployment. - @throws org.apache.airavata.model.error.ExperimentNotFoundException - If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + @param appDeploymentId + The identifier of the requested application deployment to be updated. - @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. + @param appDeployment + Application Deployment Object created from the datamodel. - AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. - For now this is a place holder. + @return status + Returns a success/failure of the update. - 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. + Parameters: + - authzToken + - appDeploymentId + - applicationDeployment + """ + pass + def deleteApplicationDeployment(self, authzToken, appDeploymentId): + """ - Parameters: - - authzToken - - airavataExperimentId - - gatewayId - """ - pass + Delete an Application Deployment. - def registerApplicationModule(self, authzToken, gatewayId, applicationModule): - """ + @param appDeploymentId + The unique identifier of application deployment to be deleted. - Register a Application Module. + @return status + Returns a success/failure of the deletion. - @gatewayId - ID of the
<TRUNCATED>
