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 2016/04/21 17:32:56 UTC

[4/9] airavata-site git commit: Adding API Docs

http://git-wip-us.apache.org/repos/asf/airavata-site/blob/246aae92/source/api-docs/0.16/airavata_api.html
----------------------------------------------------------------------
diff --git a/source/api-docs/0.16/airavata_api.html b/source/api-docs/0.16/airavata_api.html
new file mode 100644
index 0000000..240fcd5
--- /dev/null
+++ b/source/api-docs/0.16/airavata_api.html
@@ -0,0 +1,2439 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<link href="style.css" rel="stylesheet" type="text/css"/>
+<title>Thrift module: airavata_api</title></head><body>
+<div class="container-fluid">
+<h1>Thrift module: airavata_api</h1>
+Application Programming Interface definition for Apache Airavata Services.
+  this parent thrift file is contains all service interfaces. The data models are
+  described in respective thrift files.
+<br/><table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
+<tr>
+<td>airavata_api</td><td><a href="#Svc_Airavata">Airavata</a><br/>
+<ul>
+<li><a href="#Fn_Airavata_addCloudJobSubmissionDetails">addCloudJobSubmissionDetails</a></li>
+<li><a href="#Fn_Airavata_addGateway">addGateway</a></li>
+<li><a href="#Fn_Airavata_addGatewayComputeResourcePreference">addGatewayComputeResourcePreference</a></li>
+<li><a href="#Fn_Airavata_addGatewayStoragePreference">addGatewayStoragePreference</a></li>
+<li><a href="#Fn_Airavata_addGridFTPDataMovementDetails">addGridFTPDataMovementDetails</a></li>
+<li><a href="#Fn_Airavata_addLocalDataMovementDetails">addLocalDataMovementDetails</a></li>
+<li><a href="#Fn_Airavata_addLocalSubmissionDetails">addLocalSubmissionDetails</a></li>
+<li><a href="#Fn_Airavata_addSCPDataMovementDetails">addSCPDataMovementDetails</a></li>
+<li><a href="#Fn_Airavata_addSSHForkJobSubmissionDetails">addSSHForkJobSubmissionDetails</a></li>
+<li><a href="#Fn_Airavata_addSSHJobSubmissionDetails">addSSHJobSubmissionDetails</a></li>
+<li><a href="#Fn_Airavata_addUNICOREJobSubmissionDetails">addUNICOREJobSubmissionDetails</a></li>
+<li><a href="#Fn_Airavata_addUnicoreDataMovementDetails">addUnicoreDataMovementDetails</a></li>
+<li><a href="#Fn_Airavata_changeDataMovementPriorities">changeDataMovementPriorities</a></li>
+<li><a href="#Fn_Airavata_changeDataMovementPriority">changeDataMovementPriority</a></li>
+<li><a href="#Fn_Airavata_changeJobSubmissionPriorities">changeJobSubmissionPriorities</a></li>
+<li><a href="#Fn_Airavata_changeJobSubmissionPriority">changeJobSubmissionPriority</a></li>
+<li><a href="#Fn_Airavata_cloneApplicationInterface">cloneApplicationInterface</a></li>
+<li><a href="#Fn_Airavata_cloneExperiment">cloneExperiment</a></li>
+<li><a href="#Fn_Airavata_createExperiment">createExperiment</a></li>
+<li><a href="#Fn_Airavata_createProject">createProject</a></li>
+<li><a href="#Fn_Airavata_deleteApplicationDeployment">deleteApplicationDeployment</a></li>
+<li><a href="#Fn_Airavata_deleteApplicationInterface">deleteApplicationInterface</a></li>
+<li><a href="#Fn_Airavata_deleteApplicationModule">deleteApplicationModule</a></li>
+<li><a href="#Fn_Airavata_deleteBatchQueue">deleteBatchQueue</a></li>
+<li><a href="#Fn_Airavata_deleteComputeResource">deleteComputeResource</a></li>
+<li><a href="#Fn_Airavata_deleteDataMovementInterface">deleteDataMovementInterface</a></li>
+<li><a href="#Fn_Airavata_deleteExperiment">deleteExperiment</a></li>
+<li><a href="#Fn_Airavata_deleteGateway">deleteGateway</a></li>
+<li><a href="#Fn_Airavata_deleteGatewayComputeResourcePreference">deleteGatewayComputeResourcePreference</a></li>
+<li><a href="#Fn_Airavata_deleteGatewayResourceProfile">deleteGatewayResourceProfile</a></li>
+<li><a href="#Fn_Airavata_deleteGatewayStoragePreference">deleteGatewayStoragePreference</a></li>
+<li><a href="#Fn_Airavata_deleteJobSubmissionInterface">deleteJobSubmissionInterface</a></li>
+<li><a href="#Fn_Airavata_deleteProject">deleteProject</a></li>
+<li><a href="#Fn_Airavata_deleteResourceJobManager">deleteResourceJobManager</a></li>
+<li><a href="#Fn_Airavata_deleteSSHPubKey">deleteSSHPubKey</a></li>
+<li><a href="#Fn_Airavata_deleteStorageResource">deleteStorageResource</a></li>
+<li><a href="#Fn_Airavata_deleteWorkflow">deleteWorkflow</a></li>
+<li><a href="#Fn_Airavata_generateAndRegisterSSHKeys">generateAndRegisterSSHKeys</a></li>
+<li><a href="#Fn_Airavata_getAPIVersion">getAPIVersion</a></li>
+<li><a href="#Fn_Airavata_getAllAppModules">getAllAppModules</a></li>
+<li><a href="#Fn_Airavata_getAllApplicationDeployments">getAllApplicationDeployments</a></li>
+<li><a href="#Fn_Airavata_getAllApplicationInterfaceNames">getAllApplicationInterfaceNames</a></li>
+<li><a href="#Fn_Airavata_getAllApplicationInterfaces">getAllApplicationInterfaces</a></li>
+<li><a href="#Fn_Airavata_getAllComputeResourceNames">getAllComputeResourceNames</a></li>
+<li><a href="#Fn_Airavata_getAllGatewayComputeResourcePreferences">getAllGatewayComputeResourcePreferences</a></li>
+<li><a href="#Fn_Airavata_getAllGatewayResourceProfiles">getAllGatewayResourceProfiles</a></li>
+<li><a href="#Fn_Airavata_getAllGatewaySSHPubKeys">getAllGatewaySSHPubKeys</a></li>
+<li><a href="#Fn_Airavata_getAllGatewayStoragePreferences">getAllGatewayStoragePreferences</a></li>
+<li><a href="#Fn_Airavata_getAllGateways">getAllGateways</a></li>
+<li><a href="#Fn_Airavata_getAllStorageResourceNames">getAllStorageResourceNames</a></li>
+<li><a href="#Fn_Airavata_getAllUserSSHPubKeys">getAllUserSSHPubKeys</a></li>
+<li><a href="#Fn_Airavata_getAllWorkflows">getAllWorkflows</a></li>
+<li><a href="#Fn_Airavata_getAppModuleDeployedResources">getAppModuleDeployedResources</a></li>
+<li><a href="#Fn_Airavata_getApplicationDeployment">getApplicationDeployment</a></li>
+<li><a href="#Fn_Airavata_getApplicationInputs">getApplicationInputs</a></li>
+<li><a href="#Fn_Airavata_getApplicationInterface">getApplicationInterface</a></li>
+<li><a href="#Fn_Airavata_getApplicationModule">getApplicationModule</a></li>
+<li><a href="#Fn_Airavata_getApplicationOutputs">getApplicationOutputs</a></li>
+<li><a href="#Fn_Airavata_getAvailableAppInterfaceComputeResources">getAvailableAppInterfaceComputeResources</a></li>
+<li><a href="#Fn_Airavata_getChildDataProducts">getChildDataProducts</a></li>
+<li><a href="#Fn_Airavata_getCloudJobSubmission">getCloudJobSubmission</a></li>
+<li><a href="#Fn_Airavata_getComputeResource">getComputeResource</a></li>
+<li><a href="#Fn_Airavata_getDataProduct">getDataProduct</a></li>
+<li><a href="#Fn_Airavata_getDetailedExperimentTree">getDetailedExperimentTree</a></li>
+<li><a href="#Fn_Airavata_getExperiment">getExperiment</a></li>
+<li><a href="#Fn_Airavata_getExperimentOutputs">getExperimentOutputs</a></li>
+<li><a href="#Fn_Airavata_getExperimentStatistics">getExperimentStatistics</a></li>
+<li><a href="#Fn_Airavata_getExperimentStatus">getExperimentStatus</a></li>
+<li><a href="#Fn_Airavata_getExperimentsInProject">getExperimentsInProject</a></li>
+<li><a href="#Fn_Airavata_getGateway">getGateway</a></li>
+<li><a href="#Fn_Airavata_getGatewayComputeResourcePreference">getGatewayComputeResourcePreference</a></li>
+<li><a href="#Fn_Airavata_getGatewayResourceProfile">getGatewayResourceProfile</a></li>
+<li><a href="#Fn_Airavata_getGatewayStoragePreference">getGatewayStoragePreference</a></li>
+<li><a href="#Fn_Airavata_getGridFTPDataMovement">getGridFTPDataMovement</a></li>
+<li><a href="#Fn_Airavata_getIntermediateOutputs">getIntermediateOutputs</a></li>
+<li><a href="#Fn_Airavata_getJobDetails">getJobDetails</a></li>
+<li><a href="#Fn_Airavata_getJobStatuses">getJobStatuses</a></li>
+<li><a href="#Fn_Airavata_getLocalDataMovement">getLocalDataMovement</a></li>
+<li><a href="#Fn_Airavata_getLocalJobSubmission">getLocalJobSubmission</a></li>
+<li><a href="#Fn_Airavata_getParentDataProduct">getParentDataProduct</a></li>
+<li><a href="#Fn_Airavata_getProject">getProject</a></li>
+<li><a href="#Fn_Airavata_getResourceJobManager">getResourceJobManager</a></li>
+<li><a href="#Fn_Airavata_getSCPDataMovement">getSCPDataMovement</a></li>
+<li><a href="#Fn_Airavata_getSSHJobSubmission">getSSHJobSubmission</a></li>
+<li><a href="#Fn_Airavata_getSSHPubKey">getSSHPubKey</a></li>
+<li><a href="#Fn_Airavata_getStorageResource">getStorageResource</a></li>
+<li><a href="#Fn_Airavata_getUnicoreDataMovement">getUnicoreDataMovement</a></li>
+<li><a href="#Fn_Airavata_getUnicoreJobSubmission">getUnicoreJobSubmission</a></li>
+<li><a href="#Fn_Airavata_getUserExperiments">getUserExperiments</a></li>
+<li><a href="#Fn_Airavata_getUserProjects">getUserProjects</a></li>
+<li><a href="#Fn_Airavata_getWorkflow">getWorkflow</a></li>
+<li><a href="#Fn_Airavata_getWorkflowTemplateId">getWorkflowTemplateId</a></li>
+<li><a href="#Fn_Airavata_isGatewayExist">isGatewayExist</a></li>
+<li><a href="#Fn_Airavata_isUserExists">isUserExists</a></li>
+<li><a href="#Fn_Airavata_isWorkflowExistWithName">isWorkflowExistWithName</a></li>
+<li><a href="#Fn_Airavata_launchExperiment">launchExperiment</a></li>
+<li><a href="#Fn_Airavata_registerApplicationDeployment">registerApplicationDeployment</a></li>
+<li><a href="#Fn_Airavata_registerApplicationInterface">registerApplicationInterface</a></li>
+<li><a href="#Fn_Airavata_registerApplicationModule">registerApplicationModule</a></li>
+<li><a href="#Fn_Airavata_registerComputeResource">registerComputeResource</a></li>
+<li><a href="#Fn_Airavata_registerDataProduct">registerDataProduct</a></li>
+<li><a href="#Fn_Airavata_registerGatewayResourceProfile">registerGatewayResourceProfile</a></li>
+<li><a href="#Fn_Airavata_registerReplicaLocation">registerReplicaLocation</a></li>
+<li><a href="#Fn_Airavata_registerResourceJobManager">registerResourceJobManager</a></li>
+<li><a href="#Fn_Airavata_registerStorageResource">registerStorageResource</a></li>
+<li><a href="#Fn_Airavata_registerWorkflow">registerWorkflow</a></li>
+<li><a href="#Fn_Airavata_searchExperiments">searchExperiments</a></li>
+<li><a href="#Fn_Airavata_searchExperimentsByApplication">searchExperimentsByApplication</a></li>
+<li><a href="#Fn_Airavata_searchExperimentsByCreationTime">searchExperimentsByCreationTime</a></li>
+<li><a href="#Fn_Airavata_searchExperimentsByDesc">searchExperimentsByDesc</a></li>
+<li><a href="#Fn_Airavata_searchExperimentsByName">searchExperimentsByName</a></li>
+<li><a href="#Fn_Airavata_searchExperimentsByStatus">searchExperimentsByStatus</a></li>
+<li><a href="#Fn_Airavata_searchProjectsByProjectDesc">searchProjectsByProjectDesc</a></li>
+<li><a href="#Fn_Airavata_searchProjectsByProjectName">searchProjectsByProjectName</a></li>
+<li><a href="#Fn_Airavata_terminateExperiment">terminateExperiment</a></li>
+<li><a href="#Fn_Airavata_updateApplicationDeployment">updateApplicationDeployment</a></li>
+<li><a href="#Fn_Airavata_updateApplicationInterface">updateApplicationInterface</a></li>
+<li><a href="#Fn_Airavata_updateApplicationModule">updateApplicationModule</a></li>
+<li><a href="#Fn_Airavata_updateCloudJobSubmissionDetails">updateCloudJobSubmissionDetails</a></li>
+<li><a href="#Fn_Airavata_updateComputeResource">updateComputeResource</a></li>
+<li><a href="#Fn_Airavata_updateExperiment">updateExperiment</a></li>
+<li><a href="#Fn_Airavata_updateExperimentConfiguration">updateExperimentConfiguration</a></li>
+<li><a href="#Fn_Airavata_updateGateway">updateGateway</a></li>
+<li><a href="#Fn_Airavata_updateGatewayComputeResourcePreference">updateGatewayComputeResourcePreference</a></li>
+<li><a href="#Fn_Airavata_updateGatewayResourceProfile">updateGatewayResourceProfile</a></li>
+<li><a href="#Fn_Airavata_updateGatewayStoragePreference">updateGatewayStoragePreference</a></li>
+<li><a href="#Fn_Airavata_updateGridFTPDataMovementDetails">updateGridFTPDataMovementDetails</a></li>
+<li><a href="#Fn_Airavata_updateLocalDataMovementDetails">updateLocalDataMovementDetails</a></li>
+<li><a href="#Fn_Airavata_updateLocalSubmissionDetails">updateLocalSubmissionDetails</a></li>
+<li><a href="#Fn_Airavata_updateProject">updateProject</a></li>
+<li><a href="#Fn_Airavata_updateResourceJobManager">updateResourceJobManager</a></li>
+<li><a href="#Fn_Airavata_updateResourceScheduleing">updateResourceScheduleing</a></li>
+<li><a href="#Fn_Airavata_updateSCPDataMovementDetails">updateSCPDataMovementDetails</a></li>
+<li><a href="#Fn_Airavata_updateSSHJobSubmissionDetails">updateSSHJobSubmissionDetails</a></li>
+<li><a href="#Fn_Airavata_updateStorageResource">updateStorageResource</a></li>
+<li><a href="#Fn_Airavata_updateUnicoreDataMovementDetails">updateUnicoreDataMovementDetails</a></li>
+<li><a href="#Fn_Airavata_updateUnicoreJobSubmissionDetails">updateUnicoreJobSubmissionDetails</a></li>
+<li><a href="#Fn_Airavata_updateWorkflow">updateWorkflow</a></li>
+<li><a href="#Fn_Airavata_validateExperiment">validateExperiment</a></li>
+</ul>
+</td>
+<td></td>
+<td><code><a href="#Const_AIRAVATA_API_VERSION">AIRAVATA_API_VERSION</a></code><br/>
+</code></td>
+</tr></table>
+<hr/><h2 id="Constants">Constants</h2>
+<table class="table-bordered table-striped table-condensed"><thead><th>Constant</th><th>Type</th><th>Value</th></thead>
+<tr id="Const_AIRAVATA_API_VERSION"><td><code>AIRAVATA_API_VERSION</code></td><td><code>string</code></td><td><code>"0.16.0"</code></td></tr><tr><td colspan="3"><blockquote>Airavata Interface Versions depend upon this Thrift Interface File. When making changes, please edit the
+ Version Constants according to Semantic Versioning Specification (SemVer) http://semver.org.
+
+Note: The Airavata API version may be different from the Airavata software release versions.
+
+The Airavata API version is composed as a dot delimited string with major, minor, and patch level components.
+
+ - Major: Incremented for backward incompatible changes. An example would be changes to interfaces.
+ - Minor: Incremented for backward compatible changes. An example would be the addition of a new optional methods.
+ - Patch: Incremented for bug fixes. The patch level should be increased for every edit that doesn't result
+             in a change to major/minor version numbers.
+
+<br/></blockquote></td></tr></table><hr/><h2 id="Services">Services</h2>
+<h3 id="Svc_Airavata">Service: Airavata</h3>
+<div class="definition"><h4 id="Fn_Airavata_getAPIVersion">Function: Airavata.getAPIVersion</h4>
+<pre><code>string</code> getAPIVersion(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>Fetch Apache Airavata API version
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_isUserExists">Function: Airavata.isUserExists</h4>
+<pre><code>bool</code> isUserExists(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                  <code>string</code> gatewayId,
+                  <code>string</code> userName)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>Verify if User Exists within Airavata.
+
+@param gatewayId
+
+ @param userName
+
+@return true/false
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_addGateway">Function: Airavata.addGateway</h4>
+<pre><code>string</code> addGateway(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                  <code><a href="workspace_model.html#Struct_Gateway">workspace_model.Gateway</a></code> gateway)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>Register a Gateway with Airavata.
+
+@param gateway
+   The gateway data model.
+
+@return gatewayId
+  Th unique identifier of the  newly registered gateway.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_updateGateway">Function: Airavata.updateGateway</h4>
+<pre><code>void</code> updateGateway(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                   <code>string</code> gatewayId,
+                   <code><a href="workspace_model.html#Struct_Gateway">workspace_model.Gateway</a></code> updatedGateway)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>Update previously registered Gateway metadata.
+
+@param gatewayId
+   The gateway Id of the Gateway which require an update.
+
+@return gateway
+   Modified gateway obejct.
+
+@exception AiravataClientException
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getGateway">Function: Airavata.getGateway</h4>
+<pre><code><a href="workspace_model.html#Struct_Gateway">workspace_model.Gateway</a></code> getGateway(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                   <code>string</code> gatewayId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>Get Gateway details by providing gatewayId
+
+@param gatewayId
+   The gateway Id of the Gateway.
+
+@return gateway
+   Gateway obejct.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_deleteGateway">Function: Airavata.deleteGateway</h4>
+<pre><code>bool</code> deleteGateway(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                   <code>string</code> gatewayId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>Delete a Gateway
+
+@param gatewayId
+   The gateway Id of the Gateway to be deleted.
+
+@return boolean
+   Boolean identifier for the success or failure of the deletion operation.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getAllGateways">Function: Airavata.getAllGateways</h4>
+<pre><code>list&lt;<code><a href="workspace_model.html#Struct_Gateway">workspace_model.Gateway</a></code>&gt;</code> getAllGateways(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>Get All the Gateways Connected to Airavata.
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_isGatewayExist">Function: Airavata.isGatewayExist</h4>
+<pre><code>bool</code> isGatewayExist(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                    <code>string</code> gatewayId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>Check for the Existance of a Gateway within Airavata
+
+@param gatewayId
+  Provide the gatewayId of the gateway you want to check the existancy
+
+@return boolean
+  Boolean idetifier for the existance or non-existane of the gatewayId
+
+@return gatewayId
+  return the gatewayId of the existing gateway.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_generateAndRegisterSSHKeys">Function: Airavata.generateAndRegisterSSHKeys</h4>
+<pre><code>string</code> generateAndRegisterSSHKeys(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                  <code>string</code> gatewayId,
+                                  <code>string</code> userName)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>
+</pre>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.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getSSHPubKey">Function: Airavata.getSSHPubKey</h4>
+<pre><code>string</code> getSSHPubKey(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                    <code>string</code> airavataCredStoreToken,
+                    <code>string</code> gatewayId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>
+</pre>Get a Public Key by Providing the Token
+
+@param CredStoreToken
+   Credential Store Token which you want to find the Public Key for.
+
+@param gatewayId
+   This is the unique identifier of your gateway where the token and public key was generated from.
+
+@return publicKey
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getAllUserSSHPubKeys">Function: Airavata.getAllUserSSHPubKeys</h4>
+<pre><code>map&lt;<code>string</code>, <code>string</code>&gt;</code> getAllUserSSHPubKeys(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                       <code>string</code> userName)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>
+</pre>
+Get a Public Key by Providing the Token
+
+@param CredStoreToken
+   Credential Store Token which you want to find the Public Key for.
+
+@param gatewayId
+   This is the unique identifier of your gateway where the token and public key was generated from.
+
+@return SSHpubKey
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getAllGatewaySSHPubKeys">Function: Airavata.getAllGatewaySSHPubKeys</h4>
+<pre><code>map&lt;<code>string</code>, <code>string</code>&gt;</code> getAllGatewaySSHPubKeys(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                          <code>string</code> gatewayId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>
+</pre>
+Get all Public Keys of the Gateway
+
+@param CredStoreToken
+   Credential Store Token which you want to find the Public Key for.
+
+@param gatewayId
+   This is the unique identifier of your gateway where the token and public key was generated from.
+
+@return publicKey
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_deleteSSHPubKey">Function: Airavata.deleteSSHPubKey</h4>
+<pre><code>bool</code> deleteSSHPubKey(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                     <code>string</code> airavataCredStoreToken,
+                     <code>string</code> gatewayId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>
+</pre>
+Delete a Gateway
+
+@param gatewayId
+   The gateway Id of the Gateway to be deleted.
+
+@return boolean
+   Boolean identifier for the success or failure of the deletion operation.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_createProject">Function: Airavata.createProject</h4>
+<pre><code>string</code> createProject(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                     <code>string</code> gatewayId,
+                     <code><a href="workspace_model.html#Struct_Project">workspace_model.Project</a></code> project)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Creates a Project with basic metadata.
+   A Project is a container of experiments.
+
+@param gatewayId
+   The identifier for the requested gateway.
+
+@param Project
+   The Project Object described in the workspace_model.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_updateProject">Function: Airavata.updateProject</h4>
+<pre><code>void</code> updateProject(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                   <code>string</code> projectId,
+                   <code><a href="workspace_model.html#Struct_Project">workspace_model.Project</a></code> updatedProject)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_ProjectNotFoundException">airavata_errors.ProjectNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Update an Existing Project
+
+@param projectId
+   The projectId of the project needed an update.
+
+@return void
+   Currently this does not return any value.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getProject">Function: Airavata.getProject</h4>
+<pre><code><a href="workspace_model.html#Struct_Project">workspace_model.Project</a></code> getProject(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                   <code>string</code> projectId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_ProjectNotFoundException">airavata_errors.ProjectNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get a Project by ID
+   This method is to obtain a project by providing a projectId.
+
+@param projectId
+   projectId of the project you require.
+
+@return project
+   project data model will be returned.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_deleteProject">Function: Airavata.deleteProject</h4>
+<pre><code>bool</code> deleteProject(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                   <code>string</code> projectId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_ProjectNotFoundException">airavata_errors.ProjectNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Delete a Project
+   This method is used to delete an existing Project.
+
+@param projectId
+   projectId of the project you want to delete.
+
+@return boolean
+   Boolean identifier for the success or failure of the deletion operation.
+
+   NOTE: This method is not used within gateways connected with Airavata.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getUserProjects">Function: Airavata.getUserProjects</h4>
+<pre><code>list&lt;<code><a href="workspace_model.html#Struct_Project">workspace_model.Project</a></code>&gt;</code> getUserProjects(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                              <code>string</code> gatewayId,
+                                              <code>string</code> userName,
+                                              <code>i32</code> limit,
+                                              <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get All User Projects
+Get all Project for the user with pagination. Results will be ordered based on creation time DESC.
+
+@param gatewayId
+   The identifier for the requested gateway.
+
+@param userName
+   The identifier of the user.
+
+@param limit
+   The amount results to be fetched.
+
+@param offset
+   The starting point of the results to be fetched.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_searchProjectsByProjectName">Function: Airavata.searchProjectsByProjectName</h4>
+<pre><code>list&lt;<code><a href="workspace_model.html#Struct_Project">workspace_model.Project</a></code>&gt;</code> searchProjectsByProjectName(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                          <code>string</code> gatewayId,
+                                                          <code>string</code> userName,
+                                                          <code>string</code> projectName,
+                                                          <code>i32</code> limit,
+                                                          <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Search User Projects by Project Name
+Get all Project for user by project name with pagination.Results will be ordered based on creation time DESC.
+
+@param gatewayId
+   The unique 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.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_searchProjectsByProjectDesc">Function: Airavata.searchProjectsByProjectDesc</h4>
+<pre><code>list&lt;<code><a href="workspace_model.html#Struct_Project">workspace_model.Project</a></code>&gt;</code> searchProjectsByProjectDesc(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                          <code>string</code> gatewayId,
+                                                          <code>string</code> userName,
+                                                          <code>string</code> description,
+                                                          <code>i32</code> limit,
+                                                          <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Search User Projects by Project Description
+Search and get all Projects for user by project description with pagination. Results will be ordered based on creation time DESC.
+
+@param gatewayId
+   The unique identifier of the gateway making the request.
+
+@param userName
+   The identifier of the user.
+
+@param 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.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_searchExperimentsByName">Function: Airavata.searchExperimentsByName</h4>
+<pre><code>list&lt;<code><a href="experiment_model.html#Struct_ExperimentSummaryModel">experiment_model.ExperimentSummaryModel</a></code>&gt;</code> searchExperimentsByName(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                                      <code>string</code> gatewayId,
+                                                                      <code>string</code> userName,
+                                                                      <code>string</code> expName,
+                                                                      <code>i32</code> limit,
+                                                                      <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Search User Experiments by Name
+Search user Experiments using experiment name with pagination. Results will be sorted based on creation time DESC.
+
+@param gatewayId
+      Unique identifier of the requested gateway.
+
+@param userName
+      Username of the user who created the experiments.
+
+@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.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_searchExperimentsByDesc">Function: Airavata.searchExperimentsByDesc</h4>
+<pre><code>list&lt;<code><a href="experiment_model.html#Struct_ExperimentSummaryModel">experiment_model.ExperimentSummaryModel</a></code>&gt;</code> searchExperimentsByDesc(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                                      <code>string</code> gatewayId,
+                                                                      <code>string</code> userName,
+                                                                      <code>string</code> description,
+                                                                      <code>i32</code> limit,
+                                                                      <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Search By Experiment Description
+Search Experiments by experiment description with pagination. Results will be sorted based on creation time DESC.
+
+@param gatewayId
+      Unique 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.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_searchExperimentsByApplication">Function: Airavata.searchExperimentsByApplication</h4>
+<pre><code>list&lt;<code><a href="experiment_model.html#Struct_ExperimentSummaryModel">experiment_model.ExperimentSummaryModel</a></code>&gt;</code> searchExperimentsByApplication(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                                             <code>string</code> gatewayId,
+                                                                             <code>string</code> userName,
+                                                                             <code>string</code> applicationId,
+                                                                             <code>i32</code> limit,
+                                                                             <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Search Experiment By the Application
+Search Experiments of a particular application id with pagination. Results will be sorted based on creation time DESC
+
+@param gatewayId
+      Unique 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.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_searchExperimentsByStatus">Function: Airavata.searchExperimentsByStatus</h4>
+<pre><code>list&lt;<code><a href="experiment_model.html#Struct_ExperimentSummaryModel">experiment_model.ExperimentSummaryModel</a></code>&gt;</code> searchExperimentsByStatus(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                                        <code>string</code> gatewayId,
+                                                                        <code>string</code> userName,
+                                                                        <code><a href="status_models.html#Enum_ExperimentState">status_models.ExperimentState</a></code> experimentState,
+                                                                        <code>i32</code> limit,
+                                                                        <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Search User Experiments by Status
+Search all the Experiments of the given user  by experiment status with pagination. Results will be sorted based on creation time DESC
+
+@param gatewayId
+      Unique identifier of the requested gateway.
+
+@param userName
+      Username of the user making the request.
+
+@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.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_searchExperimentsByCreationTime">Function: Airavata.searchExperimentsByCreationTime</h4>
+<pre><code>list&lt;<code><a href="experiment_model.html#Struct_ExperimentSummaryModel">experiment_model.ExperimentSummaryModel</a></code>&gt;</code> searchExperimentsByCreationTime(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                                              <code>string</code> gatewayId,
+                                                                              <code>string</code> userName,
+                                                                              <code>i64</code> fromTime,
+                                                                              <code>i64</code> toTime,
+                                                                              <code>i32</code> limit,
+                                                                              <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Search User Experiments by the Creation Time
+This will search all the experiments of the given user by experiment creation time with pagination. Results will be sorted based on creation time DESC.
+
+@param gatewayId
+      Unique 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.
+
+@return ExperimentSummaryModel
+   List of experiments for the given search filter. Here only the Experiment summary will be returned.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_searchExperiments">Function: Airavata.searchExperiments</h4>
+<pre><code>list&lt;<code><a href="experiment_model.html#Struct_ExperimentSummaryModel">experiment_model.ExperimentSummaryModel</a></code>&gt;</code> searchExperiments(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                                <code>string</code> gatewayId,
+                                                                <code>string</code> userName,
+                                                                <code>map&lt;<code><a href="experiment_model.html#Enum_ExperimentSearchFields">experiment_model.ExperimentSearchFields</a></code>, <code>string</code>&gt;</code> filters,
+                                                                <code>i32</code> limit,
+                                                                <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>Search Experiments.
+Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC.
+
+@param gatewayId
+      Identifier of the requested gateway.
+
+@param userName
+      Username of the user requesting the search function.
+
+@param filters
+      Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
+
+@param limit
+      Amount of results to be fetched.
+
+@param offset
+      The starting point of the results to be fetched.
+
+@return ExperimentSummaryModel
+   List of experiments for the given search filter. Here only the Experiment summary will be returned.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getExperimentStatistics">Function: Airavata.getExperimentStatistics</h4>
+<pre><code><a href="experiment_model.html#Struct_ExperimentStatistics">experiment_model.ExperimentStatistics</a></code> getExperimentStatistics(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                              <code>string</code> gatewayId,
+                                                              <code>i64</code> fromTime,
+                                                              <code>i64</code> toTime)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get Experiment Statistics
+Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
+
+@param gatewayId
+      Unique identifier of the gateway making the request to fetch statistics.
+
+@param fromTime
+      Starting date time.
+
+@param toTime
+      Ending data time.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getExperimentsInProject">Function: Airavata.getExperimentsInProject</h4>
+<pre><code>list&lt;<code><a href="experiment_model.html#Struct_ExperimentModel">experiment_model.ExperimentModel</a></code>&gt;</code> getExperimentsInProject(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                               <code>string</code> projectId,
+                                                               <code>i32</code> limit,
+                                                               <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_ProjectNotFoundException">airavata_errors.ProjectNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get All Experiments of the Project
+Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
+
+@param projectId
+      Uniqie identifier of the project.
+
+@param limit
+      Amount of results to be fetched.
+
+@param offset
+      The starting point of the results to be fetched.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getUserExperiments">Function: Airavata.getUserExperiments</h4>
+<pre><code>list&lt;<code><a href="experiment_model.html#Struct_ExperimentModel">experiment_model.ExperimentModel</a></code>&gt;</code> getUserExperiments(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                          <code>string</code> gatewayId,
+                                                          <code>string</code> userName,
+                                                          <code>i32</code> limit,
+                                                          <code>i32</code> offset)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get All Experiments of the User
+Get experiments by user with pagination. Results will be sorted based on creation time DESC.
+
+@param gatewayId
+      Identifier of the requesting gateway.
+
+@param userName
+      Username of the requested end user.
+
+@param limit
+      Amount of results to be fetched.
+
+@param offset
+      The starting point of the results to be fetched.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_createExperiment">Function: Airavata.createExperiment</h4>
+<pre><code>string</code> createExperiment(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                        <code>string</code> gatewayId,
+                        <code><a href="experiment_model.html#Struct_ExperimentModel">experiment_model.ExperimentModel</a></code> experiment)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>  *
+  * Create New Experiment
+  * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
+  *   but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client
+  *   has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
+  *   registering the experiment in a persistent store.
+  *
+  * @param gatewayId
+  *    The unique ID of the gateway where the experiment is been created.
+  *
+  * @param ExperimentModel
+  *    The create experiment will require the basic experiment metadata like the name and description, intended user,
+  *      the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
+  *      the ExperimentMetadata is a required field.
+  *
+  * @return
+  *   The server-side generated.airavata.registry.core.experiment.globally unique identifier.
+  *
+  * @throws org.apache.airavata.model.error.InvalidRequestException
+  *    For any incorrect forming of the request itself.
+  *
+  * @throws org.apache.airavata.model.error.AiravataClientException
+  *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+  *
+  *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+  *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
+  *         gateway registration steps and retry this request.
+  *
+  *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+  *         For now this is a place holder.
+  *
+  *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+  *         is implemented, the authorization will be more substantial.
+  *
+  * @throws org.apache.airavata.model.error.AiravataSystemException
+  *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+  *       rather an Airavata Administrator will be notified to take corrective action.
+  *
+*
+<br/></div><div class="definition"><h4 id="Fn_Airavata_deleteExperiment">Function: Airavata.deleteExperiment</h4>
+<pre><code>bool</code> deleteExperiment(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                      <code>string</code> experimentId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Delete an Experiment
+If the experiment is not already launched experiment can be deleted.
+
+@param authzToken
+
+@param experiementId
+    Experiment ID of the experimnet you want to delete.
+
+@return boolean
+    Identifier for the success or failure of the deletion operation.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getExperiment">Function: Airavata.getExperiment</h4>
+<pre><code><a href="experiment_model.html#Struct_ExperimentModel">experiment_model.ExperimentModel</a></code> getExperiment(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                               <code>string</code> airavataExperimentId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>  *
+  * Get Experiment
+  * Fetch previously created experiment metadata.
+  *
+  * @param airavataExperimentId
+  *    The unique identifier of the requested experiment. This ID is returned during the create experiment step.
+  *
+  * @return ExperimentModel
+  *   This method will return the previously stored experiment metadata.
+  *
+  * @throws org.apache.airavata.model.error.InvalidRequestException
+  *    For any incorrect forming of the request itself.
+  *
+  * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+  *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+  *
+  * @throws org.apache.airavata.model.error.AiravataClientException
+  *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+  *
+  *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+  *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
+  *         gateway registration steps and retry this request.
+  *
+  *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+  *         For now this is a place holder.
+  *
+  *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+  *         is implemented, the authorization will be more substantial.
+  *
+  * @throws org.apache.airavata.model.error.AiravataSystemException
+  *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+  *       rather an Airavata Administrator will be notified to take corrective action.
+  *
+*
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getDetailedExperimentTree">Function: Airavata.getDetailedExperimentTree</h4>
+<pre><code><a href="experiment_model.html#Struct_ExperimentModel">experiment_model.ExperimentModel</a></code> getDetailedExperimentTree(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                           <code>string</code> airavataExperimentId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get Complete Experiment Details
+Fetch the completed nested tree structue of previously created experiment metadata which includes processes -&gt;
+tasks -&gt; jobs information.
+
+@param airavataExperimentId
+   The identifier for the requested experiment. This is returned during the create experiment step.
+
+@return ExperimentModel
+  This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
+  information, special input output handling and additional quality of service parameters.
+
+@throws org.apache.airavata.model.error.InvalidRequestException
+   For any incorrect forming of the request itself.
+
+@throws org.apache.airavata.model.error.ExperimentNotFoundException
+   If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+
+@throws org.apache.airavata.model.error.AiravataClientException
+   The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+
+     UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+        step, then Airavata Registry will not have a provenance area setup. The client has to follow
+        gateway registration steps and retry this request.
+
+     AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+        For now this is a place holder.
+
+     INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+        is implemented, the authorization will be more substantial.
+
+@throws org.apache.airavata.model.error.AiravataSystemException
+   This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+      rather an Airavata Administrator will be notified to take corrective action.
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_updateExperiment">Function: Airavata.updateExperiment</h4>
+<pre><code>void</code> updateExperiment(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                      <code>string</code> airavataExperimentId,
+                      <code><a href="experiment_model.html#Struct_ExperimentModel">experiment_model.ExperimentModel</a></code> experiment)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Update a Previously Created Experiment
+Configure the CREATED experiment with required inputs, scheduling and other quality of service parameters. This method only updates the experiment object within the registry.
+The experiment has to be launched to make it actionable by the server.
+
+@param airavataExperimentId
+   The identifier for the requested experiment. This is returned during the create experiment step.
+
+@param ExperimentModel
+   The configuration information of the experiment with application input parameters, computational resource scheduling
+     information, special input output handling and additional quality of service parameters.
+
+@return
+  This method call does not have a return value.
+
+@throws org.apache.airavata.model.error.InvalidRequestException
+   For any incorrect forming of the request itself.
+
+@throws org.apache.airavata.model.error.ExperimentNotFoundException
+   If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+
+@throws org.apache.airavata.model.error.AiravataClientException
+   The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+     
+     UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+        step, then Airavata Registry will not have a provenance area setup. The client has to follow
+        gateway registration steps and retry this request.
+
+     AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+        For now this is a place holder.
+
+     INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+        is implemented, the authorization will be more substantial.
+
+@throws org.apache.airavata.model.error.AiravataSystemException
+   This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+      rather an Airavata Administrator will be notified to take corrective action.
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_updateExperimentConfiguration">Function: Airavata.updateExperimentConfiguration</h4>
+<pre><code>void</code> updateExperimentConfiguration(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                   <code>string</code> airavataExperimentId,
+                                   <code><a href="experiment_model.html#Struct_UserConfigurationDataModel">experiment_model.UserConfigurationDataModel</a></code> userConfiguration)
+    throws <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Airavata_updateResourceScheduleing">Function: Airavata.updateResourceScheduleing</h4>
+<pre><code>void</code> updateResourceScheduleing(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                               <code>string</code> airavataExperimentId,
+                               <code><a href="scheduling_model.html#Struct_ComputationalResourceSchedulingModel">scheduling_model.ComputationalResourceSchedulingModel</a></code> resourceScheduling)
+    throws <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Airavata_validateExperiment">Function: Airavata.validateExperiment</h4>
+<pre><code>bool</code> validateExperiment(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                        <code>string</code> airavataExperimentId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre> *
+ * Validate experiment configuration.
+ * A true in general indicates, the experiment is ready to be launched.
+ *
+ * @param airavataExperimentId
+ *    Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
+ *
+ * @return boolean
+ *      Identifier for the success or failure of the validation operation.
+ *
+*
+<br/></div><div class="definition"><h4 id="Fn_Airavata_launchExperiment">Function: Airavata.launchExperiment</h4>
+<pre><code>void</code> launchExperiment(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                      <code>string</code> airavataExperimentId,
+                      <code>string</code> gatewayId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Launch a Previously Created & Configured Experiment.
+Airavata Server will then start processing the request and appropriate notifications and intermediate and output data will be subsequently available for this experiment.
+
+@gatewayId
+   ID of the gateway which will launch the experiment.
+
+@param airavataExperimentId
+   The identifier for the requested experiment. This is returned during the create experiment step.
+
+@return
+  This method call does not have a return value.
+
+@throws org.apache.airavata.model.error.InvalidRequestException
+   For any incorrect forming of the request itself.
+
+@throws org.apache.airavata.model.error.ExperimentNotFoundException
+   If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+
+@throws org.apache.airavata.model.error.AiravataClientException
+   The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+     
+     UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+        step, then Airavata Registry will not have a provenance area setup. The client has to follow
+        gateway registration steps and retry this request.
+
+     AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+        For now this is a place holder.
+
+     INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+        is implemented, the authorization will be more substantial.
+
+@throws org.apache.airavata.model.error.AiravataSystemException
+   This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+      rather an Airavata Administrator will be notified to take corrective action.
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getExperimentStatus">Function: Airavata.getExperimentStatus</h4>
+<pre><code><a href="status_models.html#Struct_ExperimentStatus">status_models.ExperimentStatus</a></code> getExperimentStatus(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                   <code>string</code> airavataExperimentId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get Experiment Status
+
+Obtain the status of an experiment by providing the Experiment Id
+
+@param authzToken
+
+@param airavataExperimentId
+    Experiment ID of the experimnet you require the status.
+
+@return ExperimentStatus
+    ExperimentStatus model with the current status will be returned.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getExperimentOutputs">Function: Airavata.getExperimentOutputs</h4>
+<pre><code>list&lt;<code><a href="application_io_models.html#Struct_OutputDataObjectType">application_io_models.OutputDataObjectType</a></code>&gt;</code> getExperimentOutputs(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                                      <code>string</code> airavataExperimentId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get Experiment Outputs
+This method to be used when need to obtain final outputs of a certain Experiment
+
+@param authzToken
+
+@param airavataExperimentId
+    Experiment ID of the experimnet you need the outputs.
+
+@return list
+    List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getIntermediateOutputs">Function: Airavata.getIntermediateOutputs</h4>
+<pre><code>list&lt;<code><a href="application_io_models.html#Struct_OutputDataObjectType">application_io_models.OutputDataObjectType</a></code>&gt;</code> getIntermediateOutputs(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                                        <code>string</code> airavataExperimentId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get Intermediate Experiment Outputs
+This method to be used when need to obtain intermediate outputs of a certain Experiment
+
+@param authzToken
+
+@param airavataExperimentId
+    Experiment ID of the experimnet you need intermediate outputs.
+
+@return list
+    List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getJobStatuses">Function: Airavata.getJobStatuses</h4>
+<pre><code>map&lt;<code>string</code>, <code><a href="status_models.html#Struct_JobStatus">status_models.JobStatus</a></code>&gt;</code> getJobStatuses(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                  <code>string</code> airavataExperimentId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get Job Statuses for an Experiment
+This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
+
+@param authzToken
+
+@param experiementId
+    Experiment ID of the experimnet you need the job statuses.
+
+@return JobStatus
+    Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getJobDetails">Function: Airavata.getJobDetails</h4>
+<pre><code>list&lt;<code><a href="job_model.html#Struct_JobModel">job_model.JobModel</a></code>&gt;</code> getJobDetails(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                       <code>string</code> airavataExperimentId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Get Job Details for all the jobs within an Experiment.
+This method to be used when need to get the job details for one or many jobs of an Experiment.
+
+@param authzToken
+
+@param experiementId
+    Experiment ID of the experimnet you need job details.
+
+@return list of JobDetails
+    Job details.
+
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_cloneExperiment">Function: Airavata.cloneExperiment</h4>
+<pre><code>string</code> cloneExperiment(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                       <code>string</code> existingExperimentID,
+                       <code>string</code> newExperimentName)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Clone an Existing Experiment
+Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
+  The client has to subsequently update this configuration if needed and launch the cloned experiment.
+
+@param newExperimentName
+   experiment name that should be used in the cloned experiment
+
+@param updatedExperiment
+   Once an experiment is cloned, to disambiguate, the users are suggested to provide new metadata. This will again require
+     the basic experiment metadata like the name and description, intended user, the gateway identifier and if the experiment
+     should be shared public by default.
+
+@return
+  The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
+
+@throws org.apache.airavata.model.error.InvalidRequestException
+   For any incorrect forming of the request itself.
+
+@throws org.apache.airavata.model.error.ExperimentNotFoundException
+   If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+
+@throws org.apache.airavata.model.error.AiravataClientException
+   The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+     
+     UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+        step, then Airavata Registry will not have a provenance area setup. The client has to follow
+        gateway registration steps and retry this request.
+
+     AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+        For now this is a place holder.
+
+     INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+        is implemented, the authorization will be more substantial.
+
+@throws org.apache.airavata.model.error.AiravataSystemException
+   This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+      rather an Airavata Administrator will be notified to take corrective action.
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_terminateExperiment">Function: Airavata.terminateExperiment</h4>
+<pre><code>void</code> terminateExperiment(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                         <code>string</code> airavataExperimentId,
+                         <code>string</code> gatewayId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_ExperimentNotFoundException">airavata_errors.ExperimentNotFoundException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Terminate a running Experiment.
+
+@gatewayId
+   ID of the gateway which will terminate the running Experiment.
+
+@param airavataExperimentId
+   The identifier of the experiment required termination. This ID is returned during the create experiment step.
+
+@return status
+  This method call does not have a return value.
+
+@throws org.apache.airavata.model.error.InvalidRequestException
+   For any incorrect forming of the request itself.
+
+@throws org.apache.airavata.model.error.ExperimentNotFoundException
+   If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+
+@throws org.apache.airavata.model.error.AiravataClientException
+   The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+     
+     UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+        step, then Airavata Registry will not have a provenance area setup. The client has to follow
+        gateway registration steps and retry this request.
+
+     AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+        For now this is a place holder.
+
+     INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+        is implemented, the authorization will be more substantial.
+
+@throws org.apache.airavata.model.error.AiravataSystemException
+   This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+      rather an Airavata Administrator will be notified to take corrective action.
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_registerApplicationModule">Function: Airavata.registerApplicationModule</h4>
+<pre><code>string</code> registerApplicationModule(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                 <code>string</code> gatewayId,
+                                 <code><a href="application_deployment_model.html#Struct_ApplicationModule">application_deployment_model.ApplicationModule</a></code> applicationModule)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Register a Application Module.
+
+@gatewayId
+   ID of the gateway which is registering the new Application Module.
+
+@param applicationModule
+   Application Module Object created from the datamodel.
+
+@return appModuleId
+  Returns the server-side generated airavata appModule globally unique identifier.
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_getApplicationModule">Function: Airavata.getApplicationModule</h4>
+<pre><code><a href="application_deployment_model.html#Struct_ApplicationModule">application_deployment_model.ApplicationModule</a></code> getApplicationModule(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+                                                                    <code>string</code> appModuleId)
+    throws <code><a href="airavata_errors.html#Struct_InvalidRequestException">airavata_errors.InvalidRequestException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataClientException">airavata_errors.AiravataClientException</a></code>, <code><a href="airavata_errors.html#Struct_AiravataSystemException">airavata_errors.AiravataSystemException</a></code>, <code><a href="airavata_errors.html#Struct_AuthorizationException">airavata_errors.AuthorizationException</a></code>
+</pre>
+Fetch a Application Module.
+
+@param appModuleId
+  The unique identifier of the application module required
+
+@return applicationModule
+  Returns an Application Module Object.
+
+<br/></div><div class="definition"><h4 id="Fn_Airavata_updateApplicationModule">Function: Airavata.updateApplicationModule</h4>
+<pre><code>bool</code> updateApplicationModule(<code><a href="security_model.html#Struct_AuthzToken">security_model.AuthzToken</a></code> authzToken,
+             

<TRUNCATED>