You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2017/08/07 14:01:23 UTC

[47/51] [abbrv] [partial] airavata git commit: AIRAVATA-2505 Upgrade Airavata to Thrift 0.10.0

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

<TRUNCATED>