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/05/01 02:55:59 UTC
[03/19] airavata git commit: Changing Airavata API to support
paginated result retrieval of Project and Experiment data
http://git-wip-us.apache.org/repos/asf/airavata/blob/0a3d857b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index cab0463..a556289 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -155,12 +155,35 @@ class Iface:
*
* @param userName
* The Project Object described in the workspaceModel
+ * @deprecated Instead use getAllUserProjectsWithPagination
+ *
+
+ Parameters:
+ - gatewayId
+ - userName
+ """
+ pass
+
+ def getAllUserProjectsWithPagination(self, gatewayId, userName, limit, offset):
+ """
+ * Get all Project by user with pagination. Results will be ordered based
+ * on creation time DESC
*
+ * @param gatewayId
+ * The identifier for the requested gateway.
+ * @param userName
+ * The identifier of the user
+ * @param limit
+ * The amount results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
*
Parameters:
- gatewayId
- userName
+ - limit
+ - offset
"""
pass
@@ -168,23 +191,86 @@ class Iface:
"""
Get all Project for user by project name
+ @param gatewayId
+ The identifier for the requested gateway.
+ @param userName
+ The identifier of the user
+ @param projectName
+ The name of the project on which the results to be fetched
+ @deprecated Instead use searchProjectsByProjectNameWithPagination
+
+ Parameters:
+ - gatewayId
+ - userName
+ - projectName
+ """
+ pass
+
+ def searchProjectsByProjectNameWithPagination(self, gatewayId, userName, projectName, limit, offset):
+ """
+ Get all Project for user by project name with pagination.Results will be ordered based
+ on creation time DESC
+
+ @param gatewayId
+ The identifier for the requested gateway.
+ @param userName
+ The identifier of the user
+ @param projectName
+ The name of the project on which the results to be fetched
+ @param limit
+ The amount results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- projectName
+ - limit
+ - offset
"""
pass
def searchProjectsByProjectDesc(self, gatewayId, userName, description):
"""
Get all Project for user by project description
+ @param gatewayId
+ The identifier for the requested gateway.
+ @param userName
+ The identifier of the user
+ @param description
+ The description to be matched
+ @deprecated Instead use searchProjectsByProjectDescWithPagination
+
+ Parameters:
+ - gatewayId
+ - userName
+ - description
+ """
+ pass
+
+ def searchProjectsByProjectDescWithPagination(self, gatewayId, userName, description, limit, offset):
+ """
+ Search and get all Projects for user by project description with pagination. Results
+ will be ordered based on creation time DESC
+ @param gatewayId
+ The identifier for the requested gateway.
+ @param userName
+ The identifier of the user
+ @param description
+ The description to be matched
+ @param limit
+ The amount results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- description
+ - limit
+ - offset
"""
pass
@@ -192,11 +278,45 @@ class Iface:
"""
Search Experiments by experiment name
+ @param gatewayId
+ Identifier of the requested gateway
+ @param useNname
+ Username of the requested user
+ @param expName
+ Experiment name to be matched
+ @deprecated
+ Instead use searchExperimentsByNameWithPagination
+
+
+ Parameters:
+ - gatewayId
+ - userName
+ - expName
+ """
+ pass
+
+ def searchExperimentsByNameWithPagination(self, gatewayId, userName, expName, limit, offset):
+ """
+ Search Experiments by experiment name with pagination. Results will be sorted
+ based on creation time DESC
+
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param expName
+ Experiment name to be matched
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- expName
+ - limit
+ - offset
"""
pass
@@ -204,11 +324,44 @@ class Iface:
"""
Search Experiments by experiment name
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param description
+ Experiment description to be matched
+ @deprecated
+ Instead use searchExperimentsByDescWithPagination
+
+ Parameters:
+ - gatewayId
+ - userName
+ - description
+ """
+ pass
+
+ def searchExperimentsByDescWithPagination(self, gatewayId, userName, description, limit, offset):
+ """
+ Search Experiments by experiment name with pagination. Results will be sorted
+ based on creation time DESC
+
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param description
+ Experiment description to be matched
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- description
+ - limit
+ - offset
"""
pass
@@ -216,11 +369,44 @@ class Iface:
"""
Search Experiments by application id
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param applicationId
+ Application id to be matched
+ @deprecated
+ Instead use searchExperimentsByApplicationWithPagination
+
+ Parameters:
+ - gatewayId
+ - userName
+ - applicationId
+ """
+ pass
+
+ def searchExperimentsByApplicationWithPagination(self, gatewayId, userName, applicationId, limit, offset):
+ """
+ Search Experiments by application id with pagination. Results will be sorted
+ based on creation time DESC
+
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param applicationId
+ Application id to be matched
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- applicationId
+ - limit
+ - offset
"""
pass
@@ -228,24 +414,95 @@ class Iface:
"""
Search Experiments by experiment status
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param experimentState
+ Experiement state to be matched
+ @deprecated
+ Instead use searchExperimentsByStatusWithPagination
+
+ Parameters:
+ - gatewayId
+ - userName
+ - experimentState
+ """
+ pass
+
+ def searchExperimentsByStatusWithPagination(self, gatewayId, userName, experimentState, limit, offset):
+ """
+ Search Experiments by experiment status with pagination. Results will be sorted
+ based on creation time DESC
+
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param experimentState
+ Experiement state to be matched
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- experimentState
+ - limit
+ - offset
"""
pass
def searchExperimentsByCreationTime(self, gatewayId, userName, fromTime, toTime):
"""
- Search Experiments by experiment status
+ Search Experiments by experiment creation time
+
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param fromTime
+ Start time of the experiments creation time
+ @param toTime
+ End time of the experiement creation time
+ @deprecated
+ Instead use searchExperimentsByCreationTimeWithPagination
+
+ Parameters:
+ - gatewayId
+ - userName
+ - fromTime
+ - toTime
+ """
+ pass
+
+ def searchExperimentsByCreationTimeWithPagination(self, gatewayId, userName, fromTime, toTime, limit, offset):
+ """
+ Search Experiments by experiment creation time with pagination. Results will be sorted
+ based on creation time DESC
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param fromTime
+ Start time of the experiments creation time
+ @param toTime
+ End time of the experiement creation time
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- fromTime
- toTime
+ - limit
+ - offset
"""
pass
@@ -253,9 +510,32 @@ class Iface:
"""
Get all Experiments within a Project
+ @param projectId
+ Identifier of the project
+ @deprecated
+ Instead use getAllExperimentsInProjectWithPagination
+
+ Parameters:
+ - projectId
+ """
+ pass
+
+ def getAllExperimentsInProjectWithPagination(self, projectId, limit, offset):
+ """
+ Get all Experiments within project with pagination. Results will be sorted
+ based on creation time DESC
+
+ @param projectId
+ Identifier of the project
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- projectId
+ - limit
+ - offset
"""
pass
@@ -263,10 +543,38 @@ class Iface:
"""
Get all Experiments by user
+ @param gatewayId
+ Identifier of the requesting gateway
+ @param userName
+ Username of the requested user
+ @deprecated
+ Instead use getAllUserExperimentsWithPagination
+
+ Parameters:
+ - gatewayId
+ - userName
+ """
+ pass
+
+ def getAllUserExperimentsWithPagination(self, gatewayId, userName, limit, offset):
+ """
+ Get all Experiments by user pagination. Results will be sorted
+ based on creation time DESC
+
+ @param gatewayId
+ Identifier of the requesting gateway
+ @param userName
+ Username of the requested user
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
+ - limit
+ - offset
"""
pass
@@ -2358,7 +2666,7 @@ class Client(Iface):
*
* @param userName
* The Project Object described in the workspaceModel
- *
+ * @deprecated Instead use getAllUserProjectsWithPagination
*
Parameters:
@@ -2397,37 +2705,49 @@ class Client(Iface):
raise result.ase
raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserProjects failed: unknown result");
- def searchProjectsByProjectName(self, gatewayId, userName, projectName):
+ def getAllUserProjectsWithPagination(self, gatewayId, userName, limit, offset):
"""
- Get all Project for user by project name
-
+ * Get all Project by user with pagination. Results will be ordered based
+ * on creation time DESC
+ *
+ * @param gatewayId
+ * The identifier for the requested gateway.
+ * @param userName
+ * The identifier of the user
+ * @param limit
+ * The amount results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
Parameters:
- gatewayId
- userName
- - projectName
+ - limit
+ - offset
"""
- self.send_searchProjectsByProjectName(gatewayId, userName, projectName)
- return self.recv_searchProjectsByProjectName()
+ self.send_getAllUserProjectsWithPagination(gatewayId, userName, limit, offset)
+ return self.recv_getAllUserProjectsWithPagination()
- def send_searchProjectsByProjectName(self, gatewayId, userName, projectName):
- self._oprot.writeMessageBegin('searchProjectsByProjectName', TMessageType.CALL, self._seqid)
- args = searchProjectsByProjectName_args()
+ def send_getAllUserProjectsWithPagination(self, gatewayId, userName, limit, offset):
+ self._oprot.writeMessageBegin('getAllUserProjectsWithPagination', TMessageType.CALL, self._seqid)
+ args = getAllUserProjectsWithPagination_args()
args.gatewayId = gatewayId
args.userName = userName
- args.projectName = projectName
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_searchProjectsByProjectName(self):
+ def recv_getAllUserProjectsWithPagination(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 = getAllUserProjectsWithPagination_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2438,39 +2758,46 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectName failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserProjectsWithPagination failed: unknown result");
- def searchProjectsByProjectDesc(self, gatewayId, userName, description):
+ def searchProjectsByProjectName(self, gatewayId, userName, projectName):
"""
- Get all Project for user by project description
+ Get all Project for user by project name
+ @param gatewayId
+ The identifier for the requested gateway.
+ @param userName
+ The identifier of the user
+ @param projectName
+ The name of the project on which the results to be fetched
+ @deprecated Instead use searchProjectsByProjectNameWithPagination
Parameters:
- gatewayId
- userName
- - description
+ - projectName
"""
- self.send_searchProjectsByProjectDesc(gatewayId, userName, description)
- return self.recv_searchProjectsByProjectDesc()
+ self.send_searchProjectsByProjectName(gatewayId, userName, projectName)
+ return self.recv_searchProjectsByProjectName()
- def send_searchProjectsByProjectDesc(self, gatewayId, userName, description):
- self._oprot.writeMessageBegin('searchProjectsByProjectDesc', TMessageType.CALL, self._seqid)
- args = searchProjectsByProjectDesc_args()
+ 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.description = description
+ args.projectName = projectName
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_searchProjectsByProjectDesc(self):
+ 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 = searchProjectsByProjectDesc_result()
+ result = searchProjectsByProjectName_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2481,39 +2808,54 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectDesc failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectName failed: unknown result");
- def searchExperimentsByName(self, gatewayId, userName, expName):
+ def searchProjectsByProjectNameWithPagination(self, gatewayId, userName, projectName, limit, offset):
"""
- Search Experiments by experiment name
+ Get all Project for user by project name with pagination.Results will be ordered based
+ on creation time DESC
+ @param gatewayId
+ The identifier for the requested gateway.
+ @param userName
+ The identifier of the user
+ @param projectName
+ The name of the project on which the results to be fetched
+ @param limit
+ The amount results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- - expName
+ - projectName
+ - limit
+ - offset
"""
- self.send_searchExperimentsByName(gatewayId, userName, expName)
- return self.recv_searchExperimentsByName()
+ self.send_searchProjectsByProjectNameWithPagination(gatewayId, userName, projectName, limit, offset)
+ return self.recv_searchProjectsByProjectNameWithPagination()
- def send_searchExperimentsByName(self, gatewayId, userName, expName):
- self._oprot.writeMessageBegin('searchExperimentsByName', TMessageType.CALL, self._seqid)
- args = searchExperimentsByName_args()
+ def send_searchProjectsByProjectNameWithPagination(self, gatewayId, userName, projectName, limit, offset):
+ self._oprot.writeMessageBegin('searchProjectsByProjectNameWithPagination', TMessageType.CALL, self._seqid)
+ args = searchProjectsByProjectNameWithPagination_args()
args.gatewayId = gatewayId
args.userName = userName
- args.expName = expName
+ args.projectName = projectName
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_searchExperimentsByName(self):
+ def recv_searchProjectsByProjectNameWithPagination(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 = searchProjectsByProjectNameWithPagination_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2524,24 +2866,30 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByName failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectNameWithPagination failed: unknown result");
- def searchExperimentsByDesc(self, gatewayId, userName, description):
+ def searchProjectsByProjectDesc(self, gatewayId, userName, description):
"""
- Search Experiments by experiment name
-
+ Get all Project for user by project description
+ @param gatewayId
+ The identifier for the requested gateway.
+ @param userName
+ The identifier of the user
+ @param description
+ The description to be matched
+ @deprecated Instead use searchProjectsByProjectDescWithPagination
Parameters:
- gatewayId
- userName
- description
"""
- self.send_searchExperimentsByDesc(gatewayId, userName, description)
- return self.recv_searchExperimentsByDesc()
+ self.send_searchProjectsByProjectDesc(gatewayId, userName, description)
+ return self.recv_searchProjectsByProjectDesc()
- def send_searchExperimentsByDesc(self, gatewayId, userName, description):
- self._oprot.writeMessageBegin('searchExperimentsByDesc', TMessageType.CALL, self._seqid)
- args = searchExperimentsByDesc_args()
+ 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
@@ -2549,14 +2897,14 @@ class Client(Iface):
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_searchExperimentsByDesc(self):
+ 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 = searchExperimentsByDesc_result()
+ result = searchProjectsByProjectDesc_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2567,39 +2915,54 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByDesc failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectDesc failed: unknown result");
- def searchExperimentsByApplication(self, gatewayId, userName, applicationId):
+ def searchProjectsByProjectDescWithPagination(self, gatewayId, userName, description, limit, offset):
"""
- Search Experiments by application id
+ Search and get all Projects for user by project description with pagination. Results
+ will be ordered based on creation time DESC
+ @param gatewayId
+ The identifier for the requested gateway.
+ @param userName
+ The identifier of the user
+ @param description
+ The description to be matched
+ @param limit
+ The amount results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- - applicationId
+ - description
+ - limit
+ - offset
"""
- self.send_searchExperimentsByApplication(gatewayId, userName, applicationId)
- return self.recv_searchExperimentsByApplication()
+ self.send_searchProjectsByProjectDescWithPagination(gatewayId, userName, description, limit, offset)
+ return self.recv_searchProjectsByProjectDescWithPagination()
- def send_searchExperimentsByApplication(self, gatewayId, userName, applicationId):
- self._oprot.writeMessageBegin('searchExperimentsByApplication', TMessageType.CALL, self._seqid)
- args = searchExperimentsByApplication_args()
+ def send_searchProjectsByProjectDescWithPagination(self, gatewayId, userName, description, limit, offset):
+ self._oprot.writeMessageBegin('searchProjectsByProjectDescWithPagination', TMessageType.CALL, self._seqid)
+ args = searchProjectsByProjectDescWithPagination_args()
args.gatewayId = gatewayId
args.userName = userName
- args.applicationId = applicationId
+ args.description = description
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_searchExperimentsByApplication(self):
+ def recv_searchProjectsByProjectDescWithPagination(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 = searchProjectsByProjectDescWithPagination_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2610,39 +2973,48 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByApplication failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectDescWithPagination failed: unknown result");
- def searchExperimentsByStatus(self, gatewayId, userName, experimentState):
+ def searchExperimentsByName(self, gatewayId, userName, expName):
"""
- Search Experiments by experiment status
+ Search Experiments by experiment name
+
+ @param gatewayId
+ Identifier of the requested gateway
+ @param useNname
+ Username of the requested user
+ @param expName
+ Experiment name to be matched
+ @deprecated
+ Instead use searchExperimentsByNameWithPagination
Parameters:
- gatewayId
- userName
- - experimentState
+ - expName
"""
- self.send_searchExperimentsByStatus(gatewayId, userName, experimentState)
- return self.recv_searchExperimentsByStatus()
+ self.send_searchExperimentsByName(gatewayId, userName, expName)
+ return self.recv_searchExperimentsByName()
- def send_searchExperimentsByStatus(self, gatewayId, userName, experimentState):
- self._oprot.writeMessageBegin('searchExperimentsByStatus', TMessageType.CALL, self._seqid)
- args = searchExperimentsByStatus_args()
- args.gatewayId = gatewayId
+ 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.experimentState = experimentState
+ args.expName = expName
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_searchExperimentsByStatus(self):
+ 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 = searchExperimentsByStatus_result()
+ result = searchExperimentsByName_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2653,41 +3025,54 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByStatus failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByName failed: unknown result");
- def searchExperimentsByCreationTime(self, gatewayId, userName, fromTime, toTime):
+ def searchExperimentsByNameWithPagination(self, gatewayId, userName, expName, limit, offset):
"""
- Search Experiments by experiment status
+ Search Experiments by experiment name with pagination. Results will be sorted
+ based on creation time DESC
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param expName
+ Experiment name to be matched
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
- - fromTime
- - toTime
+ - expName
+ - limit
+ - offset
"""
- self.send_searchExperimentsByCreationTime(gatewayId, userName, fromTime, toTime)
- return self.recv_searchExperimentsByCreationTime()
+ self.send_searchExperimentsByNameWithPagination(gatewayId, userName, expName, limit, offset)
+ return self.recv_searchExperimentsByNameWithPagination()
- def send_searchExperimentsByCreationTime(self, gatewayId, userName, fromTime, toTime):
- self._oprot.writeMessageBegin('searchExperimentsByCreationTime', TMessageType.CALL, self._seqid)
- args = searchExperimentsByCreationTime_args()
+ def send_searchExperimentsByNameWithPagination(self, gatewayId, userName, expName, limit, offset):
+ self._oprot.writeMessageBegin('searchExperimentsByNameWithPagination', TMessageType.CALL, self._seqid)
+ args = searchExperimentsByNameWithPagination_args()
args.gatewayId = gatewayId
args.userName = userName
- args.fromTime = fromTime
- args.toTime = toTime
+ args.expName = expName
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_searchExperimentsByCreationTime(self):
+ def recv_searchExperimentsByNameWithPagination(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 = searchExperimentsByNameWithPagination_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2698,35 +3083,47 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByCreationTime failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByNameWithPagination failed: unknown result");
- def getAllExperimentsInProject(self, projectId):
+ def searchExperimentsByDesc(self, gatewayId, userName, description):
"""
- Get all Experiments within a Project
+ Search Experiments by experiment name
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param description
+ Experiment description to be matched
+ @deprecated
+ Instead use searchExperimentsByDescWithPagination
Parameters:
- - projectId
+ - gatewayId
+ - userName
+ - description
"""
- self.send_getAllExperimentsInProject(projectId)
- return self.recv_getAllExperimentsInProject()
+ self.send_searchExperimentsByDesc(gatewayId, userName, description)
+ return self.recv_searchExperimentsByDesc()
- def send_getAllExperimentsInProject(self, projectId):
- self._oprot.writeMessageBegin('getAllExperimentsInProject', TMessageType.CALL, self._seqid)
- args = getAllExperimentsInProject_args()
- args.projectId = projectId
+ 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_getAllExperimentsInProject(self):
+ 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 = getAllExperimentsInProject_result()
+ result = searchExperimentsByDesc_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2737,39 +3134,54 @@ class Client(Iface):
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");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByDesc failed: unknown result");
- def getAllUserExperiments(self, gatewayId, userName):
+ def searchExperimentsByDescWithPagination(self, gatewayId, userName, description, limit, offset):
"""
- Get all Experiments by user
+ Search Experiments by experiment name with pagination. Results will be sorted
+ based on creation time DESC
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param description
+ Experiment description to be matched
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- gatewayId
- userName
+ - description
+ - limit
+ - offset
"""
- self.send_getAllUserExperiments(gatewayId, userName)
- return self.recv_getAllUserExperiments()
+ self.send_searchExperimentsByDescWithPagination(gatewayId, userName, description, limit, offset)
+ return self.recv_searchExperimentsByDescWithPagination()
- def send_getAllUserExperiments(self, gatewayId, userName):
- self._oprot.writeMessageBegin('getAllUserExperiments', TMessageType.CALL, self._seqid)
- args = getAllUserExperiments_args()
+ def send_searchExperimentsByDescWithPagination(self, gatewayId, userName, description, limit, offset):
+ self._oprot.writeMessageBegin('searchExperimentsByDescWithPagination', TMessageType.CALL, self._seqid)
+ args = searchExperimentsByDescWithPagination_args()
args.gatewayId = gatewayId
args.userName = userName
+ args.description = description
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_getAllUserExperiments(self):
+ def recv_searchExperimentsByDescWithPagination(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 = searchExperimentsByDescWithPagination_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2780,68 +3192,47 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserExperiments failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByDescWithPagination failed: unknown result");
- def createExperiment(self, gatewayId, experiment):
+ def searchExperimentsByApplication(self, gatewayId, userName, applicationId):
"""
- 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.
+ Search Experiments by application id
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param applicationId
+ Application id to be matched
+ @deprecated
+ Instead use searchExperimentsByApplicationWithPagination
Parameters:
- gatewayId
- - experiment
+ - userName
+ - applicationId
"""
- self.send_createExperiment(gatewayId, experiment)
- return self.recv_createExperiment()
+ self.send_searchExperimentsByApplication(gatewayId, userName, applicationId)
+ return self.recv_searchExperimentsByApplication()
- def send_createExperiment(self, gatewayId, experiment):
- self._oprot.writeMessageBegin('createExperiment', TMessageType.CALL, self._seqid)
- args = createExperiment_args()
+ def send_searchExperimentsByApplication(self, gatewayId, userName, applicationId):
+ self._oprot.writeMessageBegin('searchExperimentsByApplication', TMessageType.CALL, self._seqid)
+ args = searchExperimentsByApplication_args()
args.gatewayId = gatewayId
- args.experiment = experiment
+ args.userName = userName
+ args.applicationId = applicationId
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_createExperiment(self):
+ 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 = createExperiment_result()
+ result = searchExperimentsByApplication_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -2852,585 +3243,571 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "createExperiment failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByApplication failed: unknown result");
- def getExperiment(self, airavataExperimentId):
+ def searchExperimentsByApplicationWithPagination(self, gatewayId, userName, applicationId, limit, offset):
"""
- 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.
+ Search Experiments by application id with pagination. Results will be sorted
+ based on creation time DESC
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param applicationId
+ Application id to be matched
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- - airavataExperimentId
+ - gatewayId
+ - userName
+ - applicationId
+ - limit
+ - offset
"""
- self.send_getExperiment(airavataExperimentId)
- return self.recv_getExperiment()
+ self.send_searchExperimentsByApplicationWithPagination(gatewayId, userName, applicationId, limit, offset)
+ return self.recv_searchExperimentsByApplicationWithPagination()
- def send_getExperiment(self, airavataExperimentId):
- self._oprot.writeMessageBegin('getExperiment', TMessageType.CALL, self._seqid)
- args = getExperiment_args()
- args.airavataExperimentId = airavataExperimentId
+ def send_searchExperimentsByApplicationWithPagination(self, gatewayId, userName, applicationId, limit, offset):
+ self._oprot.writeMessageBegin('searchExperimentsByApplicationWithPagination', TMessageType.CALL, self._seqid)
+ args = searchExperimentsByApplicationWithPagination_args()
+ args.gatewayId = gatewayId
+ args.userName = userName
+ args.applicationId = applicationId
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_getExperiment(self):
+ def recv_searchExperimentsByApplicationWithPagination(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 = searchExperimentsByApplicationWithPagination_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.enf is not None:
- raise result.enf
if result.ace is not None:
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "getExperiment failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByApplicationWithPagination failed: unknown result");
- def updateExperiment(self, airavataExperimentId, experiment):
+ def searchExperimentsByStatus(self, gatewayId, userName, experimentState):
"""
- 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.
+ Search Experiments by experiment status
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param experimentState
+ Experiement state to be matched
+ @deprecated
+ Instead use searchExperimentsByStatusWithPagination
Parameters:
- - airavataExperimentId
- - experiment
+ - gatewayId
+ - userName
+ - experimentState
"""
- self.send_updateExperiment(airavataExperimentId, experiment)
- self.recv_updateExperiment()
+ self.send_searchExperimentsByStatus(gatewayId, userName, experimentState)
+ return self.recv_searchExperimentsByStatus()
- def send_updateExperiment(self, airavataExperimentId, experiment):
- self._oprot.writeMessageBegin('updateExperiment', TMessageType.CALL, self._seqid)
- args = updateExperiment_args()
- args.airavataExperimentId = airavataExperimentId
- args.experiment = experiment
+ 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_updateExperiment(self):
+ 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 = updateExperiment_result()
+ 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.enf is not None:
- raise result.enf
if result.ace is not None:
raise result.ace
if result.ase is not None:
raise result.ase
- return
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByStatus failed: unknown result");
- def updateExperimentConfiguration(self, airavataExperimentId, userConfiguration):
+ def searchExperimentsByStatusWithPagination(self, gatewayId, userName, experimentState, limit, offset):
"""
+ Search Experiments by experiment status with pagination. Results will be sorted
+ based on creation time DESC
+
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param experimentState
+ Experiement state to be matched
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
+
Parameters:
- - airavataExperimentId
- - userConfiguration
+ - gatewayId
+ - userName
+ - experimentState
+ - limit
+ - offset
"""
- self.send_updateExperimentConfiguration(airavataExperimentId, userConfiguration)
- self.recv_updateExperimentConfiguration()
+ self.send_searchExperimentsByStatusWithPagination(gatewayId, userName, experimentState, limit, offset)
+ return self.recv_searchExperimentsByStatusWithPagination()
- def send_updateExperimentConfiguration(self, airavataExperimentId, userConfiguration):
- self._oprot.writeMessageBegin('updateExperimentConfiguration', TMessageType.CALL, self._seqid)
- args = updateExperimentConfiguration_args()
- args.airavataExperimentId = airavataExperimentId
- args.userConfiguration = userConfiguration
+ def send_searchExperimentsByStatusWithPagination(self, gatewayId, userName, experimentState, limit, offset):
+ self._oprot.writeMessageBegin('searchExperimentsByStatusWithPagination', TMessageType.CALL, self._seqid)
+ args = searchExperimentsByStatusWithPagination_args()
+ args.gatewayId = gatewayId
+ args.userName = userName
+ args.experimentState = experimentState
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_updateExperimentConfiguration(self):
+ def recv_searchExperimentsByStatusWithPagination(self):
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
if mtype == TMessageType.EXCEPTION:
x = TApplicationException()
x.read(self._iprot)
self._iprot.readMessageEnd()
raise x
- result = updateExperimentConfiguration_result()
+ result = searchExperimentsByStatusWithPagination_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
- return
+ 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, "searchExperimentsByStatusWithPagination failed: unknown result");
- def updateResourceScheduleing(self, airavataExperimentId, resourceScheduling):
+ def searchExperimentsByCreationTime(self, gatewayId, userName, fromTime, toTime):
"""
+ Search Experiments by experiment creation time
+
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param fromTime
+ Start time of the experiments creation time
+ @param toTime
+ End time of the experiement creation time
+ @deprecated
+ Instead use searchExperimentsByCreationTimeWithPagination
+
Parameters:
- - airavataExperimentId
- - resourceScheduling
+ - gatewayId
+ - userName
+ - fromTime
+ - toTime
"""
- self.send_updateResourceScheduleing(airavataExperimentId, resourceScheduling)
- self.recv_updateResourceScheduleing()
+ self.send_searchExperimentsByCreationTime(gatewayId, userName, fromTime, toTime)
+ return self.recv_searchExperimentsByCreationTime()
- def send_updateResourceScheduleing(self, airavataExperimentId, resourceScheduling):
- self._oprot.writeMessageBegin('updateResourceScheduleing', TMessageType.CALL, self._seqid)
- args = updateResourceScheduleing_args()
- args.airavataExperimentId = airavataExperimentId
- args.resourceScheduling = resourceScheduling
+ 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_updateResourceScheduleing(self):
+ 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 = updateResourceScheduleing_result()
+ result = searchExperimentsByCreationTime_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
- return
+ 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 validateExperiment(self, airavataExperimentId):
+ def searchExperimentsByCreationTimeWithPagination(self, gatewayId, userName, fromTime, toTime, limit, offset):
"""
- *
- * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
- *
- * @param experimentID
- * @return sucess/failure
- *
- *
+ Search Experiments by experiment creation time with pagination. Results will be sorted
+ based on creation time DESC
+
+ @param gatewayId
+ Identifier of the requested gateway
+ @param userName
+ Username of the requested user
+ @param fromTime
+ Start time of the experiments creation time
+ @param toTime
+ End time of the experiement creation time
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
Parameters:
- - airavataExperimentId
+ - gatewayId
+ - userName
+ - fromTime
+ - toTime
+ - limit
+ - offset
"""
- self.send_validateExperiment(airavataExperimentId)
- return self.recv_validateExperiment()
+ self.send_searchExperimentsByCreationTimeWithPagination(gatewayId, userName, fromTime, toTime, limit, offset)
+ return self.recv_searchExperimentsByCreationTimeWithPagination()
- def send_validateExperiment(self, airavataExperimentId):
- self._oprot.writeMessageBegin('validateExperiment', TMessageType.CALL, self._seqid)
- args = validateExperiment_args()
- args.airavataExperimentId = airavataExperimentId
+ def send_searchExperimentsByCreationTimeWithPagination(self, gatewayId, userName, fromTime, toTime, limit, offset):
+ self._oprot.writeMessageBegin('searchExperimentsByCreationTimeWithPagination', TMessageType.CALL, self._seqid)
+ args = searchExperimentsByCreationTimeWithPagination_args()
+ args.gatewayId = gatewayId
+ args.userName = userName
+ args.fromTime = fromTime
+ args.toTime = toTime
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_validateExperiment(self):
+ def recv_searchExperimentsByCreationTimeWithPagination(self):
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
if mtype == TMessageType.EXCEPTION:
x = TApplicationException()
x.read(self._iprot)
self._iprot.readMessageEnd()
raise x
- result = validateExperiment_result()
+ result = searchExperimentsByCreationTimeWithPagination_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.enf is not None:
- raise result.enf
if result.ace is not None:
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "validateExperiment failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByCreationTimeWithPagination failed: unknown result");
- def launchExperiment(self, airavataExperimentId, airavataCredStoreToken):
+ def getAllExperimentsInProject(self, projectId):
"""
- 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.
+ Get all Experiments within a Project
+ @param projectId
+ Identifier of the project
+ @deprecated
+ Instead use getAllExperimentsInProjectWithPagination
Parameters:
- - airavataExperimentId
- - airavataCredStoreToken
+ - projectId
"""
- self.send_launchExperiment(airavataExperimentId, airavataCredStoreToken)
- self.recv_launchExperiment()
+ self.send_getAllExperimentsInProject(projectId)
+ return self.recv_getAllExperimentsInProject()
- def send_launchExperiment(self, airavataExperimentId, airavataCredStoreToken):
- self._oprot.writeMessageBegin('launchExperiment', TMessageType.CALL, self._seqid)
- args = launchExperiment_args()
- args.airavataExperimentId = airavataExperimentId
- args.airavataCredStoreToken = airavataCredStoreToken
+ 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_launchExperiment(self):
+ 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 = launchExperiment_result()
+ 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.enf is not None:
- raise result.enf
if result.ace is not None:
raise result.ace
if result.ase is not None:
raise result.ase
- if result.lve is not None:
- raise result.lve
- return
+ if result.pnfe is not None:
+ raise result.pnfe
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllExperimentsInProject failed: unknown result");
- def getExperimentStatus(self, airavataExperimentId):
+ def getAllExperimentsInProjectWithPagination(self, projectId, limit, offset):
"""
+ Get all Experiments within project with pagination. Results will be sorted
+ based on creation time DESC
+
+ @param projectId
+ Identifier of the project
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
+
Parameters:
- - airavataExperimentId
+ - projectId
+ - limit
+ - offset
"""
- self.send_getExperimentStatus(airavataExperimentId)
- return self.recv_getExperimentStatus()
+ self.send_getAllExperimentsInProjectWithPagination(projectId, limit, offset)
+ return self.recv_getAllExperimentsInProjectWithPagination()
- def send_getExperimentStatus(self, airavataExperimentId):
- self._oprot.writeMessageBegin('getExperimentStatus', TMessageType.CALL, self._seqid)
- args = getExperimentStatus_args()
- args.airavataExperimentId = airavataExperimentId
+ def send_getAllExperimentsInProjectWithPagination(self, projectId, limit, offset):
+ self._oprot.writeMessageBegin('getAllExperimentsInProjectWithPagination', TMessageType.CALL, self._seqid)
+ args = getAllExperimentsInProjectWithPagination_args()
+ args.projectId = projectId
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_getExperimentStatus(self):
+ def recv_getAllExperimentsInProjectWithPagination(self):
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
if mtype == TMessageType.EXCEPTION:
x = TApplicationException()
x.read(self._iprot)
self._iprot.readMessageEnd()
raise x
- result = getExperimentStatus_result()
+ result = getAllExperimentsInProjectWithPagination_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.enf is not None:
- raise result.enf
if result.ace is not None:
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "getExperimentStatus failed: unknown result");
+ if result.pnfe is not None:
+ raise result.pnfe
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllExperimentsInProjectWithPagination failed: unknown result");
- def getExperimentOutputs(self, airavataExperimentId):
+ def getAllUserExperiments(self, gatewayId, userName):
"""
+ Get all Experiments by user
+
+ @param gatewayId
+ Identifier of the requesting gateway
+ @param userName
+ Username of the requested user
+ @deprecated
+ Instead use getAllUserExperimentsWithPagination
+
Parameters:
- - airavataExperimentId
+ - gatewayId
+ - userName
"""
- self.send_getExperimentOutputs(airavataExperimentId)
- return self.recv_getExperimentOutputs()
+ self.send_getAllUserExperiments(gatewayId, userName)
+ return self.recv_getAllUserExperiments()
- def send_getExperimentOutputs(self, airavataExperimentId):
- self._oprot.writeMessageBegin('getExperimentOutputs', TMessageType.CALL, self._seqid)
- args = getExperimentOutputs_args()
- args.airavataExperimentId = airavataExperimentId
+ 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_getExperimentOutputs(self):
+ 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 = getExperimentOutputs_result()
+ 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.enf is not None:
- raise result.enf
if result.ace is not None:
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "getExperimentOutputs failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserExperiments failed: unknown result");
- def getIntermediateOutputs(self, airavataExperimentId):
+ def getAllUserExperimentsWithPagination(self, gatewayId, userName, limit, offset):
"""
+ Get all Experiments by user pagination. Results will be sorted
+ based on creation time DESC
+
+ @param gatewayId
+ Identifier of the requesting gateway
+ @param userName
+ Username of the requested user
+ @param limit
+ Amount of results to be fetched
+ @param offset
+ The starting point of the results to be fetched
+
Parameters:
- - airavataExperimentId
+ - gatewayId
+ - userName
+ - limit
+ - offset
"""
- self.send_getIntermediateOutputs(airavataExperimentId)
- return self.recv_getIntermediateOutputs()
+ self.send_getAllUserExperimentsWithPagination(gatewayId, userName, limit, offset)
+ return self.recv_getAllUserExperimentsWithPagination()
- def send_getIntermediateOutputs(self, airavataExperimentId):
- self._oprot.writeMessageBegin('getIntermediateOutputs', TMessageType.CALL, self._seqid)
- args = getIntermediateOutputs_args()
- args.airavataExperimentId = airavataExperimentId
+ def send_getAllUserExperimentsWithPagination(self, gatewayId, userName, limit, offset):
+ self._oprot.writeMessageBegin('getAllUserExperimentsWithPagination', TMessageType.CALL, self._seqid)
+ args = getAllUserExperimentsWithPagination_args()
+ args.gatewayId = gatewayId
+ args.userName = userName
+ args.limit = limit
+ args.offset = offset
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_getIntermediateOutputs(self):
+ def recv_getAllUserExperimentsWithPagination(self):
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
if mtype == TMessageType.EXCEPTION:
x = TApplicationException()
x.read(self._iprot)
self._iprot.readMessageEnd()
raise x
- result = getIntermediateOutputs_result()
+ result = getAllUserExperimentsWithPagination_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.enf is not None:
- raise result.enf
if result.ace is not None:
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "getIntermediateOutputs failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserExperimentsWithPagination failed: unknown result");
- def getJobStatuses(self, airavataExperimentId):
- """
- Parameters:
- - airavataExperimentId
+ def createExperiment(self, gatewayId, experiment):
"""
- self.send_getJobStatuses(airavataExperimentId)
- return self.recv_getJobStatuses()
+ 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.
- def send_getJobStatuses(self, airavataExperimentId):
- self._oprot.writeMessageBegin('getJobStatuses', TMessageType.CALL, self._seqid)
- args = getJobStatuses_args()
- args.airavataExperimentId = airavataExperimentId
- args.write(self._oprot)
- self._oprot.writeMessageEnd()
- self._oprot.trans.flush()
+ @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.
- def recv_getJobStatuses(self):
- (fname, mtype, rseqid) = self._iprot.readMessageBegin()
- if mtype == TMessageType.EXCEPTION:
- x = TApplicationException()
- x.read(self._iprot)
- self._iprot.readMessageEnd()
- raise x
- result = getJobStatuses_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.enf is not None:
- raise result.enf
- if result.ace is not None:
- raise result.ace
- if result.ase is not None:
- raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "getJobStatuses failed: unknown result");
+ @return
+ The server-side generated airavata experiment globally unique identifier.
- def getJobDetails(self, airavataExperimentId):
- """
- Parameters:
- - airavataExperimentId
- """
- self.send_getJobDetails(airavataExperimentId)
- return self.recv_getJobDetails()
+ @throws org.apache.airavata.model.error.InvalidRequestException
+ For any incorrect forming of the request itself.
- def send_getJobDetails(self, airavataExperimentId):
- self._oprot.writeMessageBegin('getJobDetails', TMessageType.CALL, self._seqid)
- args = getJobDetails_args()
- args.airavataExperimentId = airavataExperimentId
- args.write(self._oprot)
- self._oprot.writeMessageEnd()
- self._oprot.trans.flush()
+ @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.
- def recv_getJobDetails(self):
- (fname, mtype, rseqid) = self._iprot.readMessageBegin()
- if mtype == TMessageType.EXCEPTION:
- x = TApplicationException()
- x.read(self._iprot)
- self._iprot.readMessageEnd()
- raise x
- result = getJobDetails_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.enf is not None:
- raise result.enf
- if result.ace is not None:
- raise result.ace
- if result.ase is not None:
- raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "getJobDetails failed: unknown result");
- def getDataTransferDetails(self, airavataExperimentId):
- """
Parameters:
- - airavataExperimentId
+ - gatewayId
+ - experiment
"""
- self.send_getDataTransferDetails(airavataExperimentId)
- return self.recv_getDataTransferDetails()
+ self.send_createExperiment(gatewayId, experiment)
+ return self.recv_createExperiment()
- def send_getDataTransferDetails(self, airavataExperimentId):
- self._oprot.writeMessageBegin('getDataTransferDetails', TMessageType.CALL, self._seqid)
- args = getDataTransferDetails_args()
- args.airavataExperimentId = airavataExperimentId
+ 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_getDataTransferDetails(self):
+ 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 = getDataTransferDetails_result()
+ 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.enf is not None:
- raise result.enf
if result.ace is not None:
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "getDataTransferDetails failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "createExperiment failed: unknown result");
- def cloneExperiment(self, existingExperimentID, newExperimentName):
+ def getExperiment(self, airavataExperimentId):
"""
- 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
+ Fetch previously created experiment metadata.
- @param updatedExperiment
- Once an experiment is cloned, to disambiguate, the users are suggested to provide new metadata. This will again require
- the basic experiment metadata like the name and description, intended user, the gateway identifier and if the experiment
- should be shared public by default.
+ @param airavataExperimentId
+ The identifier for the requested experiment. This is returned during the create experiment step.
- @return
- The server-side generated airavata experiment globally unique identifier for the newly cloned experiment.
+ @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.
@@ -3457,29 +3834,27 @@ class Client(Iface):
Parameters:
- - existingExperimentID
- - newExperimentName
+ - airavataExperimentId
"""
- self.send_cloneExperiment(existingExperimentID, newExperimentName)
- return self.recv_cloneExperiment()
+ self.send_getExperiment(airavataExperimentId)
+ return self.recv_getExperiment()
- def send_cloneExperiment(self, existingExperimentID, newExperimentName):
- self._oprot.writeMessageBegin('cloneExperiment', TMessageType.CALL, self._seqid)
- args = cloneExperiment_args()
- args.existingExperimentID = existingExperimentID
- args.newExperimentName = newExperimentName
+ 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_cloneExperiment(self):
+ 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 = cloneExperiment_result()
+ result = getExperiment_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.success is not None:
@@ -3492,15 +3867,21 @@ class Client(Iface):
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "cloneExperiment failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getExperiment failed: unknown result");
- def terminateExperiment(self, airavataExperimentId, tokenId):
+ def updateExperiment(self, airavataExperimentId, experiment):
"""
- Terminate a running 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.
@@ -3530,28 +3911,28 @@ class Client(Iface):
Parameters:
- airavataExperimentId
- - tokenId
+ - experiment
"""
- self.send_terminateExperiment(airavataExperimentId, tokenId)
- self.recv_terminateExperiment()
+ self.send_updateExperiment(airavataExperimentId, experiment)
+ self.recv_updateExperiment()
- def send_terminateExperiment(self, airavataExperimentId, tokenId):
- self._oprot.writeMessageBegin('terminateExperiment', TMessageType.CALL, self._seqid)
- args = terminateExperiment_args()
+ def send_updateExperiment(self, airavataExperimentId, experiment):
+ self._oprot.writeMessageBegin('updateExperiment', TMessageType.CALL, self._seqid)
+ args = updateExperiment_args()
args.airavataExperimentId = airavataExperimentId
- args.tokenId = tokenId
+ args.experiment = experiment
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_terminateExperiment(self):
+ def recv_updateExperiment(self):
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
if mtype == TMessageType.EXCEPTION:
x = TApplicationException()
x.read(self._iprot)
self._iprot.readMessageEnd()
raise x
- result = terminateExperiment_result()
+ result = updateExperiment_result()
result.read(self._iprot)
self._iprot.readMessageEnd()
if result.ire is not None:
@@ -3564,538 +3945,605 @@ class Client(Iface):
raise result.ase
return
- def registerApplicationModule(self, gatewayId, applicationModule):
+ def updateExperimentConfiguration(self, airavataExperimentId, userConfiguration):
"""
- 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
+ - airavataExperimentId
+ - userConfiguration
"""
- self.send_registerApplicationModule(gatewayId, applicationModule)
- return self.recv_registerApplicationModule()
+ self.send_updateExperimentConfiguration(airavataExperimentId, userConfiguration)
+ self.recv_updateExperimentConfiguration()
- def send_registerApplicationModule(self, gatewayId, applicationModule):
- self._oprot.writeMessageBegin('registerApplicationModule', TMessageType.CALL, self._seqid)
- args = registerApplicationModule_args()
- args.gatewayId = gatewayId
- args.applicationModule = applicationModule
+ def send_updateExperimentConfiguration(self, airavataExperimentId, userConfiguration):
+ self._oprot.writeMessageBegin('updateExperimentConfiguration', TMessageType.CALL, self._seqid)
+ args = updateExperimentConfiguration_args()
+ args.airavataExperimentId = airavataExperimentId
+ args.userConfiguration = userConfiguration
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_registerApplicationModule(self):
+ def recv_updateExperimentConfiguration(self):
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
if mtype == TMessageType.EXCEPTION:
x = TApplicationException()
x.read(self._iprot)
self._iprot.readMessageEnd()
raise x
- result = registerApplicationModule_result()
+ result = updateExperimentConfiguration_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, "registerApplicationModule failed: unknown result");
+ return
- def getApplicationModule(self, appModuleId):
+ def updateResourceScheduleing(self, airavataExperimentId, resourceScheduling):
"""
- Fetch a Application Module.
-
- @param appModuleId
- The identifier for the requested application module
-
- @return applicationModule
- Returns a application Module Object.
-
-
Parameters:
- - appModuleId
+ - airavataExperimentId
+ - resourceScheduling
"""
- self.send_getApplicationModule(appModuleId)
- return self.recv_getApplicationModule()
+ self.send_updateResourceScheduleing(airavataExperimentId, resourceScheduling)
+ self.recv_updateResourceScheduleing()
- def send_getApplicationModule(self, appModuleId):
- self._oprot.writeMessageBegin('getApplicationModule', TMessageType.CALL, self._seqid)
- args = getApplicationModule_args()
- args.appModuleId = appModuleId
+ def send_updateResourceScheduleing(self, airavataExperimentId, resourceScheduling):
+ self._oprot.writeMessageBegin('updateResourceScheduleing', TMessageType.CALL, self._seqid)
+ args = updateResourceScheduleing_args()
+ args.airavataExperimentId = airavataExperimentId
+ args.resourceScheduling = resourceScheduling
args.write(self._oprot)
self._oprot.writeMessageEnd()
self._oprot.trans.flush()
- def recv_getApplicationModule(self):
+ def recv_updateResourceScheduleing(self):
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
if mtype == TMessageType.EXCEPTION:
x = TApplicationException()
x.read(self._iprot)
self._iprot.readMessageEnd()
raise x
- result = getApplicationModule_result()
+ result = updateResourceScheduleing_result()
+ result.read(self._iprot)
+ self._iprot.readMessageEnd()
+ return
+
+ 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
+ """
+ self.send_validateExperiment(airavataExperimentId)
+ return self.recv_validateExperiment()
+
+ def send_validateExperiment(self, airavataExperimentId):
+ self._oprot.writeMessageBegin('validateExperiment', TMessageType.CALL, self._seqid)
+ args = validateExperiment_args()
+ args.airavataExperimentId = airavataExperimentId
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_validateExperiment(self):
+ (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(self._iprot)
+ self._iprot.readMessageEnd()
+ raise x
+ result = validateExperiment_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.enf is not None:
+ raise result.enf
if result.ace is not None:
raise result.ace
if result.ase is not None:
raise result.ase
- raise TApplicationException(TApplicationException.MISSING_RESULT, "getApplicationModule failed: unknown result");
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "validateExperiment failed: unknown result");
- def updateApplicationModule(self, appModuleId, applicationModule):
+ def launchExperiment(self, airavataExperimentId, airavataCredStoreToken):
"""
- Update a Application Module.
+ 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 appModuleId
- The identifier for the requested application module to be updated.
+ @param airavataExperimentId
+ The identifier for the requested experiment. This is returned during the create experiment step.
- @param applicationModule
- Application Module Object created from the datamodel.
+ @param airavataCredStoreToken:
+ A requirement to execute experiments within Airavata is to first register the targeted remote computational account
+
<TRUNCATED>