http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9fd253/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java new file mode 100644 index 0000000..22e29d1 --- /dev/null +++ b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java @@ -0,0 +1,136899 @@ + /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Autogenerated by Thrift Compiler (0.9.3) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.airavata.registry.api; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import javax.annotation.Generated; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-08-08") +public class RegistryService { + + public interface Iface { + + /** + * Fetch Apache Registry API version + * + */ + public String getAPIVersion() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Verify if User Exists within Airavata. + * + * @param gatewayId + * + * @param userName + * + * @return true/false + * + * + * + * @param gatewayId + * @param userName + */ + public boolean isUserExists(String gatewayId, String userName) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Register a Gateway with Airavata. + * + * @param gateway + * The gateway data model. + * + * @return gatewayId + * Th unique identifier of the newly registered gateway. + * + * + * + * @param gateway + */ + public String addGateway(org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Get all users in the gateway + * + * @param gatewayId + * The gateway data model. + * + * @return users + * list of usernames of the users in the gateway + * + * + * + * @param gatewayId + */ + public List<String> getAllUsersInGateway(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Update previously registered Gateway metadata. + * + * @param gatewayId + * The gateway Id of the Gateway which require an update. + * + * @return gateway + * Modified gateway obejct. + * + * @exception AiravataClientException + * + * + * + * @param gatewayId + * @param updatedGateway + */ + public boolean updateGateway(String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Get Gateway details by providing gatewayId + * + * @param gatewayId + * The gateway Id of the Gateway. + * + * @return gateway + * Gateway obejct. + * + * + * + * @param gatewayId + */ + public org.apache.airavata.model.workspace.Gateway getGateway(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param gatewayId + */ + public boolean deleteGateway(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Get All the Gateways Connected to Airavata. + * + */ + public List<org.apache.airavata.model.workspace.Gateway> getAllGateways() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param gatewayId + */ + public boolean isGatewayExist(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * * API methods to retrieve notifications + * * + * + * @param notification + */ + public String createNotification(org.apache.airavata.model.workspace.Notification notification) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public boolean updateNotification(org.apache.airavata.model.workspace.Notification notification) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public boolean deleteNotification(String gatewayId, String notificationId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public org.apache.airavata.model.workspace.Notification getNotification(String gatewayId, String notificationId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public List<org.apache.airavata.model.workspace.Notification> getAllNotifications(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param gatewayId + * @param project + */ + public String createProject(String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * Update an Existing Project + * + * @param projectId + * The projectId of the project needed an update. + * + * @return void + * Currently this does not return any value. + * + * + * + * @param projectId + * @param updatedProject + */ + public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param projectId + */ + public org.apache.airavata.model.workspace.Project getProject(String projectId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param projectId + */ + public boolean deleteProject(String projectId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param gatewayId + * @param userName + * @param limit + * @param offset + */ + public List<org.apache.airavata.model.workspace.Project> getUserProjects(String gatewayId, String userName, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param gatewayId + * @param userName + * @param filters + * @param limit + * @param offset + */ + public List<org.apache.airavata.model.workspace.Project> searchProjects(String gatewayId, String userName, Map<org.apache.airavata.model.experiment.ProjectSearchFields,String> filters, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param gatewayId + * @param userName + * @param filters + * @param limit + * @param offset + */ + public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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 gatewayId + * @param fromTime + * @param toTime + */ + public org.apache.airavata.model.experiment.ExperimentStatistics getExperimentStatistics(String gatewayId, long fromTime, long toTime) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param projectId + * @param limit + * @param offset + */ + public List<org.apache.airavata.model.experiment.ExperimentModel> getExperimentsInProject(String projectId, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param gatewayId + * @param userName + * @param limit + * @param offset + */ + public List<org.apache.airavata.model.experiment.ExperimentModel> getUserExperiments(String gatewayId, String userName, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * * + * * 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. + * * + * * + * + * @param gatewayId + * @param experiment + */ + public String createExperiment(String gatewayId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param experimentId + */ + public boolean deleteExperiment(String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * * + * * 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. + * * + * * + * + * @param airavataExperimentId + */ + public org.apache.airavata.model.experiment.ExperimentModel getExperiment(String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param airavataExperimentId + */ + public org.apache.airavata.model.experiment.ExperimentModel getDetailedExperimentTree(String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param airavataExperimentId + * @param experiment + */ + public void updateExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public void updateExperimentConfiguration(String airavataExperimentId, org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public void updateResourceScheduleing(String airavataExperimentId, org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param airavataExperimentId + */ + public org.apache.airavata.model.status.ExperimentStatus getExperimentStatus(String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param airavataExperimentId + */ + public List<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputs(String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param airavataExperimentId + */ + public List<org.apache.airavata.model.application.io.OutputDataObjectType> getIntermediateOutputs(String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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 + * + * + * + * @param airavataExperimentId + */ + public Map<String,org.apache.airavata.model.status.JobStatus> getJobStatuses(String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param airavataExperimentId + */ + public List<org.apache.airavata.model.job.JobModel> getJobDetails(String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param gatewayId + * @param applicationModule + */ + public String registerApplicationModule(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * Fetch a Application Module. + * + * @param appModuleId + * The unique identifier of the application module required + * + * @return applicationModule + * Returns an Application Module Object. + * + * + * @param appModuleId + */ + public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule(String appModuleId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param appModuleId + * @param applicationModule + */ + public boolean updateApplicationModule(String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param gatewayId + */ + public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * Delete an Application Module. + * + * @param appModuleId + * The identifier of the Application Module to be deleted. + * + * @return status + * Returns a success/failure of the deletion. + * + * + * @param appModuleId + */ + public boolean deleteApplicationModule(String appModuleId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param gatewayId + * @param applicationDeployment + */ + public String registerApplicationDeployment(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * Fetch a Application Deployment. + * + * @param appDeploymentId + * The identifier for the requested application module + * + * @return applicationDeployment + * Returns a application Deployment Object. + * + * + * @param appDeploymentId + */ + public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment(String appDeploymentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param appDeploymentId + * @param applicationDeployment + */ + public boolean updateApplicationDeployment(String appDeploymentId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * Delete an Application Deployment. + * + * @param appDeploymentId + * The unique identifier of application deployment to be deleted. + * + * @return status + * Returns a success/failure of the deletion. + * + * + * @param appDeploymentId + */ + public boolean deleteApplicationDeployment(String appDeploymentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param gatewayId + */ + public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAllApplicationDeployments(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param appModuleId + */ + public List<String> getAppModuleDeployedResources(String appModuleId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param gatewayId + * @param applicationInterface + */ + public String registerApplicationInterface(String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * Fetch an Application Interface. + * + * @param appInterfaceId + * The identifier for the requested application interface. + * + * @return applicationInterface + * Returns an application Interface Object. + * + * + * @param appInterfaceId + */ + public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface(String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param appInterfaceId + * @param applicationInterface + */ + public boolean updateApplicationInterface(String appInterfaceId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param appInterfaceId + */ + public boolean deleteApplicationInterface(String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * Fetch name and ID of Application Interface documents. + * + * + * @return map<applicationId, applicationInterfaceNames> + * Returns a list of application interfaces with corresponsing ID's + * + * + * @param gatewayId + */ + public Map<String,String> getAllApplicationInterfaceNames(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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). + * + * + * @param gatewayId + */ + public List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param appInterfaceId + */ + public List<org.apache.airavata.model.application.io.InputDataObjectType> getApplicationInputs(String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param appInterfaceId + */ + public List<org.apache.airavata.model.application.io.OutputDataObjectType> getApplicationOutputs(String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param appInterfaceId + */ + public Map<String,String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param computeResourceDescription + */ + public String registerComputeResource(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Fetch the given Compute Resource. + * + * @param computeResourceId + * The identifier for the requested compute resource + * + * @return computeResourceDescription + * Compute Resource Object created from the datamodel.. + * + * + * @param computeResourceId + */ + public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResource(String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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.. + * + */ + public Map<String,String> getAllComputeResourceNames() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param computeResourceId + * @param computeResourceDescription + */ + public boolean updateComputeResource(String computeResourceId, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param computeResourceId + */ + public boolean deleteComputeResource(String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param storageResourceDescription + */ + public String registerStorageResource(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Fetch the given Storage Resource. + * + * @param storageResourceId + * The identifier for the requested storage resource + * + * @return storageResourceDescription + * Storage Resource Object created from the datamodel.. + * + * + * @param storageResourceId + */ + public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getStorageResource(String storageResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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.. + * + */ + public Map<String,String> getAllStorageResourceNames() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param storageResourceId + * @param storageResourceDescription + */ + public boolean updateStorageResource(String storageResourceId, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param storageResourceId + */ + public boolean deleteStorageResource(String storageResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param computeResourceId + * @param priorityOrder + * @param localSubmission + */ + public String addLocalSubmissionDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param jobSubmissionInterfaceId + * @param localSubmission + */ + public boolean updateLocalSubmissionDetails(String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * This method returns localJobSubmission object + * @param jobSubmissionInterfaceId + * The identifier of the JobSubmission Interface to be retrieved. + * @return LOCALSubmission instance + * + * + * @param jobSubmissionId + */ + public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getLocalJobSubmission(String jobSubmissionId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param computeResourceId + * @param priorityOrder + * @param sshJobSubmission + */ + public String addSSHJobSubmissionDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param computeResourceId + * @param priorityOrder + * @param sshJobSubmission + */ + public String addSSHForkJobSubmissionDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * This method returns SSHJobSubmission object + * @param jobSubmissionInterfaceId + * The identifier of the JobSubmission Interface to be retrieved. + * @return SSHJobSubmission instance + * + * + * @param jobSubmissionId + */ + public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSSHJobSubmission(String jobSubmissionId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param computeResourceId + * @param priorityOrder + * @param unicoreJobSubmission + */ + public String addUNICOREJobSubmissionDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * * + * * This method returns UnicoreJobSubmission object + * * + * * @param jobSubmissionInterfaceId + * * The identifier of the JobSubmission Interface to be retrieved. + * * @return UnicoreJobSubmission instance + * * + * * + * + * @param jobSubmissionId + */ + public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission(String jobSubmissionId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * * + * * 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. + * * + * * + * + * @param computeResourceId + * @param priorityOrder + * @param cloudSubmission + */ + public String addCloudJobSubmissionDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * * + * * This method returns cloudJobSubmission object + * * @param jobSubmissionInterfaceI + * * The identifier of the JobSubmission Interface to be retrieved. + * * @return CloudJobSubmission instance + * * + * + * @param jobSubmissionId + */ + public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getCloudJobSubmission(String jobSubmissionId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param jobSubmissionInterfaceId + * @param sshJobSubmission + */ + public boolean updateSSHJobSubmissionDetails(String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param jobSubmissionInterfaceId + * @param sshJobSubmission + */ + public boolean updateCloudJobSubmissionDetails(String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param jobSubmissionInterfaceId + * @param unicoreJobSubmission + */ + public boolean updateUnicoreJobSubmissionDetails(String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param productUri + * @param dataMoveType + * @param priorityOrder + * @param localDataMovement + */ + public String addLocalDataMovementDetails(String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param dataMovementInterfaceId + * @param localDataMovement + */ + public boolean updateLocalDataMovementDetails(String dataMovementInterfaceId, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * This method returns local datamovement object. + * + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * + * @return LOCALDataMovement instance + * + * + * + * @param dataMovementId + */ + public org.apache.airavata.model.data.movement.LOCALDataMovement getLocalDataMovement(String dataMovementId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param productUri + * @param dataMoveType + * @param priorityOrder + * @param scpDataMovement + */ + public String addSCPDataMovementDetails(String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param dataMovementInterfaceId + * @param scpDataMovement + */ + public boolean updateSCPDataMovementDetails(String dataMovementInterfaceId, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * This method returns SCP datamovement object + * + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * + * @return SCPDataMovement instance + * + * + * + * @param dataMovementId + */ + public org.apache.airavata.model.data.movement.SCPDataMovement getSCPDataMovement(String dataMovementId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param productUri + * @param dataMoveType + * @param priorityOrder + * @param unicoreDataMovement + */ + public String addUnicoreDataMovementDetails(String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param dataMovementInterfaceId + * @param unicoreDataMovement + */ + public boolean updateUnicoreDataMovementDetails(String dataMovementInterfaceId, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * This method returns UNICORE datamovement object + * + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * + * @return UnicoreDataMovement instance + * + * + * + * @param dataMovementId + */ + public org.apache.airavata.model.data.movement.UnicoreDataMovement getUnicoreDataMovement(String dataMovementId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * + * @param productUri + * @param dataMoveType + * @param priorityOrder + * @param gridFTPDataMovement + */ + public String addGridFTPDataMovementDetails(String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param dataMovementInterfaceId + * @param gridFTPDataMovement + */ + public boolean updateGridFTPDataMovementDetails(String dataMovementInterfaceId, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * This method returns GridFTP datamovement object + * + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * + * @return GridFTPDataMovement instance + * + * + * + * @param dataMovementId + */ + public org.apache.airavata.model.data.movement.GridFTPDataMovement getGridFTPDataMovement(String dataMovementId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param jobSubmissionInterfaceId + * @param newPriorityOrder + */ + public boolean changeJobSubmissionPriority(String jobSubmissionInterfaceId, int newPriorityOrder) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param dataMovementInterfaceId + * @param newPriorityOrder + */ + public boolean changeDataMovementPriority(String dataMovementInterfaceId, int newPriorityOrder) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param jobSubmissionPriorityMap + */ + public boolean changeJobSubmissionPriorities(Map<String,Integer> jobSubmissionPriorityMap) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param dataMovementPriorityMap + */ + public boolean changeDataMovementPriorities(Map<String,Integer> dataMovementPriorityMap) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param computeResourceId + * @param jobSubmissionInterfaceId + */ + public boolean deleteJobSubmissionInterface(String computeResourceId, String jobSubmissionInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param productUri + * @param dataMovementInterfaceId + * @param dataMoveType + */ + public boolean deleteDataMovementInterface(String productUri, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public String registerResourceJobManager(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public boolean updateResourceJobManager(String resourceJobManagerId, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getResourceJobManager(String resourceJobManagerId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public boolean deleteResourceJobManager(String resourceJobManagerId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * + * @param computeResourceId + * @param queueName + */ + public boolean deleteBatchQueue(String computeResourceId, String queueName) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param gatewayResourceProfile + */ + public String registerGatewayResourceProfile(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Fetch the given Gateway Resource Profile. + * + * @param gatewayID + * The identifier for the requested gateway resource. + * + * @return gatewayResourceProfile + * Gateway Resource Profile Object. + * + * + * @param gatewayID + */ + public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getGatewayResourceProfile(String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param gatewayID + * @param gatewayResourceProfile + */ + public boolean updateGatewayResourceProfile(String gatewayID, org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param gatewayID + */ + public boolean deleteGatewayResourceProfile(String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param gatewayID + * @param computeResourceId + * @param computeResourcePreference + */ + public boolean addGatewayComputeResourcePreference(String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param gatewayID + * @param storageResourceId + * @param storagePreference + */ + public boolean addGatewayStoragePreference(String gatewayID, String storageResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param gatewayID + * @param computeResourceId + */ + public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getGatewayComputeResourcePreference(String gatewayID, String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param gatewayID + * @param storageResourceId + */ + public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getGatewayStoragePreference(String gatewayID, String storageResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * 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. + * + * + * @param gatewayID + */ + public List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getAllGatewayComputeResourcePreferences(String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param gatewayID + */ + public List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getAllGatewayStoragePreferences(String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * Fetch all Gateway Profiles registered + * + * @return GatewayResourceProfile + * Returns all the GatewayResourcePrifle list object. + * + * + */ + public List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getAllGatewayResourceProfiles() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param gatewayID + * @param computeResourceId + * @param computeResourcePreference + */ + public boolean updateGatewayComputeResourcePreference(String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * 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. + * + * + * @param gatewayID + * @param storageId + * @param storagePreference + */ + public boolean updateGatewayStoragePreference(String gatewayID, String storageId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Delete the Compute Resource Preference of a registered gateway profile. + * + * @param gatewayID + * The identifier for the gateway profile to be deleted. + * + * @param computeResourceId + * Preferences related to a particular compute resource + * + * @return status + * Returns a success/failure of the deletion. + * + * + * @param gatewayID + * @param computeResourceId + */ + public boolean deleteGatewayComputeResourcePreference(String gatewayID, String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Delete the Storage Resource Preference of a registered gateway profile. + * + * @param gatewayID + * The identifier of the gateway profile to be deleted. + * + * @param storageId + * ID of the storage preference you want to delete. + * + * @return status + * Returns a success/failure of the deletion. + * + * + * @param gatewayID + * @param storageId + */ + public boolean deleteGatewayStoragePreference(String gatewayID, String storageId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * Delete the Storage Resource Preference of a registered gateway profile. + * + * @param gatewayID + * The identifier of the gateway profile to be deleted. + * + * @param storageId + * ID of the storage preference you want to delete. + * + * @return status + * Returns a success/failure of the deletion. + * + * + * @param gatewayId + */ + public List<String> getAllWorkflows(String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * + * API Methods Related for Work-Flow Submission Features. + * + * + * @param workflowTemplateId + */ + public org.apache.airavata.model.WorkflowModel getWorkflow(String workflowTemplateId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public void deleteWorkflow(String workflowTemplateId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public String registerWorkflow(String gatewayId, org.apache.airavata.model.WorkflowModel workflow) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public void updateWorkflow(String workflowTemplateId, org.apache.airavata.model.WorkflowModel workflow) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public String getWorkflowTemplateId(String workflowName) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public boolean isWorkflowExistWithName(String workflowName) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + /** + * API Methods related to replica catalog + * + * + * @param dataProductModel + */ + public String registerDataProduct(org.apache.airavata.model.data.replica.DataProductModel dataProductModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public org.apache.airavata.model.data.replica.DataProductModel getDataProduct(String dataProductUri) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public String registerReplicaLocation(org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public org.apache.airavata.model.data.replica.DataProductModel getParentDataProduct(String productUri) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + public List<org.apache.airavata.model.data.replica.DataProductModel> getChildDataProducts(String productUri) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException; + + } + + public interface AsyncIface { + + public void getAPIVersion(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void isUserExists(String gatewayId, String userName, org.apache.thrift.asy
<TRUNCATED>
