http://git-wip-us.apache.org/repos/asf/airavata/blob/97c7a736/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 new file mode 100644 index 0000000..ded8f77 --- /dev/null +++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py @@ -0,0 +1,29153 @@ +# +# Autogenerated by Thrift Compiler (0.9.1) +# +# 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 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): + """ + Fetch Apache Airavata API version + """ + pass + + def addGateway(self, gateway): + """ + Parameters: + - gateway + """ + pass + + def updateGateway(self, gatewayId, updatedGateway): + """ + Parameters: + - gatewayId + - updatedGateway + """ + pass + + def getGateway(self, gatewayId): + """ + Parameters: + - gatewayId + """ + pass + + def deleteGateway(self, gatewayId): + """ + Parameters: + - gatewayId + """ + pass + + def getAllGateways(self): + pass + + def isGatewayExist(self, gatewayId): + """ + Parameters: + - gatewayId + """ + pass + + def generateAndRegisterSSHKeys(self, gatewayId, userName): + """ + Generate and Register SSH Key Pair with Airavata Credential Store. + + @param gatewayId + The identifier for the requested gateway. + + @param userName + The User for which the credential should be registered. For community accounts, this user is the name of the + community user name. For computational resources, this user name need not be the same user name on resoruces. + + @return airavataCredStoreToken + An SSH Key pair is generated and stored in the credential store and associated with users or community account + belonging to a gateway. + + + + Parameters: + - gatewayId + - userName + """ + pass + + def getSSHPubKey(self, airavataCredStoreToken): + """ + Parameters: + - airavataCredStoreToken + """ + pass + + def getAllUserSSHPubKeys(self, userName): + """ + Parameters: + - userName + """ + pass + + def createProject(self, gatewayId, project): + """ + Creates a Project with basic metadata. + A Project is a container of experiments. + + @param gatewayId + The identifier for the requested gateway. + + @param Project + The Project Object described in the workspaceModel + + + Parameters: + - gatewayId + - project + """ + pass + + def updateProject(self, projectId, updatedProject): + """ + Update a Project + + + Parameters: + - projectId + - updatedProject + """ + pass + + def getProject(self, projectId): + """ + Get a Project by ID + + + Parameters: + - projectId + """ + pass + + def deleteProject(self, projectId): + """ + Parameters: + - projectId + """ + pass + + def getAllUserProjects(self, gatewayId, userName): + """ + * Get all Project by user + * + * @param gatewayId + * The identifier for the requested gateway. + * + * @param userName + * The Project Object described in the workspaceModel + * + * + + Parameters: + - gatewayId + - userName + """ + pass + + def searchProjectsByProjectName(self, gatewayId, userName, projectName): + """ + Get all Project for user by project name + + + Parameters: + - gatewayId + - userName + - projectName + """ + pass + + def searchProjectsByProjectDesc(self, gatewayId, userName, description): + """ + Get all Project for user by project description + + + Parameters: + - gatewayId + - userName + - description + """ + pass + + def searchExperimentsByName(self, gatewayId, userName, expName): + """ + Search Experiments by experiment name + + + Parameters: + - gatewayId + - userName + - expName + """ + pass + + def searchExperimentsByDesc(self, gatewayId, userName, description): + """ + Search Experiments by experiment name + + + Parameters: + - gatewayId + - userName + - description + """ + pass + + def searchExperimentsByApplication(self, gatewayId, userName, applicationId): + """ + Search Experiments by application id + + + Parameters: + - gatewayId + - userName + - applicationId + """ + pass + + def searchExperimentsByStatus(self, gatewayId, userName, experimentState): + """ + Search Experiments by experiment status + + + Parameters: + - gatewayId + - userName + - experimentState + """ + pass + + def searchExperimentsByCreationTime(self, gatewayId, userName, fromTime, toTime): + """ + Search Experiments by experiment status + + + Parameters: + - gatewayId + - userName + - fromTime + - toTime + """ + pass + + def getAllExperimentsInProject(self, projectId): + """ + Get all Experiments within a Project + + + Parameters: + - projectId + """ + pass + + def getAllUserExperiments(self, gatewayId, userName): + """ + Get all Experiments by user + + + Parameters: + - gatewayId + - userName + """ + pass + + def createExperiment(self, gatewayId, experiment): + """ + Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed + but inferred from the authentication header. This experiment is just a persistent place holder. The client + has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except + registering the experiment in a persistent store. + + @param basicExperimentMetadata + The create experiment will require the basic experiment metadata like the name and description, intended user, + the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment + the ExperimentMetadata is a required field. + + @return + The server-side generated airavata 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: + - gatewayId + - experiment + """ + pass + + def getExperiment(self, airavataExperimentId): + """ + Fetch previously created experiment metadata. + + @param airavataExperimentId + The identifier for the requested experiment. This is returned during the create experiment step. + + @return experimentMetada + This method will return the previously stored experiment metadata. + + @throws org.apache.airavata.model.error.InvalidRequestException + For any incorrect forming of the request itself. + + @throws org.apache.airavata.model.error.ExperimentNotFoundException + If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + + @throws org.apache.airavata.model.error.AiravataClientException + The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + + UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + step, then Airavata Registry will not have a provenance area setup. The client has to follow + gateway registration steps and retry this request. + + AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + For now this is a place holder. + + INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + is implemented, the authorization will be more substantial. + + @throws org.apache.airavata.model.error.AiravataSystemException + This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + rather an Airavata Administrator will be notified to take corrective action. + + + Parameters: + - airavataExperimentId + """ + pass + + def updateExperiment(self, airavataExperimentId, experiment): + """ + Configure a previously created experiment with required inputs, scheduling and other quality of service + parameters. This method only updates the experiment object within the registry. The experiment has to be launched + to make it actionable by the server. + + @param airavataExperimentId + The identifier for the requested experiment. This is returned during the create experiment step. + + @param experimentConfigurationData + The configuration information of the experiment with application input parameters, computational resource scheduling + information, special input output handling and additional quality of service parameters. + + @return + This method call does not have a return value. + + @throws org.apache.airavata.model.error.InvalidRequestException + For any incorrect forming of the request itself. + + @throws org.apache.airavata.model.error.ExperimentNotFoundException + If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + + @throws org.apache.airavata.model.error.AiravataClientException + The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + + UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + step, then Airavata Registry will not have a provenance area setup. The client has to follow + gateway registration steps and retry this request. + + AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + For now this is a place holder. + + INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + is implemented, the authorization will be more substantial. + + @throws org.apache.airavata.model.error.AiravataSystemException + This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + rather an Airavata Administrator will be notified to take corrective action. + + + Parameters: + - airavataExperimentId + - experiment + """ + pass + + def updateExperimentConfiguration(self, airavataExperimentId, userConfiguration): + """ + Parameters: + - airavataExperimentId + - userConfiguration + """ + pass + + def updateResourceScheduleing(self, airavataExperimentId, resourceScheduling): + """ + Parameters: + - airavataExperimentId + - resourceScheduling + """ + pass + + def validateExperiment(self, airavataExperimentId): + """ + * + * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched. + * + * @param experimentID + * @return sucess/failure + * + * + + Parameters: + - airavataExperimentId + """ + pass + + def launchExperiment(self, airavataExperimentId, airavataCredStoreToken): + """ + Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate + notifications and intermediate and output data will be subsequently available for this experiment. + + @param airavataExperimentId + The identifier for the requested experiment. This is returned during the create experiment step. + + @param airavataCredStoreToken: + A requirement to execute experiments within Airavata is to first register the targeted remote computational account + credentials with Airavata Credential Store. The administrative API (related to credential store) will return a + generated token associated with the registered credentials. The client has to security posses this token id and is + required to pass it to Airavata Server for all execution requests. + Note: At this point only the credential store token is required so the string is directly passed here. In future if + if more security credentials are enables, then the structure ExecutionSecurityParameters should be used. + Note: This parameter is not persisted within Airavata Registry for security reasons. + + @return + This method call does not have a return value. + + @throws org.apache.airavata.model.error.InvalidRequestException + For any incorrect forming of the request itself. + + @throws org.apache.airavata.model.error.ExperimentNotFoundException + If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + + @throws org.apache.airavata.model.error.AiravataClientException + The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + + UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + step, then Airavata Registry will not have a provenance area setup. The client has to follow + gateway registration steps and retry this request. + + AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + For now this is a place holder. + + INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + is implemented, the authorization will be more substantial. + + @throws org.apache.airavata.model.error.AiravataSystemException + This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + rather an Airavata Administrator will be notified to take corrective action. + + + Parameters: + - airavataExperimentId + - airavataCredStoreToken + """ + pass + + def getExperimentStatus(self, airavataExperimentId): + """ + Parameters: + - airavataExperimentId + """ + pass + + def getExperimentOutputs(self, airavataExperimentId): + """ + Parameters: + - airavataExperimentId + """ + pass + + def getIntermediateOutputs(self, airavataExperimentId): + """ + Parameters: + - airavataExperimentId + """ + pass + + def getJobStatuses(self, airavataExperimentId): + """ + Parameters: + - airavataExperimentId + """ + pass + + def getJobDetails(self, airavataExperimentId): + """ + Parameters: + - airavataExperimentId + """ + pass + + def getDataTransferDetails(self, airavataExperimentId): + """ + Parameters: + - airavataExperimentId + """ + pass + + def cloneExperiment(self, existingExperimentID, newExperimentName): + """ + Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata. + The client has to subsequently update this configuration if needed and launch the cloned experiment. + + @param newExperimentName + experiment name that should be used in the cloned experiment + + @param updatedExperiment + Once an experiment is cloned, to disambiguate, the users are suggested to provide new metadata. This will again require + the basic experiment metadata like the name and description, intended user, the gateway identifier and if the experiment + should be shared public by default. + + @return + The server-side generated airavata experiment globally unique identifier for the newly cloned experiment. + + @throws org.apache.airavata.model.error.InvalidRequestException + For any incorrect forming of the request itself. + + @throws org.apache.airavata.model.error.ExperimentNotFoundException + If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + + @throws org.apache.airavata.model.error.AiravataClientException + The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + + UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + step, then Airavata Registry will not have a provenance area setup. The client has to follow + gateway registration steps and retry this request. + + AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + For now this is a place holder. + + INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + is implemented, the authorization will be more substantial. + + @throws org.apache.airavata.model.error.AiravataSystemException + This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + rather an Airavata Administrator will be notified to take corrective action. + + + Parameters: + - existingExperimentID + - newExperimentName + """ + pass + + def terminateExperiment(self, airavataExperimentId): + """ + Terminate a running experiment. + + @param airavataExperimentId + The identifier for the requested experiment. This is returned during the create experiment step. + + @return + This method call does not have a return value. + + @throws org.apache.airavata.model.error.InvalidRequestException + For any incorrect forming of the request itself. + + @throws org.apache.airavata.model.error.ExperimentNotFoundException + If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + + @throws org.apache.airavata.model.error.AiravataClientException + The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + + UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + step, then Airavata Registry will not have a provenance area setup. The client has to follow + gateway registration steps and retry this request. + + AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + For now this is a place holder. + + INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + is implemented, the authorization will be more substantial. + + @throws org.apache.airavata.model.error.AiravataSystemException + This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + rather an Airavata Administrator will be notified to take corrective action. + + + Parameters: + - airavataExperimentId + """ + pass + + def registerApplicationModule(self, gatewayId, applicationModule): + """ + Register a Application Module. + + @param applicationModule + Application Module Object created from the datamodel. + + @return appModuleId + Returns a server-side generated airavata appModule globally unique identifier. + + + Parameters: + - gatewayId + - applicationModule + """ + pass + + def getApplicationModule(self, appModuleId): + """ + Fetch a Application Module. + + @param appModuleId + The identifier for the requested application module + + @return applicationModule + Returns a application Module Object. + + + Parameters: + - appModuleId + """ + pass + + def updateApplicationModule(self, appModuleId, applicationModule): + """ + 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. + + + Parameters: + - appModuleId + - applicationModule + """ + pass + + def getAllAppModules(self, gatewayId): + """ + Parameters: + - gatewayId + """ + pass + + def deleteApplicationModule(self, appModuleId): + """ + Delete a Application Module. + + @param appModuleId + The identifier for the requested application module to be deleted. + + @return status + Returns a success/failure of the deletion. + + + Parameters: + - appModuleId + """ + pass + + def registerApplicationDeployment(self, gatewayId, applicationDeployment): + """ + Register a Application Deployment. + + @param applicationModule + Application Module Object created from the datamodel. + + @return appDeploymentId + Returns a server-side generated airavata appDeployment globally unique identifier. + + + Parameters: + - gatewayId + - applicationDeployment + """ + pass + + def getApplicationDeployment(self, appDeploymentId): + """ + Fetch a Application Deployment. + + @param appDeploymentId + The identifier for the requested application module + + @return applicationDeployment + Returns a application Deployment Object. + + + Parameters: + - appDeploymentId + """ + pass + + def updateApplicationDeployment(self, appDeploymentId, applicationDeployment): + """ + Update a Application Deployment. + + @param appDeploymentId + The identifier for the requested application deployment to be updated. + + @param appDeployment + Application Deployment Object created from the datamodel. + + @return status + Returns a success/failure of the update. + + + Parameters: + - appDeploymentId + - applicationDeployment + """ + pass + + def deleteApplicationDeployment(self, appDeploymentId): + """ + Delete a Application deployment. + + @param appDeploymentId + The identifier for the requested application deployment to be deleted. + + @return status + Returns a success/failure of the deletion. + + + Parameters: + - appDeploymentId + """ + pass + + def getAllApplicationDeployments(self, gatewayId): + """ + Fetch all Application Deployment Descriptions. + + @return list<applicationDeployment. + Returns the list of all application Deployment Objects. + + + Parameters: + - gatewayId + """ + pass + + def getAppModuleDeployedResources(self, appModuleId): + """ + 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. + + + Parameters: + - appModuleId + """ + pass + + def registerApplicationInterface(self, gatewayId, applicationInterface): + """ + Register a Application Interface. + + @param applicationModule + Application Module Object created from the datamodel. + + @return appInterfaceId + Returns a server-side generated airavata application interface globally unique identifier. + + + Parameters: + - gatewayId + - applicationInterface + """ + pass + + def getApplicationInterface(self, appInterfaceId): + """ + Fetch a Application Interface. + + @param appInterfaceId + The identifier for the requested application module + + @return applicationInterface + Returns a application Interface Object. + + + + Parameters: + - appInterfaceId + """ + pass + + def updateApplicationInterface(self, appInterfaceId, applicationInterface): + """ + Update a Application Interface. + + @param appInterfaceId + The identifier for the requested application deployment to be updated. + + @param appInterface + Application Interface Object created from the datamodel. + + @return status + Returns a success/failure of the update. + + + + Parameters: + - appInterfaceId + - applicationInterface + """ + pass + + def deleteApplicationInterface(self, appInterfaceId): + """ + Delete a Application Interface. + + @param appInterfaceId + The identifier for the requested application interface to be deleted. + + @return status + Returns a success/failure of the deletion. + + + + Parameters: + - appInterfaceId + """ + pass + + def getAllApplicationInterfaceNames(self, gatewayId): + """ + Fetch name and id of Application Interface documents. + + + @return map<applicationId, applicationInterfaceNames> + Returns a list of application interfaces with corresponsing id's + + + Parameters: + - gatewayId + """ + pass + + def getAllApplicationInterfaces(self, gatewayId): + """ + Fetch all Application Interface documents. + + + @return map<applicationId, applicationInterfaceNames> + Returns a list of application interfaces documents + + + Parameters: + - gatewayId + """ + pass + + def getApplicationInputs(self, appInterfaceId): + """ + Fetch the list of Application Inputs. + + @param appInterfaceId + The identifier for the requested application interface + + @return list<applicationInterfaceModel.InputDataObjectType> + Returns a list of application inputs. + + + Parameters: + - appInterfaceId + """ + pass + + def getApplicationOutputs(self, appInterfaceId): + """ + Fetch the list of Application Outputs. + + @param appInterfaceId + The identifier for the requested application interface + + @return list<applicationInterfaceModel.OutputDataObjectType> + Returns a list of application outputs. + + + Parameters: + - appInterfaceId + """ + pass + + def getAvailableAppInterfaceComputeResources(self, appInterfaceId): + """ + Fetch a list of all deployed Compute Hosts for a given application interfaces. + + @param appInterfaceId + The identifier for the requested application interface + + @return map<computeResourceId, computeResourceName> + A map of registered compute resource id's and their corresponding hostnames. + Deployments of each modules listed within the interfaces will be listed. + + + Parameters: + - appInterfaceId + """ + pass + + def registerComputeResource(self, computeResourceDescription): + """ + 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. + + + Parameters: + - computeResourceDescription + """ + pass + + def getComputeResource(self, computeResourceId): + """ + Fetch the given Compute Resource. + + @param computeResourceId + The identifier for the requested compute resource + + @return computeResourceDescription + Compute Resource Object created from the datamodel.. + + + Parameters: + - computeResourceId + """ + pass + + def getAllComputeResourceNames(self): + """ + 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.. + + """ + pass + + def updateComputeResource(self, computeResourceId, computeResourceDescription): + """ + 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. + + + Parameters: + - computeResourceId + - computeResourceDescription + """ + pass + + def deleteComputeResource(self, computeResourceId): + """ + 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. + + + Parameters: + - computeResourceId + """ + pass + + def addLocalSubmissionDetails(self, computeResourceId, priorityOrder, localSubmission): + """ + 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. + + + Parameters: + - computeResourceId + - priorityOrder + - localSubmission + """ + pass + + def updateLocalSubmissionDetails(self, jobSubmissionInterfaceId, localSubmission): + """ + Update the given Local Job Submission details + + @param jobSubmissionInterfaceId + The identifier of the JobSubmission Interface to be updated. + + @param localSubmission + The LOCALSubmission object to be updated. + + @return status + Returns a success/failure of the deletion. + + + Parameters: + - jobSubmissionInterfaceId + - localSubmission + """ + pass + + def getLocalJobSubmission(self, jobSubmissionId): + """ + This method returns localJobSubmission object + @param jobSubmissionInterfaceId + The identifier of the JobSubmission Interface to be retrieved. + @return LOCALSubmission instance + + + Parameters: + - jobSubmissionId + """ + pass + + def addSSHJobSubmissionDetails(self, computeResourceId, priorityOrder, sshJobSubmission): + """ + 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. + + + Parameters: + - computeResourceId + - priorityOrder + - sshJobSubmission + """ + pass + + def getSSHJobSubmission(self, jobSubmissionId): + """ + This method returns SSHJobSubmission object + @param jobSubmissionInterfaceId + The identifier of the JobSubmission Interface to be retrieved. + @return SSHJobSubmission instance + + + Parameters: + - jobSubmissionId + """ + pass + + def addUNICOREJobSubmissionDetails(self, computeResourceId, priorityOrder, unicoreJobSubmission): + """ + 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. + + + Parameters: + - computeResourceId + - priorityOrder + - unicoreJobSubmission + """ + pass + + def getUnicoreJobSubmission(self, jobSubmissionId): + """ + * This method returns UnicoreJobSubmission object + * @param jobSubmissionInterfaceId + * The identifier of the JobSubmission Interface to be retrieved. + * @return UnicoreJobSubmission instance + * + + Parameters: + - jobSubmissionId + """ + pass + + def addCloudJobSubmissionDetails(self, computeResourceId, priorityOrder, cloudSubmission): + """ + * 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. + * + + Parameters: + - computeResourceId + - priorityOrder + - cloudSubmission + """ + pass + + def getCloudJobSubmission(self, jobSubmissionId): + """ + * This method returns cloudJobSubmission object + * @param jobSubmissionInterfaceI + * The identifier of the JobSubmission Interface to be retrieved. + * @return CloudJobSubmission instance + * + + Parameters: + - jobSubmissionId + """ + pass + + def updateSSHJobSubmissionDetails(self, jobSubmissionInterfaceId, sshJobSubmission): + """ + Update the given SSH Job Submission details + + @param jobSubmissionInterfaceId + The identifier of the JobSubmission Interface to be updated. + + @param sshJobSubmission + The SSHJobSubmission object to be updated. + + @return status + Returns a success/failure of the deletion. + + + Parameters: + - jobSubmissionInterfaceId + - sshJobSubmission + """ + pass + + def updateCloudJobSubmissionDetails(self, jobSubmissionInterfaceId, sshJobSubmission): + """ + Update the given SSH Job Submission details + + @param jobSubmissionInterfaceId + The identifier of the JobSubmission Interface to be updated. + + @param cloudJobSubmission + The CloudJobSubmission object to be updated. + + @return status + Returns a success/failure of the deletion. + + + Parameters: + - jobSubmissionInterfaceId + - sshJobSubmission + """ + pass + + def updateUnicoreJobSubmissionDetails(self, jobSubmissionInterfaceId, unicoreJobSubmission): + """ + Parameters: + - jobSubmissionInterfaceId + - unicoreJobSubmission + """ + pass + + def addLocalDataMovementDetails(self, computeResourceId, priorityOrder, localDataMovement): + """ + Add a Local data movement details to a compute resource + App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + + @param computeResourceId + The identifier of the compute resource to which JobSubmission protocol to be added + + @param priorityOrder + Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero. + + @param localDataMovement + The LOCALDataMovement object to be added to the resource. + + @return status + Returns the unique job submission id. + + + Parameters: + - computeResourceId + - priorityOrder + - localDataMovement + """ + pass + + def updateLocalDataMovementDetails(self, dataMovementInterfaceId, localDataMovement): + """ + Update the given Local data movement details + + @param dataMovementInterfaceId + The identifier of the data movement Interface to be updated. + + @param localDataMovement + The LOCALDataMovement object to be updated. + + @return status + Returns a success/failure of the update. + + + Parameters: + - dataMovementInterfaceId + - localDataMovement + """ + pass + + def getLocalDataMovement(self, dataMovementId): + """ + * This method returns local datamovement object + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * @return LOCALDataMovement instance + * + + Parameters: + - dataMovementId + """ + pass + + def addSCPDataMovementDetails(self, computeResourceId, priorityOrder, scpDataMovement): + """ + Add a SCP data movement details to a compute resource + App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + + @param computeResourceId + The identifier of the compute resource to which JobSubmission protocol to be added + + @param priorityOrder + Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero. + + @param scpDataMovement + The SCPDataMovement object to be added to the resource. + + @return status + Returns the unique job submission id. + + + Parameters: + - computeResourceId + - priorityOrder + - scpDataMovement + """ + pass + + def updateSCPDataMovementDetails(self, dataMovementInterfaceId, scpDataMovement): + """ + Update the given scp data movement details + App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + + @param dataMovementInterfaceId + The identifier of the data movement Interface to be updated. + + @param scpDataMovement + The SCPDataMovement object to be updated. + + @return status + Returns a success/failure of the update. + + + Parameters: + - dataMovementInterfaceId + - scpDataMovement + """ + pass + + def getSCPDataMovement(self, dataMovementId): + """ + * This method returns SCP datamovement object + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * @return SCPDataMovement instance + * + + Parameters: + - dataMovementId + """ + pass + + def addUnicoreDataMovementDetails(self, computeResourceId, priorityOrder, unicoreDataMovement): + """ + Parameters: + - computeResourceId + - priorityOrder + - unicoreDataMovement + """ + pass + + def updateUnicoreDataMovementDetails(self, dataMovementInterfaceId, unicoreDataMovement): + """ + Parameters: + - dataMovementInterfaceId + - unicoreDataMovement + """ + pass + + def getUnicoreDataMovement(self, dataMovementId): + """ + Parameters: + - dataMovementId + """ + pass + + def addGridFTPDataMovementDetails(self, computeResourceId, priorityOrder, gridFTPDataMovement): + """ + Add a GridFTP data movement details to a compute resource + App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + + @param computeResourceId + The identifier of the compute resource to which JobSubmission protocol to be added + + @param priorityOrder + Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero. + + @param gridFTPDataMovement + The GridFTPDataMovement object to be added to the resource. + + @return status + Returns the unique job submission id. + + + Parameters: + - computeResourceId + - priorityOrder + - gridFTPDataMovement + """ + pass + + def updateGridFTPDataMovementDetails(self, dataMovementInterfaceId, gridFTPDataMovement): + """ + Update the given GridFTP data movement details to a compute resource + App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + + @param dataMovementInterfaceId + The identifier of the data movement Interface to be updated. + + @param gridFTPDataMovement + The GridFTPDataMovement object to be updated. + + @return status + Returns a success/failure of the updation. + + + Parameters: + - dataMovementInterfaceId + - gridFTPDataMovement + """ + pass + + def getGridFTPDataMovement(self, dataMovementId): + """ + * This method returns GridFTP datamovement object + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * @return GridFTPDataMovement instance + * + + Parameters: + - dataMovementId + """ + pass + + def changeJobSubmissionPriority(self, jobSubmissionInterfaceId, newPriorityOrder): + """ + 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. + + + Parameters: + - jobSubmissionInterfaceId + - newPriorityOrder + """ + pass + + def changeDataMovementPriority(self, dataMovementInterfaceId, newPriorityOrder): + """ + Change the priority of a given data movement interface + + @param dataMovementInterfaceId + The identifier of the DataMovement Interface to be changed + + @param priorityOrder + The new priority of the data movement interface. + + @return status + Returns a success/failure of the change. + + + Parameters: + - dataMovementInterfaceId + - newPriorityOrder + """ + pass + + def changeJobSubmissionPriorities(self, jobSubmissionPriorityMap): + """ + 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. + + + Parameters: + - jobSubmissionPriorityMap + """ + pass + + def changeDataMovementPriorities(self, dataMovementPriorityMap): + """ + 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. + + + Parameters: + - dataMovementPriorityMap + """ + pass + + def deleteJobSubmissionInterface(self, computeResourceId, jobSubmissionInterfaceId): + """ + 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. + + + Parameters: + - computeResourceId + - jobSubmissionInterfaceId + """ + pass + + def deleteDataMovementInterface(self, computeResourceId, dataMovementInterfaceId): + """ + 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. + + + Parameters: + - computeResourceId + - dataMovementInterfaceId + """ + pass + + def registerResourceJobManager(self, resourceJobManager): + """ + Parameters: + - resourceJobManager + """ + pass + + def updateResourceJobManager(self, resourceJobManagerId, updatedResourceJobManager): + """ + Parameters: + - resourceJobManagerId + - updatedResourceJobManager + """ + pass + + def getResourceJobManager(self, resourceJobManagerId): + """ + Parameters: + - resourceJobManagerId + """ + pass + + def deleteResourceJobManager(self, resourceJobManagerId): + """ + Parameters: + - resourceJobManagerId + """ + pass + + def deleteBatchQueue(self, computeResourceId, queueName): + """ + Parameters: + - computeResourceId + - queueName + """ + pass + + def registerGatewayResourceProfile(self, gatewayResourceProfile): + """ + 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. + + + Parameters: + - gatewayResourceProfile + """ + pass + + def getGatewayResourceProfile(self, gatewayID): + """ + Fetch the given Gateway Resource Profile. + + @param gatewayID + The identifier for the requested gateway resource + + @return gatewayResourceProfile + Gateway Resource Profile Object. + + + Parameters: + - gatewayID + """ + pass + + def updateGatewayResourceProfile(self, gatewayID, gatewayResourceProfile): + """ + 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. + + + Parameters: + - gatewayID + - gatewayResourceProfile + """ + pass + + def deleteGatewayResourceProfile(self, gatewayID): + """ + 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. + + + Parameters: + - gatewayID + """ + pass + + def addGatewayComputeResourcePreference(self, gatewayID, computeResourceId, computeResourcePreference): + """ + 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. + + + Parameters: + - gatewayID + - computeResourceId + - computeResourcePreference + """ + pass + + def getGatewayComputeResourcePreference(self, gatewayID, computeResourceId): + """ + 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. + + + Parameters: + - gatewayID + - computeResourceId + """ + pass + + def getAllGatewayComputeResourcePreferences(self, gatewayID): + """ + 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. + + + Parameters: + - gatewayID + """ + pass + + def getAllGatewayComputeResources(self): + """ + Fetch all gateway profiles registered + + """ + pass + + def updateGatewayComputeResourcePreference(self, gatewayID, computeResourceId, computeResourcePreference): + """ + 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. + + + Parameters: + - gatewayID + - computeResourceId + - computeResourcePreference + """ + pass + + def deleteGatewayComputeResourcePreference(self, gatewayID, computeResourceId): + """ + 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. + + + Parameters: + - gatewayID + - computeResourceId + """ + pass + + def getAllWorkflows(self, gatewayId): + """ + Parameters: + - gatewayId + """ + pass + + def getWorkflow(self, workflowTemplateId): + """ + Parameters: + - workflowTemplateId + """ + pass + + def deleteWorkflow(self, workflowTemplateId): + """ + Parameters: + - workflowTemplateId + """ + pass + + def registerWorkflow(self, gatewayId, workflow): + """ + Parameters: + - gatewayId + - workflow + """ + pass + + def updateWorkflow(self, workflowTemplateId, workflow): + """ + Parameters: + - workflowTemplateId + - workflow + """ + pass + + def getWorkflowTemplateId(self, workflowName): + """ + Parameters: + - workflowName + """ + pass + + def isWorkflowExistWithName(self, workflowName): + """ + Parameters: + - workflowName + """ + pass + + +class Client(Iface): + def __init__(self, iprot, oprot=None): + self._iprot = self._oprot = iprot + if oprot is not None: + self._oprot = oprot + self._seqid = 0 + + def getAPIVersion(self): + """ + Fetch Apache Airavata API version + """ + self.send_getAPIVersion() + return self.recv_getAPIVersion() + + def send_getAPIVersion(self): + self._oprot.writeMessageBegin('getAPIVersion', TMessageType.CALL, self._seqid) + args = getAPIVersion_args() + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getAPIVersion(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getAPIVersion_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "getAPIVersion failed: unknown result"); + + def addGateway(self, gateway): + """ + Parameters: + - gateway + """ + self.send_addGateway(gateway) + return self.recv_addGateway() + + def send_addGateway(self, gateway): + self._oprot.writeMessageBegin('addGateway', TMessageType.CALL, self._seqid) + args = addGateway_args() + args.gateway = gateway + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_addGateway(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = addGateway_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "addGateway failed: unknown result"); + + def updateGateway(self, gatewayId, updatedGateway): + """ + Parameters: + - gatewayId + - updatedGateway + """ + self.send_updateGateway(gatewayId, updatedGateway) + self.recv_updateGateway() + + def send_updateGateway(self, gatewayId, updatedGateway): + self._oprot.writeMessageBegin('updateGateway', TMessageType.CALL, self._seqid) + args = updateGateway_args() + args.gatewayId = gatewayId + args.updatedGateway = updatedGateway + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_updateGateway(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = updateGateway_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + return + + def getGateway(self, gatewayId): + """ + Parameters: + - gatewayId + """ + self.send_getGateway(gatewayId) + return self.recv_getGateway() + + def send_getGateway(self, gatewayId): + self._oprot.writeMessageBegin('getGateway', TMessageType.CALL, self._seqid) + args = getGateway_args() + args.gatewayId = gatewayId + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getGateway(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getGateway_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "getGateway failed: unknown result"); + + def deleteGateway(self, gatewayId): + """ + Parameters: + - gatewayId + """ + self.send_deleteGateway(gatewayId) + return self.recv_deleteGateway() + + def send_deleteGateway(self, gatewayId): + self._oprot.writeMessageBegin('deleteGateway', TMessageType.CALL, self._seqid) + args = deleteGateway_args() + args.gatewayId = gatewayId + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_deleteGateway(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = deleteGateway_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteGateway failed: unknown result"); + + def getAllGateways(self): + self.send_getAllGateways() + return self.recv_getAllGateways() + + def send_getAllGateways(self): + self._oprot.writeMessageBegin('getAllGateways', TMessageType.CALL, self._seqid) + args = getAllGateways_args() + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getAllGateways(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getAllGateways_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllGateways failed: unknown result"); + + def isGatewayExist(self, gatewayId): + """ + Parameters: + - gatewayId + """ + self.send_isGatewayExist(gatewayId) + return self.recv_isGatewayExist() + + def send_isGatewayExist(self, gatewayId): + self._oprot.writeMessageBegin('isGatewayExist', TMessageType.CALL, self._seqid) + args = isGatewayExist_args() + args.gatewayId = gatewayId + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_isGatewayExist(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = isGatewayExist_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result"); + + def generateAndRegisterSSHKeys(self, gatewayId, userName): + """ + Generate and Register SSH Key Pair with Airavata Credential Store. + + @param gatewayId + The identifier for the requested gateway. + + @param userName + The User for which the credential should be registered. For community accounts, this user is the name of the + community user name. For computational resources, this user name need not be the same user name on resoruces. + + @return airavataCredStoreToken + An SSH Key pair is generated and stored in the credential store and associated with users or community account + belonging to a gateway. + + + + Parameters: + - gatewayId + - userName + """ + self.send_generateAndRegisterSSHKeys(gatewayId, userName) + return self.recv_generateAndRegisterSSHKeys() + + def send_generateAndRegisterSSHKeys(self, gatewayId, userName): + self._oprot.writeMessageBegin('generateAndRegisterSSHKeys', TMessageType.CALL, self._seqid) + args = generateAndRegisterSSHKeys_args() + args.gatewayId = gatewayId + args.userName = userName + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_generateAndRegisterSSHKeys(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = generateAndRegisterSSHKeys_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "generateAndRegisterSSHKeys failed: unknown result"); + + def getSSHPubKey(self, airavataCredStoreToken): + """ + Parameters: + - airavataCredStoreToken + """ + self.send_getSSHPubKey(airavataCredStoreToken) + return self.recv_getSSHPubKey() + + def send_getSSHPubKey(self, airavataCredStoreToken): + self._oprot.writeMessageBegin('getSSHPubKey', TMessageType.CALL, self._seqid) + args = getSSHPubKey_args() + args.airavataCredStoreToken = airavataCredStoreToken + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getSSHPubKey(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getSSHPubKey_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "getSSHPubKey failed: unknown result"); + + def getAllUserSSHPubKeys(self, userName): + """ + Parameters: + - userName + """ + self.send_getAllUserSSHPubKeys(userName) + return self.recv_getAllUserSSHPubKeys() + + def send_getAllUserSSHPubKeys(self, userName): + self._oprot.writeMessageBegin('getAllUserSSHPubKeys', TMessageType.CALL, self._seqid) + args = getAllUserSSHPubKeys_args() + args.userName = userName + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getAllUserSSHPubKeys(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getAllUserSSHPubKeys_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserSSHPubKeys failed: unknown result"); + + def createProject(self, gatewayId, project): + """ + Creates a Project with basic metadata. + A Project is a container of experiments. + + @param gatewayId + The identifier for the requested gateway. + + @param Project + The Project Object described in the workspaceModel + + + Parameters: + - gatewayId + - project + """ + self.send_createProject(gatewayId, project) + return self.recv_createProject() + + def send_createProject(self, gatewayId, project): + self._oprot.writeMessageBegin('createProject', TMessageType.CALL, self._seqid) + args = createProject_args() + args.gatewayId = gatewayId + args.project = project + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_createProject(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = createProject_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "createProject failed: unknown result"); + + def updateProject(self, projectId, updatedProject): + """ + Update a Project + + + Parameters: + - projectId + - updatedProject + """ + self.send_updateProject(projectId, updatedProject) + self.recv_updateProject() + + def send_updateProject(self, projectId, updatedProject): + self._oprot.writeMessageBegin('updateProject', TMessageType.CALL, self._seqid) + args = updateProject_args() + args.projectId = projectId + args.updatedProject = updatedProject + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_updateProject(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = updateProject_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + if result.pnfe is not None: + raise result.pnfe + return + + def getProject(self, projectId): + """ + Get a Project by ID + + + Parameters: + - projectId + """ + self.send_getProject(projectId) + return self.recv_getProject() + + def send_getProject(self, projectId): + self._oprot.writeMessageBegin('getProject', TMessageType.CALL, self._seqid) + args = getProject_args() + args.projectId = projectId + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getProject(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getProject_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + if result.pnfe is not None: + raise result.pnfe + raise TApplicationException(TApplicationException.MISSING_RESULT, "getProject failed: unknown result"); + + def deleteProject(self, projectId): + """ + Parameters: + - projectId + """ + self.send_deleteProject(projectId) + return self.recv_deleteProject() + + def send_deleteProject(self, projectId): + self._oprot.writeMessageBegin('deleteProject', TMessageType.CALL, self._seqid) + args = deleteProject_args() + args.projectId = projectId + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_deleteProject(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = deleteProject_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + if result.pnfe is not None: + raise result.pnfe + raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteProject failed: unknown result"); + + def getAllUserProjects(self, gatewayId, userName): + """ + * Get all Project by user + * + * @param gatewayId + * The identifier for the requested gateway. + * + * @param userName + * The Project Object described in the workspaceModel + * + * + + Parameters: + - gatewayId + - userName + """ + self.send_getAllUserProjects(gatewayId, userName) + return self.recv_getAllUserProjects() + + def send_getAllUserProjects(self, gatewayId, userName): + self._oprot.writeMessageBegin('getAllUserProjects', TMessageType.CALL, self._seqid) + args = getAllUserProjects_args() + args.gatewayId = gatewayId + args.userName = userName + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getAllUserProjects(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getAllUserProjects_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserProjects failed: unknown result"); + + def searchProjectsByProjectName(self, gatewayId, userName, projectName): + """ + Get all Project for user by project name + + + Parameters: + - gatewayId + - userName + - projectName + """ + self.send_searchProjectsByProjectName(gatewayId, userName, projectName) + return self.recv_searchProjectsByProjectName() + + def send_searchProjectsByProjectName(self, gatewayId, userName, projectName): + self._oprot.writeMessageBegin('searchProjectsByProjectName', TMessageType.CALL, self._seqid) + args = searchProjectsByProjectName_args() + args.gatewayId = gatewayId + args.userName = userName + args.projectName = projectName + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_searchProjectsByProjectName(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = searchProjectsByProjectName_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectName failed: unknown result"); + + def searchProjectsByProjectDesc(self, gatewayId, userName, description): + """ + Get all Project for user by project description + + + Parameters: + - gatewayId + - userName + - description + """ + self.send_searchProjectsByProjectDesc(gatewayId, userName, description) + return self.recv_searchProjectsByProjectDesc() + + def send_searchProjectsByProjectDesc(self, gatewayId, userName, description): + self._oprot.writeMessageBegin('searchProjectsByProjectDesc', TMessageType.CALL, self._seqid) + args = searchProjectsByProjectDesc_args() + args.gatewayId = gatewayId + args.userName = userName + args.description = description + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_searchProjectsByProjectDesc(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = searchProjectsByProjectDesc_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectDesc failed: unknown result"); + + def searchExperimentsByName(self, gatewayId, userName, expName): + """ + Search Experiments by experiment name + + + Parameters: + - gatewayId + - userName + - expName + """ + self.send_searchExperimentsByName(gatewayId, userName, expName) + return self.recv_searchExperimentsByName() + + def send_searchExperimentsByName(self, gatewayId, userName, expName): + self._oprot.writeMessageBegin('searchExperimentsByName', TMessageType.CALL, self._seqid) + args = searchExperimentsByName_args() + args.gatewayId = gatewayId + args.userName = userName + args.expName = expName + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_searchExperimentsByName(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = searchExperimentsByName_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByName failed: unknown result"); + + def searchExperimentsByDesc(self, gatewayId, userName, description): + """ + Search Experiments by experiment name + + + Parameters: + - gatewayId + - userName + - description + """ + self.send_searchExperimentsByDesc(gatewayId, userName, description) + return self.recv_searchExperimentsByDesc() + + def send_searchExperimentsByDesc(self, gatewayId, userName, description): + self._oprot.writeMessageBegin('searchExperimentsByDesc', TMessageType.CALL, self._seqid) + args = searchExperimentsByDesc_args() + args.gatewayId = gatewayId + args.userName = userName + args.description = description + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_searchExperimentsByDesc(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = searchExperimentsByDesc_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByDesc failed: unknown result"); + + def searchExperimentsByApplication(self, gatewayId, userName, applicationId): + """ + Search Experiments by application id + + + Parameters: + - gatewayId + - userName + - applicationId + """ + self.send_searchExperimentsByApplication(gatewayId, userName, applicationId) + return self.recv_searchExperimentsByApplication() + + def send_searchExperimentsByApplication(self, gatewayId, userName, applicationId): + self._oprot.writeMessageBegin('searchExperimentsByApplication', TMessageType.CALL, self._seqid) + args = searchExperimentsByApplication_args() + args.gatewayId = gatewayId + args.userName = userName + args.applicationId = applicationId + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_searchExperimentsByApplication(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = searchExperimentsByApplication_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByApplication failed: unknown result"); + + def searchExperimentsByStatus(self, gatewayId, userName, experimentState): + """ + Search Experiments by experiment status + + + Parameters: + - gatewayId + - userName + - experimentState + """ + self.send_searchExperimentsByStatus(gatewayId, userName, experimentState) + return self.recv_searchExperimentsByStatus() + + def send_searchExperimentsByStatus(self, gatewayId, userName, experimentState): + self._oprot.writeMessageBegin('searchExperimentsByStatus', TMessageType.CALL, self._seqid) + args = searchExperimentsByStatus_args() + args.gatewayId = gatewayId + args.userName = userName + args.experimentState = experimentState + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_searchExperimentsByStatus(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = searchExperimentsByStatus_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByStatus failed: unknown result"); + + def searchExperimentsByCreationTime(self, gatewayId, userName, fromTime, toTime): + """ + Search Experiments by experiment status + + + Parameters: + - gatewayId + - userName + - fromTime + - toTime + """ + self.send_searchExperimentsByCreationTime(gatewayId, userName, fromTime, toTime) + return self.recv_searchExperimentsByCreationTime() + + def send_searchExperimentsByCreationTime(self, gatewayId, userName, fromTime, toTime): + self._oprot.writeMessageBegin('searchExperimentsByCreationTime', TMessageType.CALL, self._seqid) + args = searchExperimentsByCreationTime_args() + args.gatewayId = gatewayId + args.userName = userName + args.fromTime = fromTime + args.toTime = toTime + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_searchExperimentsByCreationTime(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = searchExperimentsByCreationTime_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByCreationTime failed: unknown result"); + + def getAllExperimentsInProject(self, projectId): + """ + Get all Experiments within a Project + + + Parameters: + - projectId + """ + self.send_getAllExperimentsInProject(projectId) + return self.recv_getAllExperimentsInProject() + + def send_getAllExperimentsInProject(self, projectId): + self._oprot.writeMessageBegin('getAllExperimentsInProject', TMessageType.CALL, self._seqid) + args = getAllExperimentsInProject_args() + args.projectId = projectId + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getAllExperimentsInProject(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getAllExperimentsInProject_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + if result.pnfe is not None: + raise result.pnfe + raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllExperimentsInProject failed: unknown result"); + + def getAllUserExperiments(self, gatewayId, userName): + """ + Get all Experiments by user + + + Parameters: + - gatewayId + - userName + """ + self.send_getAllUserExperiments(gatewayId, userName) + return self.recv_getAllUserExperiments() + + def send_getAllUserExperiments(self, gatewayId, userName): + self._oprot.writeMessageBegin('getAllUserExperiments', TMessageType.CALL, self._seqid) + args = getAllUserExperiments_args() + args.gatewayId = gatewayId + args.userName = userName + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getAllUserExperiments(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getAllUserExperiments_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserExperiments failed: unknown result"); + + def createExperiment(self, gatewayId, experiment): + """ + Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed + but inferred from the authentication header. This experiment is just a persistent place holder. The client + has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except + registering the experiment in a persistent store. + + @param basicExperimentMetadata + The create experiment will require the basic experiment metadata like the name and description, intended user, + the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment + the ExperimentMetadata is a required field. + + @return + The server-side generated airavata 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: + - gatewayId + - experiment + """ + self.send_createExperiment(gatewayId, experiment) + return self.recv_createExperiment() + + def send_createExperiment(self, gatewayId, experiment): + self._oprot.writeMessageBegin('createExperiment', TMessageType.CALL, self._seqid) + args = createExperiment_args() + args.gatewayId = gatewayId + args.experiment = experiment + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_createExperiment(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = createExperiment_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.ire is not None: + raise result.ire + if result.ace is not None: + raise result.ace + if result.ase is not None: + raise result.ase + raise TApplicationException(TApplicationException.MISSING_RESULT, "createExperiment failed: unknown result"); + + def getExperiment(self, airavataExperimentId): + """ + Fetch previously created experiment metadata. + + @param airavataExperimentId + The identifier for the requested experiment. This is returned during the create experiment step. + + @return experimentMetada + This method will return the previously stored experiment metadata. + + @throws org.apache.airavata.model.error.InvalidRequestException + For any incorrect forming of the request itself. + + @throws org.apache.airavata.model.error.ExperimentNotFoundException + If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + + @throws org.apache.airavata.model.error.AiravataClientException + The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + + UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + step, then Airavata Registry will not have a provenance area setup. The client has to follow + gateway registration steps and retry this request. + + AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + For now this is a place holder. + + INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + is implemented, the authorization will be more substantial. + + @throws org.apache.airavata.model.error.AiravataSystemException + This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + rather an Airavata Administrator will be notified to take corrective action. + + + Parameters: + - airavataExperimentId + """ + self.send_getExperiment(airavataExperimentId) + return self.recv_getExperiment() + + def send_getExperiment(self, airavataExperimentId): + self._oprot.writeMessageBegin('getExperiment', TMessageType.CALL, self._seqid) + args = getExperiment_args() + args.airavataExperimentId = airavataExperimentId + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_getExperiment(self): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = getExperiment_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success is not None: +
<TRUNCATED>
