You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2015/03/24 10:19:18 UTC
[7/8] airavata git commit: Adding python generated code -
AIRAVATA-1642
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>