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/09/21 17:00:17 UTC

[47/54] [abbrv] [partial] airavata-django-portal git commit: Moving admin_view JS into django app and moving django project back

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/apache/airavata/api/Airavata.py b/apache/airavata/api/Airavata.py
new file mode 100644
index 0000000..8263292
--- /dev/null
+++ b/apache/airavata/api/Airavata.py
@@ -0,0 +1,52177 @@
+#
+# 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, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+import sys
+import logging
+from .ttypes import *
+from thrift.Thrift import TProcessor
+from thrift.transport import TTransport
+
+
+class Iface(object):
+    def getAPIVersion(self, authzToken):
+        """
+        Fetch Apache Airavata API version
+
+
+        Parameters:
+         - authzToken
+        """
+        pass
+
+    def isUserExists(self, authzToken, gatewayId, userName):
+        """
+        Verify if User Exists within Airavata.
+
+        @param gatewayId
+
+         @param userName
+
+        @return true/false
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+         - userName
+        """
+        pass
+
+    def addGateway(self, authzToken, gateway):
+        """
+        Register a Gateway with Airavata.
+
+        @param gateway
+           The gateway data model.
+
+        @return gatewayId
+          Th unique identifier of the  newly registered gateway.
+
+
+
+        Parameters:
+         - authzToken
+         - gateway
+        """
+        pass
+
+    def getAllUsersInGateway(self, authzToken, gatewayId):
+        """
+        Get all users in the gateway
+
+        @param gatewayId
+           The gateway data model.
+
+        @return users
+          list of usernames of the users in the gateway
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def updateGateway(self, authzToken, gatewayId, updatedGateway):
+        """
+        Update previously registered Gateway metadata.
+
+        @param gatewayId
+           The gateway Id of the Gateway which require an update.
+
+        @return gateway
+           Modified gateway obejct.
+
+        @exception AiravataClientException
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+         - updatedGateway
+        """
+        pass
+
+    def getGateway(self, authzToken, gatewayId):
+        """
+        Get Gateway details by providing gatewayId
+
+        @param gatewayId
+           The gateway Id of the Gateway.
+
+        @return gateway
+           Gateway obejct.
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def deleteGateway(self, authzToken, gatewayId):
+        """
+        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.
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def getAllGateways(self, authzToken):
+        """
+        Get All the Gateways Connected to Airavata.
+
+
+        Parameters:
+         - authzToken
+        """
+        pass
+
+    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
+
+        @return boolean
+          Boolean idetifier for the existance or non-existane of the gatewayId
+
+        @return gatewayId
+          return the gatewayId of the existing gateway.
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def createNotification(self, authzToken, notification):
+        """
+          * API methods to retrieve notifications
+        *
+
+        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 getNotification(self, authzToken, gatewayId, notificationId):
+        """
+        Parameters:
+         - authzToken
+         - gatewayId
+         - notificationId
+        """
+        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.
+
+        @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 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
+
+        @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
+
+    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 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 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.
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+         - portalUserName
+         - loginUserName
+         - password
+         - description
+        """
+        pass
+
+    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 gatewayId
+           This is the unique identifier of your gateway where the token and public key was generated from.
+
+        @return publicKey
+
+
+
+        Parameters:
+         - authzToken
+         - airavataCredStoreToken
+         - gatewayId
+        """
+        pass
+
+    def getAllGatewaySSHPubKeys(self, authzToken, gatewayId):
+        """
+
+        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
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def getAllCredentialSummaryForGateway(self, authzToken, type, gatewayId):
+        """
+
+        Get all Credential summaries for the Gateway
+
+        @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 gatewayId
+           This is the unique identifier of your gateway where the token and public key was generated from.
+
+        @return List of Credential Summary Objects
+
+
+
+        Parameters:
+         - authzToken
+         - type
+         - gatewayId
+        """
+        pass
+
+    def getAllCredentialSummaryForUsersInGateway(self, authzToken, type, gatewayId, userId):
+        """
+
+        Get all Credential summaries for user in a Gateway
+
+        @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 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.
+
+        @return CredentialSummary
+
+
+
+        Parameters:
+         - authzToken
+         - type
+         - gatewayId
+         - userId
+        """
+        pass
+
+    def getAllGatewayPWDCredentials(self, authzToken, gatewayId):
+        """
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def deleteSSHPubKey(self, authzToken, airavataCredStoreToken, gatewayId):
+        """
+
+        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.
+
+
+
+        Parameters:
+         - authzToken
+         - airavataCredStoreToken
+         - gatewayId
+        """
+        pass
+
+    def deletePWDCredential(self, authzToken, airavataCredStoreToken, gatewayId):
+        """
+        Parameters:
+         - authzToken
+         - airavataCredStoreToken
+         - gatewayId
+        """
+        pass
+
+    def createProject(self, authzToken, gatewayId, project):
+        """
+
+        Creates a Project with basic metadata.
+           A Project is a container of experiments.
+
+        @param gatewayId
+           The identifier for the requested gateway.
+
+        @param Project
+           The Project Object described in the workspace_model.
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+         - project
+        """
+        pass
+
+    def updateProject(self, authzToken, projectId, updatedProject):
+        """
+
+        Update an Existing Project
+
+        @param projectId
+           The projectId of the project needed an update.
+
+        @return void
+           Currently this does not return any value.
+
+
+
+        Parameters:
+         - authzToken
+         - projectId
+         - updatedProject
+        """
+        pass
+
+    def getProject(self, authzToken, 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.
+
+        @return project
+           project data model will be returned.
+
+
+
+        Parameters:
+         - authzToken
+         - projectId
+        """
+        pass
+
+    def deleteProject(self, authzToken, projectId):
+        """
+
+        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.
+
+
+
+        Parameters:
+         - authzToken
+         - projectId
+        """
+        pass
+
+    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.
+
+        @param gatewayId
+           The identifier for the requested gateway.
+
+        @param userName
+           The identifier of the user.
+
+        @param limit
+           The amount results to be fetched.
+
+        @param offset
+           The starting point of the results to be fetched.
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+         - userName
+         - limit
+         - offset
+        """
+        pass
+
+    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.
+
+        @param gatewayId
+           The unique identifier of the gateway making the request.
+
+        @param userName
+           The identifier of the user.
+
+        @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 offset
+           The starting point of the results to be fetched.
+
+
+
+        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.
+
+        @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.
+
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+         - userName
+         - filters
+         - limit
+         - offset
+        """
+        pass
+
+    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.
+
+        @param gatewayId
+              Unique identifier of the gateway making the request to fetch statistics.
+
+        @param fromTime
+              Starting date time.
+
+        @param toTime
+              Ending data time.
+
+        @param userName
+              Gateway username 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.
+
+
+
+        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
+
+    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
+
+    def launchExperiment(self, authzToken, airavataExperimentId, gatewayId):
+        """
+
+        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.
+
+
+        Parameters:
+         - authzToken
+         - airavataExperimentId
+         - gatewayId
+        """
+        pass
+
+    def getExperimentStatus(self, authzToken, airavataExperimentId):
+        """
+
+        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.
+
+
+
+        Parameters:
+         - authzToken
+         - airavataExperimentId
+        """
+        pass
+
+    def getExperimentOutputs(self, authzToken, airavataExperimentId):
+        """
+
+        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.
+
+
+
+        Parameters:
+         - authzToken
+         - airavataExperimentId
+        """
+        pass
+
+    def getIntermediateOutputs(self, authzToken, airavataExperimentId):
+        """
+
+        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.
+
+
+
+        Parameters:
+         - authzToken
+         - airavataExperimentId
+        """
+        pass
+
+    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
+
+        @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
+
+
+
+        Parameters:
+         - authzToken
+         - airavataExperimentId
+        """
+        pass
+
+    def getJobDetails(self, authzToken, airavataExperimentId):
+        """
+
+        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.
+
+
+
+        Parameters:
+         - authzToken
+         - airavataExperimentId
+        """
+        pass
+
+    def cloneExperiment(self, authzToken, existingExperimentID, newExperimentName, newExperimentProjectId):
+        """
+
+        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.
+        @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.
+
+        @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
+         - existingExperimentID
+         - newExperimentName
+         - newExperimentProjectId
+        """
+        pass
+
+    def cloneExperimentByAdmin(self, authzToken, existingExperimentID, newExperimentName, newExperimentProjectId):
+        """
+
+        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 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.
+        @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.
+
+        @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
+         - existingExperimentID
+         - newExperimentName
+         - newExperimentProjectId
+        """
+        pass
+
+    def terminateExperiment(self, authzToken, airavataExperimentId, gatewayId):
+        """
+
+        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.
+
+
+        Parameters:
+         - authzToken
+         - airavataExperimentId
+         - gatewayId
+        """
+        pass
+
+    def registerApplicationModule(self, authzToken, gatewayId, applicationModule):
+        """
+
+        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.
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+         - applicationModule
+        """
+        pass
+
+    def getApplicationModule(self, authzToken, appModuleId):
+        """
+
+        Fetch a Application Module.
+
+        @param appModuleId
+          The unique identifier of the application module required
+
+        @return applicationModule
+          Returns an Application Module Object.
+
+
+        Parameters:
+         - authzToken
+         - appModuleId
+        """
+        pass
+
+    def updateApplicationModule(self, authzToken, appModuleId, applicationModule):
+        """
+
+        Update a Application Module.
+
+        @param appModuleId
+          The identifier for the requested application module to be updated.
+
+        @param applicationModule
+           Application Module Object created from the datamodel.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - appModuleId
+         - applicationModule
+        """
+        pass
+
+    def getAllAppModules(self, authzToken, gatewayId):
+        """
+
+        Fetch all Application Module Descriptions.
+
+        @param gatewayId
+           ID of the gateway which need to list all available application deployment documentation.
+
+        @return list
+           Returns the list of all Application Module Objects.
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def deleteApplicationModule(self, authzToken, appModuleId):
+        """
+
+        Delete an Application Module.
+
+        @param appModuleId
+          The identifier of the Application Module to be deleted.
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+        Parameters:
+         - authzToken
+         - appModuleId
+        """
+        pass
+
+    def registerApplicationDeployment(self, authzToken, gatewayId, applicationDeployment):
+        """
+
+        Register an Application Deployment.
+
+        @param gatewayId
+           ID of the gateway which is registering the new Application Deployment.
+
+        @param applicationDeployment
+           Application Module Object created from the datamodel.
+
+        @return appDeploymentId
+          Returns a server-side generated airavata appDeployment globally unique identifier.
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+         - applicationDeployment
+        """
+        pass
+
+    def getApplicationDeployment(self, authzToken, appDeploymentId):
+        """
+
+        Fetch a Application Deployment.
+
+        @param appDeploymentId
+          The identifier for the requested application module
+
+        @return applicationDeployment
+          Returns a application Deployment Object.
+
+
+        Parameters:
+         - authzToken
+         - appDeploymentId
+        """
+        pass
+
+    def updateApplicationDeployment(self, authzToken, appDeploymentId, applicationDeployment):
+        """
+
+        Update an Application Deployment.
+
+        @param appDeploymentId
+          The identifier of the requested application deployment to be updated.
+
+        @param appDeployment
+           Application Deployment Object created from the datamodel.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - appDeploymentId
+         - applicationDeployment
+        """
+        pass
+
+    def deleteApplicationDeployment(self, authzToken, appDeploymentId):
+        """
+
+        Delete an Application Deployment.
+
+        @param appDeploymentId
+          The unique identifier of application deployment to be deleted.
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+        Parameters:
+         - authzToken
+         - appDeploymentId
+        """
+        pass
+
+    def getAllApplicationDeployments(self, authzToken, gatewayId):
+        """
+
+        Fetch all Application Deployment Descriptions.
+
+        @param gatewayId
+           ID of the gateway which need to list all available application deployment documentation.
+
+        @return list<applicationDeployment.
+           Returns the list of all application Deployment Objects.
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def getAppModuleDeployedResources(self, authzToken, appModuleId):
+        """
+        Fetch a list of Deployed Compute Hosts.
+
+        @param appModuleId
+          The identifier for the requested application module
+
+        @return list<string>
+          Returns a list of Deployed Resources.
+
+
+        Parameters:
+         - authzToken
+         - appModuleId
+        """
+        pass
+
+    def registerApplicationInterface(self, authzToken, gatewayId, applicationInterface):
+        """
+
+        Register a Application Interface.
+
+        @param applicationInterface
+           Application Module Object created from the datamodel.
+
+        @return appInterfaceId
+          Returns a server-side generated airavata application interface globally unique identifier.
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+         - applicationInterface
+        """
+        pass
+
+    def cloneApplicationInterface(self, authzToken, existingAppInterfaceID, newApplicationName, gatewayId):
+        """
+
+        Clone an Application Interface.
+
+        @gatewayId
+           The identifier for the gateway profile to be requested
+
+        @param existingAppInterfaceID
+           Identifier of the existing Application interface you wich to clone.
+
+        @param newApplicationName
+           Name for the new application interface.
+
+        @return appInterfaceId
+           Returns a server-side generated globally unique identifier for the newly cloned application interface.
+
+
+        Parameters:
+         - authzToken
+         - existingAppInterfaceID
+         - newApplicationName
+         - gatewayId
+        """
+        pass
+
+    def getApplicationInterface(self, authzToken, appInterfaceId):
+        """
+
+        Fetch an Application Interface.
+
+        @param appInterfaceId
+          The identifier for the requested application interface.
+
+        @return applicationInterface
+          Returns an application Interface Object.
+
+
+        Parameters:
+         - authzToken
+         - appInterfaceId
+        """
+        pass
+
+    def updateApplicationInterface(self, authzToken, appInterfaceId, applicationInterface):
+        """
+
+        Update a Application Interface.
+
+        @param appInterfaceId
+          The identifier of the requested application deployment to be updated.
+
+        @param appInterface
+           Application Interface Object created from the datamodel.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - appInterfaceId
+         - applicationInterface
+        """
+        pass
+
+    def deleteApplicationInterface(self, authzToken, appInterfaceId):
+        """
+
+        Delete an Application Interface.
+
+        @param appInterfaceId
+          The identifier for the requested application interface to be deleted.
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+        Parameters:
+         - authzToken
+         - appInterfaceId
+        """
+        pass
+
+    def getAllApplicationInterfaceNames(self, authzToken, gatewayId):
+        """
+
+        Fetch name and ID of  Application Interface documents.
+
+
+        @return map<applicationId, applicationInterfaceNames>
+          Returns a list of application interfaces with corresponsing ID's
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def getAllApplicationInterfaces(self, authzToken, gatewayId):
+        """
+
+        Fetch all Application Interface documents.
+
+
+        @return map<applicationId, applicationInterfaceNames>
+          Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
+
+
+        Parameters:
+         - authzToken
+         - gatewayId
+        """
+        pass
+
+    def getApplicationInputs(self, authzToken, appInterfaceId):
+        """
+
+        Fetch the list of Application Inputs.
+
+        @param appInterfaceId
+          The identifier of the application interface which need inputs to be fetched.
+
+        @return list<application_interface_model.InputDataObjectType>
+          Returns a list of application inputs.
+
+
+        Parameters:
+         - authzToken
+         - appInterfaceId
+        """
+        pass
+
+    def getApplicationOutputs(self, authzToken, appInterfaceId):
+        """
+
+        Fetch list of Application Outputs.
+
+        @param appInterfaceId
+          The identifier of the application interface which need outputs to be fetched.
+
+        @return list<application_interface_model.OutputDataObjectType>
+          Returns a list of application outputs.
+
+
+        Parameters:
+         - authzToken
+         - appInterfaceId
+        """
+        pass
+
+    def getAvailableAppInterfaceComputeResources(self, authzToken, appInterfaceId):
+        """
+
+        Fetch a list of all deployed Compute Hosts for a given application interfaces.
+
+        @param appInterfaceId
+          The identifier for the requested application interface.
+
+        @return map<computeResourceId, computeResourceName>
+          A map of registered compute resource id's and their corresponding hostnames.
+          Deployments of each modules listed within the interfaces will be listed.
+
+
+        Parameters:
+         - authzToken
+         - appInterfaceId
+        """
+        pass
+
+    def registerComputeResource(self, authzToken, computeResourceDescription):
+        """
+        Register a Compute Resource.
+
+        @param computeResourceDescription
+           Compute Resource Object created from the datamodel.
+
+        @return computeResourceId
+          Returns a server-side generated airavata compute resource globally unique identifier.
+
+
+        Parameters:
+         - authzToken
+         - computeResourceDescription
+        """
+        pass
+
+    def getComputeResource(self, authzToken, computeResourceId):
+        """
+        Fetch the given Compute Resource.
+
+        @param computeResourceId
+          The identifier for the requested compute resource
+
+        @return computeResourceDescription
+           Compute Resource Object created from the datamodel..
+
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+        """
+        pass
+
+    def getAllComputeResourceNames(self, authzToken):
+        """
+
+        Fetch all registered Compute Resources.
+
+        @return A map of registered compute resource id's and thier corresponding hostnames.
+           Compute Resource Object created from the datamodel..
+
+
+        Parameters:
+         - authzToken
+        """
+        pass
+
+    def updateComputeResource(self, authzToken, computeResourceId, computeResourceDescription):
+        """
+        Update a Compute Resource.
+
+        @param computeResourceId
+          The identifier for the requested compute resource to be updated.
+
+        @param computeResourceDescription
+           Compute Resource Object created from the datamodel.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+         - computeResourceDescription
+        """
+        pass
+
+    def deleteComputeResource(self, authzToken, computeResourceId):
+        """
+        Delete a Compute Resource.
+
+        @param computeResourceId
+          The identifier for the requested compute resource to be deleted.
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+        """
+        pass
+
+    def registerStorageResource(self, authzToken, storageResourceDescription):
+        """
+        Register a Storage Resource.
+
+        @param storageResourceDescription
+           Storge Resource Object created from the datamodel.
+
+        @return storageResourceId
+          Returns a server-side generated airavata storage resource globally unique identifier.
+
+
+        Parameters:
+         - authzToken
+         - storageResourceDescription
+        """
+        pass
+
+    def getStorageResource(self, authzToken, storageResourceId):
+        """
+        Fetch the given Storage Resource.
+
+        @param storageResourceId
+          The identifier for the requested storage resource
+
+        @return storageResourceDescription
+           Storage Resource Object created from the datamodel..
+
+
+        Parameters:
+         - authzToken
+         - storageResourceId
+        """
+        pass
+
+    def getAllStorageResourceNames(self, authzToken):
+        """
+        Fetch all registered Storage Resources.
+
+        @return A map of registered compute resource id's and thier corresponding hostnames.
+           Compute Resource Object created from the datamodel..
+
+
+        Parameters:
+         - authzToken
+        """
+        pass
+
+    def updateStorageResource(self, authzToken, storageResourceId, storageResourceDescription):
+        """
+        Update a Storage Resource.
+
+        @param storageResourceId
+          The identifier for the requested compute resource to be updated.
+
+        @param storageResourceDescription
+           Storage Resource Object created from the datamodel.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - storageResourceId
+         - storageResourceDescription
+        """
+        pass
+
+    def deleteStorageResource(self, authzToken, storageResourceId):
+        """
+        Delete a Storage Resource.
+
+        @param storageResourceId
+          The identifier of the requested compute resource to be deleted.
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+        Parameters:
+         - authzToken
+         - storageResourceId
+        """
+        pass
+
+    def addLocalSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, localSubmission):
+        """
+        Add a Local Job Submission details to a compute resource
+         App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+
+        @param computeResourceId
+          The identifier of the compute resource to which JobSubmission protocol to be added
+
+        @param priorityOrder
+          Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+
+        @param localSubmission
+          The LOCALSubmission object to be added to the resource.
+
+        @return status
+          Returns the unique job submission id.
+
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+         - priorityOrder
+         - localSubmission
+        """
+        pass
+
+    def updateLocalSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, localSubmission):
+        """
+        Update the given Local Job Submission details
+
+        @param jobSubmissionInterfaceId
+          The identifier of the JobSubmission Interface to be updated.
+
+        @param localSubmission
+          The LOCALSubmission object to be updated.
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+        Parameters:
+         - authzToken
+         - jobSubmissionInterfaceId
+         - localSubmission
+        """
+        pass
+
+    def getLocalJobSubmission(self, authzToken, jobSubmissionId):
+        """
+        This method returns localJobSubmission object
+        @param jobSubmissionInterfaceId
+          The identifier of the JobSubmission Interface to be retrieved.
+         @return LOCALSubmission instance
+
+
+        Parameters:
+         - authzToken
+         - jobSubmissionId
+        """
+        pass
+
+    def addSSHJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, sshJobSubmission):
+        """
+        Add a SSH Job Submission details to a compute resource
+         App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+
+        @param computeResourceId
+          The identifier of the compute resource to which JobSubmission protocol to be added
+
+        @param priorityOrder
+          Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+
+        @param sshJobSubmission
+          The SSHJobSubmission object to be added to the resource.
+
+        @return status
+          Returns the unique job submission id.
+
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+         - priorityOrder
+         - sshJobSubmission
+        """
+        pass
+
+    def addSSHForkJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, sshJobSubmission):
+        """
+        Add a SSH_FORK Job Submission details to a compute resource
+         App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+
+        @param computeResourceId
+          The identifier of the compute resource to which JobSubmission protocol to be added
+
+        @param priorityOrder
+          Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+
+        @param sshJobSubmission
+          The SSHJobSubmission object to be added to the resource.
+
+        @return status
+          Returns the unique job submission id.
+
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+         - priorityOrder
+         - sshJobSubmission
+        """
+        pass
+
+    def getSSHJobSubmission(self, authzToken, jobSubmissionId):
+        """
+        This method returns SSHJobSubmission object
+        @param jobSubmissionInterfaceId
+          The identifier of the JobSubmission Interface to be retrieved.
+         @return SSHJobSubmission instance
+
+
+        Parameters:
+         - authzToken
+         - jobSubmissionId
+        """
+        pass
+
+    def addUNICOREJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, unicoreJobSubmission):
+        """
+
+        Add a UNICORE Job Submission details to a compute resource
+         App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+
+        @param computeResourceId
+          The identifier of the compute resource to which JobSubmission protocol to be added
+
+        @param priorityOrder
+          Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+
+        @param unicoreJobSubmission
+          The UnicoreJobSubmission object to be added to the resource.
+
+        @return status
+         Returns the unique job submission id.
+
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+         - priorityOrder
+         - unicoreJobSubmission
+        """
+        pass
+
+    def getUnicoreJobSubmission(self, authzToken, jobSubmissionId):
+        """
+          *
+          * This method returns UnicoreJobSubmission object
+          *
+          * @param jobSubmissionInterfaceId
+          *   The identifier of the JobSubmission Interface to be retrieved.
+          *  @return UnicoreJobSubmission instance
+          *
+        *
+
+        Parameters:
+         - authzToken
+         - jobSubmissionId
+        """
+        pass
+
+    def addCloudJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, cloudSubmission):
+        """
+           *
+           * Add a Cloud Job Submission details to a compute resource
+           *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+           *
+           * @param computeResourceId
+           *   The identifier of the compute resource to which JobSubmission protocol to be added
+           *
+           * @param priorityOrder
+           *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+           *
+           * @param sshJobSubmission
+           *   The SSHJobSubmission object to be added to the resource.
+           *
+           * @return status
+           *   Returns the unique job submission id.
+           *
+        *
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+         - priorityOrder
+         - cloudSubmission
+        """
+        pass
+
+    def getCloudJobSubmission(self, authzToken, jobSubmissionId):
+        """
+           *
+           * This method returns cloudJobSubmission object
+           * @param jobSubmissionInterfaceI
+               *   The identifier of the JobSubmission Interface to be retrieved.
+           *  @return CloudJobSubmission instance
+        *
+
+        Parameters:
+         - authzToken
+         - jobSubmissionId
+        """
+        pass
+
+    def updateSSHJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, sshJobSubmission):
+        """
+
+        Update the given SSH Job Submission details
+
+        @param jobSubmissionInterfaceId
+          The identifier of the JobSubmission Interface to be updated.
+
+        @param sshJobSubmission
+          The SSHJobSubmission object to be updated.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - jobSubmissionInterfaceId
+         - sshJobSubmission
+        """
+        pass
+
+    def updateCloudJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, sshJobSubmission):
+        """
+
+        Update the cloud Job Submission details
+
+        @param jobSubmissionInterfaceId
+          The identifier of the JobSubmission Interface to be updated.
+
+        @param cloudJobSubmission
+          The CloudJobSubmission object to be updated.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - jobSubmissionInterfaceId
+         - sshJobSubmission
+        """
+        pass
+
+    def updateUnicoreJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, unicoreJobSubmission):
+        """
+
+        Update the UNIOCRE Job Submission details
+
+        @param jobSubmissionInterfaceId
+          The identifier of the JobSubmission Interface to be updated.
+
+        @param UnicoreJobSubmission
+          The UnicoreJobSubmission object to be updated.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+
+        Parameters:
+         - authzToken
+         - jobSubmissionInterfaceId
+         - unicoreJobSubmission
+        """
+        pass
+
+    def addLocalDataMovementDetails(self, authzToken, productUri, dataMoveType, priorityOrder, localDataMovement):
+        """
+
+        Add a Local data movement details to a compute resource
+         App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+
+        @param productUri
+          The identifier of the compute resource to which JobSubmission protocol to be added
+
+        @param DMType
+          DMType object to be added to the resource.
+
+        @param priorityOrder
+          Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+
+        @param localDataMovement
+          The LOCALDataMovement object to be added to the resource.
+
+        @return status
+          Returns the unique job submission id.
+
+
+
+        Parameters:
+         - authzToken
+         - productUri
+         - dataMoveType
+         - priorityOrder
+         - localDataMovement
+        """
+        pass
+
+    def updateLocalDataMovementDetails(self, authzToken, dataMovementInterfaceId, localDataMovement):
+        """
+
+        Update the given Local data movement details
+
+        @param dataMovementInterfaceId
+          The identifier of the data movement Interface to be updated.
+
+        @param localDataMovement
+          The LOCALDataMovement object to be updated.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+
+        Parameters:
+         - authzToken
+         - dataMovementInterfaceId
+         - localDataMovement
+        """
+        pass
+
+    def getLocalDataMovement(self, authzToken, dataMovementId):
+        """
+
+        This method returns local datamovement object.
+
+        @param dataMovementId
+          The identifier of the datamovement Interface to be retrieved.
+
+         @return LOCALDataMovement instance
+
+
+
+        Parameters:
+         - authzToken
+         - dataMovementId
+        """
+        pass
+
+    def addSCPDataMovementDetails(self, authzToken, productUri, dataMoveType, priorityOrder, scpDataMovement):
+        """
+
+        Add a SCP data movement details to a compute resource
+         App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+
+        @param productUri
+          The identifier of the compute resource to which JobSubmission protocol to be added
+
+        @param priorityOrder
+          Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+
+        @param scpDataMovement
+          The SCPDataMovement object to be added to the resource.
+
+        @return status
+          Returns the unique job submission id.
+
+
+        Parameters:
+         - authzToken
+         - productUri
+         - dataMoveType
+         - priorityOrder
+         - scpDataMovement
+        """
+        pass
+
+    def updateSCPDataMovementDetails(self, authzToken, dataMovementInterfaceId, scpDataMovement):
+        """
+
+        Update the given scp data movement details
+         App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+
+        @param dataMovementInterfaceId
+          The identifier of the data movement Interface to be updated.
+
+        @param scpDataMovement
+          The SCPDataMovement object to be updated.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - dataMovementInterfaceId
+         - scpDataMovement
+        """
+        pass
+
+    def getSCPDataMovement(self, authzToken, dataMovementId):
+        """
+        This method returns SCP datamovement object
+
+        @param dataMovementId
+          The identifier of the datamovement Interface to be retrieved.
+
+        @return SCPDataMovement instance
+
+
+
+        Parameters:
+         - authzToken
+         - dataMovementId
+        """
+        pass
+
+    def addUnicoreDataMovementDetails(self, authzToken, productUri, dataMoveType, priorityOrder, unicoreDataMovement):
+        """
+
+        Add a UNICORE data movement details to a compute resource
+         App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+
+        @param productUri
+          The identifier of the compute resource to which data movement protocol to be added
+
+        @param priorityOrder
+          Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+
+        @param UnicoreDataMovement
+          The UnicoreDataMovement object to be added to the resource.
+
+        @return status
+          Returns the unique data movement id.
+
+
+        Parameters:
+         - authzToken
+         - productUri
+         - dataMoveType
+         - priorityOrder
+         - unicoreDataMovement
+        """
+        pass
+
+    def updateUnicoreDataMovementDetails(self, authzToken, dataMovementInterfaceId, unicoreDataMovement):
+        """
+
+        Update a selected UNICORE data movement details
+         App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+
+        @param dataMovementInterfaceId
+          The identifier of the data movement Interface to be updated.
+
+        @param UnicoreDataMovement
+          The UnicoreDataMovement object to be updated.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+
+        Parameters:
+         - authzToken
+         - dataMovementInterfaceId
+         - unicoreDataMovement
+        """
+        pass
+
+    def getUnicoreDataMovement(self, authzToken, dataMovementId):
+        """
+
+        This method returns UNICORE datamovement object
+
+        @param dataMovementId
+          The identifier of the datamovement Interface to be retrieved.
+
+        @return UnicoreDataMovement instance
+
+
+
+        Parameters:
+         - authzToken
+         - dataMovementId
+        """
+        pass
+
+    def addGridFTPDataMovementDetails(self, authzToken, productUri, dataMoveType, priorityOrder, gridFTPDataMovement):
+        """
+
+        Add a GridFTP data movement details to a compute resource
+         App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+
+        @param productUri
+          The identifier of the compute resource to which dataMovement protocol to be added
+
+        @param DMType
+           The DMType object to be added to the resource.
+
+        @param priorityOrder
+          Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+
+        @param gridFTPDataMovement
+          The GridFTPDataMovement object to be added to the resource.
+
+        @return status
+          Returns the unique data movement id.
+
+
+
+        Parameters:
+         - authzToken
+         - productUri
+         - dataMoveType
+         - priorityOrder
+         - gridFTPDataMovement
+        """
+        pass
+
+    def updateGridFTPDataMovementDetails(self, authzToken, dataMovementInterfaceId, gridFTPDataMovement):
+        """
+        Update the given GridFTP data movement details to a compute resource
+         App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+
+        @param dataMovementInterfaceId
+          The identifier of the data movement Interface to be updated.
+
+        @param gridFTPDataMovement
+          The GridFTPDataMovement object to be updated.
+
+        @return boolean
+          Returns a success/failure of the update.
+
+
+
+        Parameters:
+         - authzToken
+         - dataMovementInterfaceId
+         - gridFTPDataMovement
+        """
+        pass
+
+    def getGridFTPDataMovement(self, authzToken, dataMovementId):
+        """
+        This method returns GridFTP datamovement object
+
+        @param dataMovementId
+          The identifier of the datamovement Interface to be retrieved.
+
+         @return GridFTPDataMovement instance
+
+
+
+        Parameters:
+         - authzToken
+         - dataMovementId
+        """
+        pass
+
+    def changeJobSubmissionPriority(self, authzToken, jobSubmissionInterfaceId, newPriorityOrder):
+        """
+        Change the priority of a given job submisison interface
+
+        @param jobSubmissionInterfaceId
+          The identifier of the JobSubmission Interface to be changed
+
+        @param priorityOrder
+          The new priority of the job manager interface.
+
+        @return status
+          Returns a success/failure of the change.
+
+
+
+        Parameters:
+         - authzToken
+         - jobSubmissionInterfaceId
+         - newPriorityOrder
+        """
+        pass
+
+    def changeDataMovementPriority(self, authzToken, dataMovementInterfaceId, newPriorityOrder):
+        """
+        Change the priority of a given data movement interface
+
+        @param dataMovementInterfaceId
+          The identifier of the DataMovement Interface to be changed
+
+        @param priorityOrder
+          The new priority of the data movement interface.
+
+        @return status
+          Returns a success/failure of the change.
+
+
+
+        Parameters:
+         - authzToken
+         - dataMovementInterfaceId
+         - newPriorityOrder
+        """
+        pass
+
+    def changeJobSubmissionPriorities(self, authzToken, jobSubmissionPriorityMap):
+        """
+        Change the priorities of a given set of job submission interfaces
+
+        @param jobSubmissionPriorityMap
+          A Map of identifiers of the JobSubmission Interfaces and thier associated priorities to be set.
+
+        @return status
+          Returns a success/failure of the changes.
+
+
+        Parameters:
+         - authzToken
+         - jobSubmissionPriorityMap
+        """
+        pass
+
+    def changeDataMovementPriorities(self, authzToken, dataMovementPriorityMap):
+        """
+        Change the priorities of a given set of data movement interfaces
+
+        @param dataMovementPriorityMap
+          A Map of identifiers of the DataMovement Interfaces and thier associated priorities to be set.
+
+        @return status
+          Returns a success/failure of the changes.
+
+
+
+        Parameters:
+         - authzToken
+         - dataMovementPriorityMap
+        """
+        pass
+
+    def deleteJobSubmissionInterface(self, authzToken, computeResourceId, jobSubmissionInterfaceId):
+        """
+        Delete a given job submisison interface
+
+        @param jobSubmissionInterfaceId
+          The identifier of the JobSubmission Interface to be changed
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+         - jobSubmissionInterfaceId
+        """
+        pass
+
+    def deleteDataMovementInterface(self, authzToken, productUri, dataMovementInterfaceId, dataMoveType):
+        """
+        Delete a given data movement interface
+
+        @param dataMovementInterfaceId
+          The identifier of the DataMovement Interface to be changed
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+
+        Parameters:
+         - authzToken
+         - productUri
+         - dataMovementInterfaceId
+         - dataMoveType
+        """
+        pass
+
+    def registerResourceJobManager(self, authzToken, resourceJobManager):
+        """
+        Parameters:
+         - authzToken
+         - resourceJobManager
+        """
+        pass
+
+    def updateResourceJobManager(self, authzToken, resourceJobManagerId, updatedResourceJobManager):
+        """
+        Parameters:
+         - authzToken
+         - resourceJobManagerId
+         - updatedResourceJobManager
+        """
+        pass
+
+    def getResourceJobManager(self, authzToken, resourceJobManagerId):
+        """
+        Parameters:
+         - authzToken
+         - resourceJobManagerId
+        """
+        pass
+
+    def deleteResourceJobManager(self, authzToken, resourceJobManagerId):
+        """
+        Parameters:
+         - authzToken
+         - resourceJobManagerId
+        """
+        pass
+
+    def deleteBatchQueue(self, authzToken, computeResourceId, queueName):
+        """
+        Delete a Compute Resource Queue
+
+        @param computeResourceId
+          The identifier of the compute resource which has the queue to be deleted
+
+        @param queueName
+          Name of the queue need to be deleted. Name is the uniqueue identifier for the queue within a compute resource
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+
+        Parameters:
+         - authzToken
+         - computeResourceId
+         - queueName
+        """
+        pass
+
+    def registerGatewayResourceProfile(self, authzToken, gatewayResourceProfile):
+        """
+        Register a Gateway Resource Profile.
+
+        @param gatewayResourceProfile
+           Gateway Resource Profile Object.
+           The GatewayID should be obtained from Airavata gateway registration and passed to register a corresponding
+             resource profile.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - gatewayResourceProfile
+        """
+        pass
+
+    def getGatewayResourceProfile(self, authzToken, gatewayID):
+        """
+        Fetch the given Gateway Resource Profile.
+
+        @param gatewayID
+          The identifier for the requested gateway resource.
+
+        @return gatewayResourceProfile
+           Gateway Resource Profile Object.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+        """
+        pass
+
+    def updateGatewayResourceProfile(self, authzToken, gatewayID, gatewayResourceProfile):
+        """
+        Update a Gateway Resource Profile.
+
+        @param gatewayID
+          The identifier for the requested gateway resource to be updated.
+
+        @param gatewayResourceProfile
+           Gateway Resource Profile Object.
+
+        @return status
+          Returns a success/failure of the update.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+         - gatewayResourceProfile
+        """
+        pass
+
+    def deleteGatewayResourceProfile(self, authzToken, gatewayID):
+        """
+        Delete the given Gateway Resource Profile.
+
+        @param gatewayID
+          The identifier for the requested gateway resource to be deleted.
+
+        @return status
+          Returns a success/failure of the deletion.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+        """
+        pass
+
+    def addGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId, computeResourcePreference):
+        """
+        Add a Compute Resource Preference to a registered gateway profile.
+
+        @param gatewayID
+          The identifier for the gateway profile to be added.
+
+        @param computeResourceId
+          Preferences related to a particular compute resource
+
+        @param computeResourcePreference
+          The ComputeResourcePreference object to be added to the resource profile.
+
+        @return status
+          Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+           Instead an update should be used.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+         - computeResourceId
+         - computeResourcePreference
+        """
+        pass
+
+    def addGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId, storagePreference):
+        """
+        Add a Storage Resource Preference to a registered gateway profile.
+
+        @param gatewayID
+          The identifier of the gateway profile to be added.
+
+        @param storageResourceId
+          Preferences related to a particular compute resource
+
+        @param computeResourcePreference
+          The ComputeResourcePreference object to be added to the resource profile.
+
+        @return status
+          Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+           Instead an update should be used.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+         - storageResourceId
+         - storagePreference
+        """
+        pass
+
+    def getGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId):
+        """
+
+        Fetch a Compute Resource Preference of a registered gateway profile.
+
+        @param gatewayID
+          The identifier for the gateway profile to be requested
+
+        @param computeResourceId
+          Preferences related to a particular compute resource
+
+        @return computeResourcePreference
+          Returns the ComputeResourcePreference object.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+         - computeResourceId
+        """
+        pass
+
+    def getGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId):
+        """
+
+        Fetch a Storage Resource Preference of a registered gateway profile.
+
+        @param gatewayID
+          The identifier of the gateway profile to request to fetch the particular storage resource preference.
+
+        @param storageResourceId
+          Identifier of the Stprage Preference required to be fetched.
+
+        @return StoragePreference
+          Returns the StoragePreference object.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+         - storageResourceId
+        """
+        pass
+
+    def getAllGatewayComputeResourcePreferences(self, authzToken, gatewayID):
+        """
+
+        Fetch all Compute Resource Preferences of a registered gateway profile.
+
+        @param gatewayID
+          The identifier for the gateway profile to be requested
+
+        @return computeResourcePreference
+          Returns the ComputeResourcePreference object.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+        """
+        pass
+
+    def getAllGatewayStoragePreferences(self, authzToken, gatewayID):
+        """
+        Fetch all Storage Resource Preferences of a registered gateway profile.
+
+        @param gatewayID
+          The identifier for the gateway profile to be requested
+
+        @return StoragePreference
+          Returns the StoragePreference object.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+        """
+        pass
+
+    def getAllGatewayResourceProfiles(self, authzToken):
+        """
+
+        Fetch all Gateway Profiles registered
+
+        @return GatewayResourceProfile
+          Returns all the GatewayResourcePrifle list object.
+
+
+
+        Parameters:
+         - authzToken
+        """
+        pass
+
+    def updateGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId, computeResourcePreference):
+        """
+        Update a Compute Resource Preference to a registered gateway profile.
+
+        @param gatewayID
+          The identifier for the gateway profile to be updated.
+
+        @param computeResourceId
+          Preferences related to a particular compute resource
+
+        @param computeResourcePreference
+          The ComputeResourcePreference object to be updated to the resource profile.
+
+        @return status
+          Returns a success/failure of the updation.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+         - computeResourceId
+         - computeResourcePreference
+        """
+        pass
+
+    def updateGatewayStoragePreference(self, authzToken, gatewayID, storageId, storagePreference):
+        """
+        Update a Storage Resource Preference of a registered gateway profile.
+
+        @param gatewayID
+          The identifier of the gateway profile to be updated.
+
+        @param storageId
+          The Storage resource identifier of the one that you want to update
+
+        @param storagePreference
+          The storagePreference object to be updated to the resource profile.
+
+        @return status
+          Returns a success/failure of the updation.
+
+
+        Parameters:
+         - authzToken
+         - gatewayID
+         - storageId
+         - storagePreference
+        """
+        pass
+
+    def deleteGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId):
+        """
+        Delete the Compute Resource Preference of a registered gateway profile.
+
+        @param gatewayID
+          The identifier for the gateway profile to be deleted.
+
+        @

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/api/__init__.py
----------------------------------------------------------------------
diff --git a/apache/airavata/api/__init__.py b/apache/airavata/api/__init__.py
new file mode 100644
index 0000000..e85fb34
--- /dev/null
+++ b/apache/airavata/api/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants', 'Airavata']