http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h index 08503bd..25e967d 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h @@ -16,7 +16,7 @@ */ /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -25,13 +25,19 @@ #define Airavata_H #include <thrift/TDispatchProcessor.h> -#include "airavataAPI_types.h" +#include "airavata_api_types.h" namespace apache { namespace airavata { namespace api { class AiravataIf { public: virtual ~AiravataIf() {} + + /** + * Fetch Apache Airavata API version + * + * @param authzToken + */ virtual void getAPIVersion(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken) = 0; virtual void addGateway(std::string& _return, const ::apache::airavata::model::workspace::Gateway& gateway) = 0; virtual void updateGateway(const std::string& gatewayId, const ::apache::airavata::model::workspace::Gateway& updatedGateway) = 0; @@ -39,40 +45,677 @@ class AiravataIf { virtual bool deleteGateway(const std::string& gatewayId) = 0; virtual void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return) = 0; virtual bool isGatewayExist(const std::string& gatewayId) = 0; + + /** + * Generate and Register SSH Key Pair with Airavata Credential Store. + * + * @param gatewayId + * The identifier for the requested gateway. + * + * @param userName + * The User for which the credential should be registered. For community accounts, this user is the name of the + * community user name. For computational resources, this user name need not be the same user name on resoruces. + * + * @return airavataCredStoreToken + * An SSH Key pair is generated and stored in the credential store and associated with users or community account + * belonging to a gateway. + * + * + * + * @param gatewayId + * @param userName + */ virtual void generateAndRegisterSSHKeys(std::string& _return, const std::string& gatewayId, const std::string& userName) = 0; virtual void getSSHPubKey(std::string& _return, const std::string& airavataCredStoreToken) = 0; virtual void getAllUserSSHPubKeys(std::map<std::string, std::string> & _return, const std::string& userName) = 0; + + /** + * 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 + */ virtual void createProject(std::string& _return, const std::string& gatewayId, const ::apache::airavata::model::workspace::Project& project) = 0; + + /** + * Update a Project + * + * + * @param projectId + * @param updatedProject + */ virtual void updateProject(const std::string& projectId, const ::apache::airavata::model::workspace::Project& updatedProject) = 0; + + /** + * Get a Project by ID + * + * + * @param projectId + */ virtual void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) = 0; virtual bool deleteProject(const std::string& projectId) = 0; + + /** + * * Get all Project by user + * * + * * @param gatewayId + * * The identifier for the requested gateway. + * * + * * @param userName + * * The Project Object described in the workspace_model + * * @deprecated Instead use getAllUserProjectsWithPagination + * * + * + * @param gatewayId + * @param userName + */ virtual void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName) = 0; + + /** + * * Get all Project by user with pagination. Results will be ordered based + * * on creation time DESC + * * + * * @param gatewayId + * * The identifier for the requested gateway. + * * @param userName + * * The identifier of the user + * * @param limit + * * The amount results to be fetched + * * @param offset + * * The starting point of the results to be fetched + * * + * + * @param gatewayId + * @param userName + * @param limit + * @param offset + */ virtual void getAllUserProjectsWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0; + + /** + * Get all Project for user by project name + * + * @param gatewayId + * The identifier for the requested gateway. + * @param userName + * The identifier of the user + * @param projectName + * The name of the project on which the results to be fetched + * @deprecated Instead use searchProjectsByProjectNameWithPagination + * + * @param gatewayId + * @param userName + * @param projectName + */ virtual void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName) = 0; + + /** + * Get all Project for user by project name with pagination.Results will be ordered based + * on creation time DESC + * + * @param gatewayId + * The identifier for the requested gateway. + * @param userName + * The identifier of the user + * @param projectName + * The name of the project on which the results to be fetched + * @param limit + * The amount results to be fetched + * @param offset + * The starting point of the results to be fetched + * + * @param gatewayId + * @param userName + * @param projectName + * @param limit + * @param offset + */ virtual void searchProjectsByProjectNameWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName, const int32_t limit, const int32_t offset) = 0; + + /** + * Get all Project for user by project description + * @param gatewayId + * The identifier for the requested gateway. + * @param userName + * The identifier of the user + * @param description + * The description to be matched + * @deprecated Instead use searchProjectsByProjectDescWithPagination + * + * @param gatewayId + * @param userName + * @param description + */ virtual void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) = 0; + + /** + * Search and get all Projects for user by project description with pagination. Results + * will be ordered based on creation time DESC + * + * @param gatewayId + * The identifier for the requested gateway. + * @param userName + * The identifier of the user + * @param description + * The description to be matched + * @param limit + * The amount results to be fetched + * @param offset + * The starting point of the results to be fetched + * + * @param gatewayId + * @param userName + * @param description + * @param limit + * @param offset + */ virtual void searchProjectsByProjectDescWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0; + + /** + * Search Experiments by experiment name + * + * @param gatewayId + * Identifier of the requested gateway + * @param useNname + * Username of the requested user + * @param expName + * Experiment name to be matched + * @deprecated + * Instead use searchExperimentsByNameWithPagination + * + * + * @param gatewayId + * @param userName + * @param expName + */ virtual void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName) = 0; + + /** + * Search Experiments by experiment name with pagination. Results will be sorted + * based on creation time DESC + * + * @param gatewayId + * Identifier of the requested gateway + * @param userName + * Username of the requested user + * @param expName + * Experiment name to be matched + * @param limit + * Amount of results to be fetched + * @param offset + * The starting point of the results to be fetched + * + * @param gatewayId + * @param userName + * @param expName + * @param limit + * @param offset + */ virtual void searchExperimentsByNameWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName, const int32_t limit, const int32_t offset) = 0; + + /** + * Search Experiments by experiment name + * + * @param gatewayId + * Identifier of the requested gateway + * @param userName + * Username of the requested user + * @param description + * Experiment description to be matched + * @deprecated + * Instead use searchExperimentsByDescWithPagination + * + * @param gatewayId + * @param userName + * @param description + */ virtual void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) = 0; + + /** + * Search Experiments by experiment name with pagination. Results will be sorted + * based on creation time DESC + * + * @param gatewayId + * Identifier of the requested gateway + * @param userName + * Username of the requested user + * @param description + * Experiment description to be matched + * @param limit + * Amount of results to be fetched + * @param offset + * The starting point of the results to be fetched + * + * @param gatewayId + * @param userName + * @param description + * @param limit + * @param offset + */ virtual void searchExperimentsByDescWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0; + + /** + * Search Experiments by application id + * + * @param gatewayId + * Identifier of the requested gateway + * @param userName + * Username of the requested user + * @param applicationId + * Application id to be matched + * @deprecated + * Instead use searchExperimentsByApplicationWithPagination + * + * @param gatewayId + * @param userName + * @param applicationId + */ virtual void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId) = 0; + + /** + * Search Experiments by application id with pagination. Results will be sorted + * based on creation time DESC + * + * @param gatewayId + * Identifier of the requested gateway + * @param userName + * Username of the requested user + * @param applicationId + * Application id to be matched + * @param limit + * Amount of results to be fetched + * @param offset + * The starting point of the results to be fetched + * + * @param gatewayId + * @param userName + * @param applicationId + * @param limit + * @param offset + */ virtual void searchExperimentsByApplicationWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId, const int32_t limit, const int32_t offset) = 0; + + /** + * Search Experiments by experiment status + * + * @param gatewayId + * Identifier of the requested gateway + * @param userName + * Username of the requested user + * @param experimentState + * Experiement state to be matched + * @deprecated + * Instead use searchExperimentsByStatusWithPagination + * + * @param gatewayId + * @param userName + * @param experimentState + */ virtual void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState) = 0; + + /** + * Search Experiments by experiment status with pagination. Results will be sorted + * based on creation time DESC + * + * @param gatewayId + * Identifier of the requested gateway + * @param userName + * Username of the requested user + * @param experimentState + * Experiement state to be matched + * @param limit + * Amount of results to be fetched + * @param offset + * The starting point of the results to be fetched + * + * @param gatewayId + * @param userName + * @param experimentState + * @param limit + * @param offset + */ virtual void searchExperimentsByStatusWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState, const int32_t limit, const int32_t offset) = 0; + + /** + * Search Experiments by experiment creation time + * + * @param gatewayId + * Identifier of the requested gateway + * @param userName + * Username of the requested user + * @param fromTime + * Start time of the experiments creation time + * @param toTime + * End time of the experiement creation time + * @deprecated + * Instead use searchExperimentsByCreationTimeWithPagination + * + * @param gatewayId + * @param userName + * @param fromTime + * @param toTime + */ virtual void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime) = 0; + + /** + * Search Experiments by experiment creation time with pagination. Results will be sorted + * based on creation time DESC + * + * @param gatewayId + * Identifier of the requested gateway + * @param userName + * Username of the requested user + * @param fromTime + * Start time of the experiments creation time + * @param toTime + * End time of the experiement creation time + * @param limit + * Amount of results to be fetched + * @param offset + * The starting point of the results to be fetched + * + * @param gatewayId + * @param userName + * @param fromTime + * @param toTime + * @param limit + * @param offset + */ virtual void searchExperimentsByCreationTimeWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime, const int32_t limit, const int32_t offset) = 0; + + /** + * 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 requested user + * @param filters + * map of multiple filter criteria. + * @param limit + * Amount of 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 + */ virtual void searchExperiments(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::workspace::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset) = 0; + + /** + * Get Experiment Statisitics for the given gateway for a specific time period + * @param gatewayId + * Identifier of the requested gateway + * @param fromTime + * Starting date time + * @param toTime + * Ending data time + * + * + * @param gatewayId + * @param fromTime + * @param toTime + */ + virtual void getExperimentStatistics( ::apache::airavata::model::workspace::experiment::ExperimentStatistics& _return, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime) = 0; + + /** + * Get all Experiments within a Project + * + * @param projectId + * Identifier of the project + * @deprecated + * Instead use getAllExperimentsInProjectWithPagination + * + * @param projectId + */ virtual void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId) = 0; + + /** + * Get all Experiments within project with pagination. Results will be sorted + * based on creation time DESC + * + * @param projectId + * Identifier of the project + * @param limit + * Amount of results to be fetched + * @param offset + * The starting point of the results to be fetched + * + * @param projectId + * @param limit + * @param offset + */ virtual void getAllExperimentsInProjectWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId, const int32_t limit, const int32_t offset) = 0; + + /** + * Get all Experiments by user + * + * @param gatewayId + * Identifier of the requesting gateway + * @param userName + * Username of the requested user + * @deprecated + * Instead use getAllUserExperimentsWithPagination + * + * @param gatewayId + * @param userName + */ virtual void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& gatewayId, const std::string& userName) = 0; + + /** + * Get all Experiments by user pagination. Results will be sorted + * based on creation time DESC + * + * @param gatewayId + * Identifier of the requesting gateway + * @param userName + * Username of the requested user + * @param limit + * Amount of results to be fetched + * @param offset + * The starting point of the results to be fetched + * + * @param gatewayId + * @param userName + * @param limit + * @param offset + */ virtual void getAllUserExperimentsWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0; + + /** + * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed + * but inferred from the authentication header. This experiment is just a persistent place holder. The client + * has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except + * registering the experiment in a persistent store. + * + * @param basicExperimentMetadata + * The create experiment will require the basic experiment metadata like the name and description, intended user, + * the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment + * the ExperimentMetadata is a required field. + * + * @return + * The server-side generated.airavata.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 + */ virtual void createExperiment(std::string& _return, const std::string& gatewayId, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0; + + /** + * Fetch previously created experiment metadata. + * + * @param airavataExperimentId + * The identifier for the requested experiment. This is returned during the create experiment step. + * + * @return experimentMetada + * This method will return the previously stored experiment metadata. + * + * @throws org.apache.airavata.model.error.InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws org.apache.airavata.model.error.ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws org.apache.airavata.model.error.AiravataClientException + * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + * + * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + * step, then Airavata Registry will not have a provenance area setup. The client has to follow + * gateway registration steps and retry this request. + * + * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + * For now this is a place holder. + * + * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + * is implemented, the authorization will be more substantial. + * + * @throws org.apache.airavata.model.error.AiravataSystemException + * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + * rather an Airavata Administrator will be notified to take corrective action. + * + * + * @param airavataExperimentId + */ virtual void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& _return, const std::string& airavataExperimentId) = 0; + + /** + * Configure a previously created experiment with required inputs, scheduling and other quality of service + * parameters. This method only updates the experiment object within the registry. The experiment has to be launched + * to make it actionable by the server. + * + * @param airavataExperimentId + * The identifier for the requested experiment. This is returned during the create experiment step. + * + * @param experimentConfigurationData + * The configuration information of the experiment with application input parameters, computational resource scheduling + * information, special input output handling and additional quality of service parameters. + * + * @return + * This method call does not have a return value. + * + * @throws org.apache.airavata.model.error.InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws org.apache.airavata.model.error.ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws org.apache.airavata.model.error.AiravataClientException + * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + * + * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + * step, then Airavata Registry will not have a provenance area setup. The client has to follow + * gateway registration steps and retry this request. + * + * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + * For now this is a place holder. + * + * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + * is implemented, the authorization will be more substantial. + * + * @throws org.apache.airavata.model.error.AiravataSystemException + * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + * rather an Airavata Administrator will be notified to take corrective action. + * + * + * @param airavataExperimentId + * @param experiment + */ virtual void updateExperiment(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0; virtual void updateExperimentConfiguration(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::UserConfigurationData& userConfiguration) = 0; virtual void updateResourceScheduleing(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling& resourceScheduling) = 0; + + /** + * * + * * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched. + * * + * * @param experimentID + * * @return sucess/failure + * * + * * + * + * @param airavataExperimentId + */ virtual bool validateExperiment(const std::string& airavataExperimentId) = 0; + + /** + * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate + * notifications and intermediate and output data will be subsequently available for this experiment. + * + * @param airavataExperimentId + * The identifier for the requested experiment. This is returned during the create experiment step. + * + * @param airavataCredStoreToken: + * A requirement to execute experiments within Airavata is to first register the targeted remote computational account + * credentials with Airavata Credential Store. The administrative API (related to credential store) will return a + * generated token associated with the registered credentials. The client has to security posses this token id and is + * required to pass it to Airavata Server for all execution requests. + * Note: At this point only the credential store token is required so the string is directly passed here. In future if + * if more security credentials are enables, then the structure ExecutionSecurityParameters should be used. + * Note: This parameter is not persisted within Airavata Registry for security reasons. + * + * @return + * This method call does not have a return value. + * + * @throws org.apache.airavata.model.error.InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws org.apache.airavata.model.error.ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws org.apache.airavata.model.error.AiravataClientException + * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + * + * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + * step, then Airavata Registry will not have a provenance area setup. The client has to follow + * gateway registration steps and retry this request. + * + * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + * For now this is a place holder. + * + * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + * is implemented, the authorization will be more substantial. + * + * @throws org.apache.airavata.model.error.AiravataSystemException + * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + * rather an Airavata Administrator will be notified to take corrective action. + * + * + * @param airavataExperimentId + * @param airavataCredStoreToken + */ virtual void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) = 0; virtual void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& _return, const std::string& airavataExperimentId) = 0; virtual void getExperimentOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& airavataExperimentId) = 0; @@ -80,77 +723,1049 @@ class AiravataIf { virtual void getJobStatuses(std::map<std::string, ::apache::airavata::model::workspace::experiment::JobStatus> & _return, const std::string& airavataExperimentId) = 0; virtual void getJobDetails(std::vector< ::apache::airavata::model::workspace::experiment::JobDetails> & _return, const std::string& airavataExperimentId) = 0; virtual void getDataTransferDetails(std::vector< ::apache::airavata::model::workspace::experiment::DataTransferDetails> & _return, const std::string& airavataExperimentId) = 0; + + /** + * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata. + * The client has to subsequently update this configuration if needed and launch the cloned experiment. + * + * @param newExperimentName + * experiment name that should be used in the cloned experiment + * + * @param updatedExperiment + * Once an experiment is cloned, to disambiguate, the users are suggested to provide new metadata. This will again require + * the basic experiment metadata like the name and description, intended user, the gateway identifier and if the experiment + * should be shared public by default. + * + * @return + * The server-side generated.airavata.registry.core.experiment.globally unique identifier 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. + * + * + * @param existingExperimentID + * @param newExperimentName + */ virtual void cloneExperiment(std::string& _return, const std::string& existingExperimentID, const std::string& newExperimentName) = 0; + + /** + * Terminate a running 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. + * + * + * @param airavataExperimentId + * @param tokenId + */ virtual void terminateExperiment(const std::string& airavataExperimentId, const std::string& tokenId) = 0; + + /** + * Register a Application Module. + * + * @param applicationModule + * Application Module Object created from the datamodel. + * + * @return appModuleId + * Returns a server-side generated airavata appModule globally unique identifier. + * + * + * @param gatewayId + * @param applicationModule + */ virtual void registerApplicationModule(std::string& _return, const std::string& gatewayId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0; + + /** + * Fetch a Application Module. + * + * @param appModuleId + * The identifier for the requested application module + * + * @return applicationModule + * Returns a application Module Object. + * + * + * @param appModuleId + */ virtual void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const std::string& appModuleId) = 0; + + /** + * 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 + */ virtual bool updateApplicationModule(const std::string& appModuleId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0; virtual void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const std::string& gatewayId) = 0; + + /** + * Delete a Application Module. + * + * @param appModuleId + * The identifier for the requested application module to be deleted. + * + * @return status + * Returns a success/failure of the deletion. + * + * + * @param appModuleId + */ virtual bool deleteApplicationModule(const std::string& appModuleId) = 0; + + /** + * Register a Application Deployment. + * + * @param applicationModule + * Application Module Object created from the datamodel. + * + * @return appDeploymentId + * Returns a server-side generated airavata appDeployment globally unique identifier. + * + * + * @param gatewayId + * @param applicationDeployment + */ virtual void registerApplicationDeployment(std::string& _return, const std::string& gatewayId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0; + + /** + * Fetch a Application Deployment. + * + * @param appDeploymentId + * The identifier for the requested application module + * + * @return applicationDeployment + * Returns a application Deployment Object. + * + * + * @param appDeploymentId + */ virtual void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const std::string& appDeploymentId) = 0; + + /** + * Update a Application Deployment. + * + * @param appDeploymentId + * The identifier for 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 + */ virtual bool updateApplicationDeployment(const std::string& appDeploymentId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0; + + /** + * Delete a Application deployment. + * + * @param appDeploymentId + * The identifier for the requested application deployment to be deleted. + * + * @return status + * Returns a success/failure of the deletion. + * + * + * @param appDeploymentId + */ virtual bool deleteApplicationDeployment(const std::string& appDeploymentId) = 0; + + /** + * Fetch all Application Deployment Descriptions. + * + * @return list<applicationDeployment. + * Returns the list of all application Deployment Objects. + * + * + * @param gatewayId + */ virtual void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const std::string& gatewayId) = 0; + + /** + * 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 + */ virtual void getAppModuleDeployedResources(std::vector<std::string> & _return, const std::string& appModuleId) = 0; + + /** + * Register a Application Interface. + * + * @param applicationModule + * Application Module Object created from the datamodel. + * + * @return appInterfaceId + * Returns a server-side generated airavata application interface globally unique identifier. + * + * + * @param gatewayId + * @param applicationInterface + */ virtual void registerApplicationInterface(std::string& _return, const std::string& gatewayId, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0; + + /** + * Fetch a Application Interface. + * + * @param appInterfaceId + * The identifier for the requested application module + * + * @return applicationInterface + * Returns a application Interface Object. + * + * + * + * @param appInterfaceId + */ virtual void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const std::string& appInterfaceId) = 0; + + /** + * Update a Application Interface. + * + * @param appInterfaceId + * The identifier for 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 + */ virtual bool updateApplicationInterface(const std::string& appInterfaceId, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0; + + /** + * Delete a 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 + */ virtual bool deleteApplicationInterface(const std::string& appInterfaceId) = 0; + + /** + * Fetch name and id of Application Interface documents. + * + * + * @return map<applicationId, applicationInterfaceNames> + * Returns a list of application interfaces with corresponsing id's + * + * + * @param gatewayId + */ virtual void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const std::string& gatewayId) = 0; + + /** + * Fetch all Application Interface documents. + * + * + * @return map<applicationId, applicationInterfaceNames> + * Returns a list of application interfaces documents + * + * + * @param gatewayId + */ virtual void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const std::string& gatewayId) = 0; + + /** + * Fetch the list of Application Inputs. + * + * @param appInterfaceId + * The identifier for the requested application interface + * + * @return list<application_interface_model.InputDataObjectType> + * Returns a list of application inputs. + * + * + * @param appInterfaceId + */ virtual void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & _return, const std::string& appInterfaceId) = 0; + + /** + * Fetch the list of Application Outputs. + * + * @param appInterfaceId + * The identifier for the requested application interface + * + * @return list<application_interface_model.OutputDataObjectType> + * Returns a list of application outputs. + * + * + * @param appInterfaceId + */ virtual void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& appInterfaceId) = 0; + + /** + * 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 + */ virtual void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) = 0; + + /** + * 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 + */ virtual void registerComputeResource(std::string& _return, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0; + + /** + * 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 + */ virtual void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const std::string& computeResourceId) = 0; + + /** + * 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.. + * + */ virtual void getAllComputeResourceNames(std::map<std::string, std::string> & _return) = 0; + + /** + * 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 + */ virtual bool updateComputeResource(const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0; + + /** + * 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 + */ virtual bool deleteComputeResource(const std::string& computeResourceId) = 0; + + /** + * 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 + */ virtual void addLocalSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0; + + /** + * 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 + */ virtual bool updateLocalSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0; + + /** + * This method returns localJobSubmission object + * @param jobSubmissionInterfaceId + * The identifier of the JobSubmission Interface to be retrieved. + * @return LOCALSubmission instance + * + * + * @param jobSubmissionId + */ virtual void getLocalJobSubmission( ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& _return, const std::string& jobSubmissionId) = 0; + + /** + * 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 + */ virtual void addSSHJobSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0; + + /** + * This method returns SSHJobSubmission object + * @param jobSubmissionInterfaceId + * The identifier of the JobSubmission Interface to be retrieved. + * @return SSHJobSubmission instance + * + * + * @param jobSubmissionId + */ virtual void getSSHJobSubmission( ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& _return, const std::string& jobSubmissionId) = 0; + + /** + * 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 + */ virtual void addUNICOREJobSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) = 0; + + /** + * * This method returns UnicoreJobSubmission object + * * @param jobSubmissionInterfaceId + * * The identifier of the JobSubmission Interface to be retrieved. + * * @return UnicoreJobSubmission instance + * * + * + * @param jobSubmissionId + */ virtual void getUnicoreJobSubmission( ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& _return, const std::string& jobSubmissionId) = 0; + + /** + * * 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 + */ virtual void addCloudJobSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& cloudSubmission) = 0; + + /** + * * This method returns cloudJobSubmission object + * * @param jobSubmissionInterfaceI + * * The identifier of the JobSubmission Interface to be retrieved. + * * @return CloudJobSubmission instance + * * + * + * @param jobSubmissionId + */ virtual void getCloudJobSubmission( ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& _return, const std::string& jobSubmissionId) = 0; + + /** + * 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 deletion. + * + * + * @param jobSubmissionInterfaceId + * @param sshJobSubmission + */ virtual bool updateSSHJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0; + + /** + * Update the given SSH 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 deletion. + * + * + * @param jobSubmissionInterfaceId + * @param sshJobSubmission + */ virtual bool updateCloudJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& sshJobSubmission) = 0; virtual bool updateUnicoreJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) = 0; + + /** + * Add a Local data movement details to a compute resource + * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + * + * @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 localDataMovement + * The LOCALDataMovement object to be added to the resource. + * + * @return status + * Returns the unique job submission id. + * + * + * @param computeResourceId + * @param priorityOrder + * @param localDataMovement + */ virtual void addLocalDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0; + + /** + * 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 + */ virtual bool updateLocalDataMovementDetails(const std::string& dataMovementInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0; + + /** + * * This method returns local datamovement object + * * @param dataMovementId + * * The identifier of the datamovement Interface to be retrieved. + * * @return LOCALDataMovement instance + * * + * + * @param dataMovementId + */ virtual void getLocalDataMovement( ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& _return, const std::string& dataMovementId) = 0; + + /** + * Add a SCP data movement details to a compute resource + * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + * + * @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 scpDataMovement + * The SCPDataMovement object to be added to the resource. + * + * @return status + * Returns the unique job submission id. + * + * + * @param computeResourceId + * @param priorityOrder + * @param scpDataMovement + */ virtual void addSCPDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0; + + /** + * 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 + */ virtual bool updateSCPDataMovementDetails(const std::string& dataMovementInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0; + + /** + * * This method returns SCP datamovement object + * * @param dataMovementId + * * The identifier of the datamovement Interface to be retrieved. + * * @return SCPDataMovement instance + * * + * + * @param dataMovementId + */ virtual void getSCPDataMovement( ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& _return, const std::string& dataMovementId) = 0; virtual void addUnicoreDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) = 0; virtual bool updateUnicoreDataMovementDetails(const std::string& dataMovementInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) = 0; virtual void getUnicoreDataMovement( ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& _return, const std::string& dataMovementId) = 0; + + /** + * Add a GridFTP data movement details to a compute resource + * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + * + * @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 gridFTPDataMovement + * The GridFTPDataMovement object to be added to the resource. + * + * @return status + * Returns the unique job submission id. + * + * + * @param computeResourceId + * @param priorityOrder + * @param gridFTPDataMovement + */ virtual void addGridFTPDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0; + + /** + * 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 status + * Returns a success/failure of the updation. + * + * + * @param dataMovementInterfaceId + * @param gridFTPDataMovement + */ virtual bool updateGridFTPDataMovementDetails(const std::string& dataMovementInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0; + + /** + * * This method returns GridFTP datamovement object + * * @param dataMovementId + * * The identifier of the datamovement Interface to be retrieved. + * * @return GridFTPDataMovement instance + * * + * + * @param dataMovementId + */ virtual void getGridFTPDataMovement( ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& _return, const std::string& dataMovementId) = 0; + + /** + * 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 + */ virtual bool changeJobSubmissionPriority(const std::string& jobSubmissionInterfaceId, const int32_t newPriorityOrder) = 0; + + /** + * 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 + */ virtual bool changeDataMovementPriority(const std::string& dataMovementInterfaceId, const int32_t newPriorityOrder) = 0; + + /** + * 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 + */ virtual bool changeJobSubmissionPriorities(const std::map<std::string, int32_t> & jobSubmissionPriorityMap) = 0; + + /** + * 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 + */ virtual bool changeDataMovementPriorities(const std::map<std::string, int32_t> & dataMovementPriorityMap) = 0; + + /** + * 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 + */ virtual bool deleteJobSubmissionInterface(const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId) = 0; + + /** + * 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 computeResourceId + * @param dataMovementInterfaceId + */ virtual bool deleteDataMovementInterface(const std::string& computeResourceId, const std::string& dataMovementInterfaceId) = 0; virtual void registerResourceJobManager(std::string& _return, const ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager) = 0; virtual bool updateResourceJobManager(const std::string& resourceJobManagerId, const ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& updatedResourceJobManager) = 0; virtual void getResourceJobManager( ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& _return, const std::string& resourceJobManagerId) = 0; virtual bool deleteResourceJobManager(const std::string& resourceJobManagerId) = 0; virtual bool deleteBatchQueue(const std::string& computeResourceId, const std::string& queueName) = 0; + + /** + * 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 + */ virtual void registerGatewayResourceProfile(std::string& _return, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0; + + /** + * Fetch the given Gateway Resource Profile. + * + * @param gatewayID + * The identifier for the requested gateway resource + * + * @return gatewayResourceProfile + * Gateway Resource Profile Object. + * + * + * @param gatewayID + */ virtual void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& _return, const std::string& gatewayID) = 0; + + /** + * 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 + */ virtual bool updateGatewayResourceProfile(const std::string& gatewayID, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0; + + /** + * 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 + */ virtual bool deleteGatewayResourceProfile(const std::string& gatewayID) = 0; + + /** + * 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 + */ virtual bool addGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0; + + /** + * 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 + */ virtual void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const std::string& gatewayID, const std::string& computeResourceId) = 0; + + /** + * 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 + */ virtual void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const std::string& gatewayID) = 0; + + /** + * Fetch all gateway profiles registered + * + */ virtual void getAllGatewayComputeResources(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> & _return) = 0; + + /** + * 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 + */ virtual bool updateGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0; + + /** + * 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 + */ virtual bool deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId) = 0; virtual void getAllWorkflows(std::vector<std::string> & _return, const std::string& gatewayId) = 0; virtual void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) = 0; @@ -284,6 +1899,9 @@ class AiravataNull : virtual public AiravataIf { void searchExperiments(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::map< ::apache::airavata::model::workspace::experiment::ExperimentSearchFields::type, std::string> & /* filters */, const int32_t /* limit */, const int32_t /* offset */) { return; } + void getExperimentStatistics( ::apache::airavata::model::workspace::experiment::ExperimentStatistics& /* _return */, const std::string& /* gatewayId */, const int64_t /* fromTime */, const int64_t /* toTime */) { + return; + } void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* projectId */) { return; } @@ -610,16 +2228,18 @@ class AiravataNull : virtual public AiravataIf { class Airavata_getAPIVersion_args { public: + static const char* ascii_fingerprint; // = "75A7E945AEBB96C8FA8998CBCEB31C27"; + static const uint8_t binary_fingerprint[16]; // = {0x75,0xA7,0xE9,0x45,0xAE,0xBB,0x96,0xC8,0xFA,0x89,0x98,0xCB,0xCE,0xB3,0x1C,0x27}; + + Airavata_getAPIVersion_args(const Airavata_getAPIVersion_args&); + Airavata_getAPIVersion_args& operator=(const Airavata_getAPIVersion_args&); Airavata_getAPIVersion_args() { } - virtual ~Airavata_getAPIVersion_args() throw() {} - + virtual ~Airavata_getAPIVersion_args() throw(); ::apache::airavata::model::security::AuthzToken authzToken; - void __set_authzToken(const ::apache::airavata::model::security::AuthzToken& val) { - authzToken = val; - } + void __set_authzToken(const ::apache::airavata::model::security::AuthzToken& val); bool operator == (const Airavata_getAPIVersion_args & rhs) const { @@ -636,38 +2256,46 @@ class Airavata_getAPIVersion_args { uint32_t read(::apache::thrift::protocol::TProtocol* iprot); uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + friend std::ostream& operator<<(std::ostream& out, const Airavata_getAPIVersion_args& obj); }; class Airavata_getAPIVersion_pargs { public: + static const char* ascii_fingerprint; // = "75A7E945AEBB96C8FA8998CBCEB31C27"; + static const uint8_t binary_fingerprint[16]; // = {0x75,0xA7,0xE9,0x45,0xAE,0xBB,0x96,0xC8,0xFA,0x89,0x98,0xCB,0xCE,0xB3,0x1C,0x27}; - virtual ~Airavata_getAPIVersion_pargs() throw() {} + virtual ~Airavata_getAPIVersion_pargs() throw(); const ::apache::airavata::model::security::AuthzToken* authzToken; uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + friend std::ostream& operator<<(std::ostream& out, const Airavata_getAPIVersion_pargs& obj); }; typedef struct _Airavata_getAPIVersion_result__isset { _Airavata_getAPIVersion_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {} - bool success; - bool ire; - bool ace; - bool ase; - bool ae; + bool success :1; + bool ire :1; + bool ace :1; + bool ase :1; + bool ae :1; } _Airavata_getAPIVersion_result__isset; class Airavata_getAPIVersion_result { public: + static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023"; + static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23}; + + Airavata_getAPIVersion_result(const Airavata_getAPIVersion_result&); + Airavata_getAPIVersion_result& operator=(const Airavata_getAPIVersion_result&); Airavata_getAPIVersion_result() : success() { } - virtual ~Airavata_getAPIVersion_result() throw() {} - + virtual ~Airavata_getAPIVersion_result() throw(); std::string success; ::apache::airavata::api::error::InvalidRequestException ire; ::apache::airavata::api::error::AiravataClientException ace; @@ -676,25 +2304,15 @@ class Airavata_getAPIVersion_result { _Airavata_getAPIVersion_result__isset __isset; - void __set_success(const std::string& val) { - success = val; - } + void __set_success(const std::string& val); - void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) { - ire = val; - } + void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val); - void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) { - ace = val; - } + void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val); - void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) { - ase = val; - } + void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val); - void __set_ae(const ::apache::airavata::api::error::AuthorizationException& val) { - ae = val; - } + void __set_ae(const ::apache::airavata::api::error::AuthorizationException& val); bool operator == (const Airavata_getAPIVersion_result & rhs) const { @@ -719,23 +2337,26 @@ class Airavata_getAPIVersion_result { uint32_t read(::apache::thrift::protocol::TProtocol* iprot); uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + friend std::ostream& operator<<(std::ostream& out, const Airavata_getAPIVersion_result& obj); }; typedef struct _Airavata_getAPIVersion_presult__isset { _Airavata_getAPIVersion_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {} - bool success; - bool ire; - bool ace; - bool ase; - bool ae; + bool success :1; + bool ire :1; + bool ace :1; + bool ase :1; + bool ae :1; } _Airavata_getAPIVersion_presult__isset; class Airavata_getAPIVersion_presult { public: + static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023"; + static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23}; - virtual ~Airavata_getAPIVersion_presult() throw() {} + virtual ~Airavata_getAPIVersion_presult() throw(); std::string* success; ::apache::airavata::api::error::InvalidRequestException ire; ::apache::airavata::api::error::AiravataClientException ace; @@ -746,22 +2367,25 @@ class Airavata_getAPIVersion_presult { uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + friend std::ostream& operator<<(std::ostream& out, const Airavata_getAPIVersion_presult& obj); }; class Airavata_addGateway_args { public: + static const char* ascii_fingerprint; // = "D64A104FD7F91B8A042C379A972C0256"; + static const uint8_t binary_fingerprint[16]; // = {0xD6,0x4A,0x10,0x4F,0xD7,0xF9,0x1B,0x8A,0x04,0x2C,0x37,0x9A,0x97,0x2C,0x02,0x56}; + + Airavata_addGateway_args(const Airavata_addGateway_args&); + Airavata_addGateway_args& operator=(const Airavata_addGateway_args&); Airavata_addGateway_args() { } - virtual ~Airavata_addGateway_args() throw() {} - + virtual ~Airavata_addGateway_args() throw(); ::apache::airavata::model::workspace::Gateway gateway; - void __set_gateway(const ::apache::airavata::model::workspace::Gateway& val) { - gateway = val; - } + void __set_gateway(const ::apache::airavata::model::workspace::Gateway& val); bool operator == (const Airavata_addGateway_args & rhs) const { @@ -778,37 +2402,45 @@ class Airavata_addGateway_args { uint32_t read(::apache::thrift::protocol::TProtocol* iprot); uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + friend std::ostream& operator<<(std::ostream& out, const Airavata_addGateway_args& obj); }; class Airavata_addGateway_pargs { public: + static const char* ascii_fingerprint; // = "D64A104FD7F91B8A042C379A972C0256"; + static const uint8_t binary_fingerprint[16]; // = {0xD6,0x4A,0x10,0x4F,0xD7,0xF9,0x1B,0x8A,0x04,0x2C,0x37,0x9A,0x97,0x2C,0x02,0x56}; - virtual ~Airavata_addGateway_pargs() throw() {} + virtual ~Airavata_addGateway_pargs() throw(); const ::apache::airavata::model::workspace::Gateway* gateway; uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + friend std::ostream& operator<<(std::ostream& out, const Airavata_addGateway_pargs& obj); }; typedef struct _Airavata_addGateway_result__isset { _Airavata_addGateway_result__isset() : success(false), ire(false), ace(false), ase(false) {} - bool success; - bool ire; - bool ace; - bool ase; + bool success :1; + bool ire :1; + bool ace :1; + bool ase :1; } _Airavata_addGateway_result__isset; class Airavata_addGateway_result { public: + static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398"; + static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98}; + + Airavata_addGateway_result(const Airavata_addGateway_result&); + Airavata_addGateway_result& operator=(const Airavata_addGateway_result&); Airavata_addGateway_result() : success() { } - virtual ~Airavata_addGateway_result() throw() {} - + virtual ~Airavata_addGateway_result() throw(); std::string success; ::apache::airavata::api::error::InvalidRequestException ire; ::apache::airavata::api::error::AiravataClientException ace; @@ -816,21 +2448,13 @@ class Airavata_addGateway_result { _Airavata_addGateway_result__isset __isset; - void __set_success(const std::string& val) { - success = val; - } + void __set_success(const std::string& val); - void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) { - ire = val; - } + void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val); - void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) { - ace = val; - } + void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val); - void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) { - ase = val; - } + void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val); bool operator == (const Airavata_addGateway_result & rhs) const { @@ -853,22 +2477,25 @@ class Airavata_addGateway_result { uint32_t read(::apache::thrift::protocol::TProtocol* iprot); uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + friend std::ostream& operator<<(std::ostream& out, const Airavata_addGateway_result& obj); }; typedef struct _Airavata_addGateway_presult__isset { _Airavata_addGateway_presult__isset() : success(false), ire(false), ace(false), ase(false) {} - bool success; - bool ire; - bool ace; - bool ase; + bool success :1; + bool ire :1; + bool ace :1; + bool ase :1; } _Airavata_addGateway_presult__isset; class Airavata_addGateway_presult { public: + static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398"; + static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98}; - virtual ~Airavata_addGateway_presult() throw() {} + virtual ~Airavata_addGateway_presult() throw(); std::string* success; ::apache::airavata::api::error::InvalidRequestException ire; ::apache::airavata::api::error::AiravataClientException ace; @@ -878,27 +2505,28 @@ class Airavata_addGateway_presult { uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + friend std::ostream& operator<<(std::ostream& out, const Airavata_addGateway_presult& obj); }; class Airavata_updateGateway_args { public: + static const char* ascii_fingerprint; // = "2A9862CB68530D7349BD553AD283D721"; + static const uint8_t binary_fingerprint[16]; // = {0x2A,0x98,0x62,0xCB,0x68,0x53,0x0D,0x73,0x49,0xBD,0x55,0x3A,0xD2,0x83,0xD7,0x21}; + + Airavata_updateGateway_args(const Airavata_updateGateway_args&); + Airavata_updateGateway_args& operator=(const Airavata_updateGateway_args&); Airavata_updateGateway_args() : gatewayId() { } - virtual ~Airavata_updateGateway_args() throw() {} - + virtual ~Airavata_updateGateway_args() throw(); std::string gatewayId; ::apache::airavata::model::workspace::Gateway updatedGateway; - void __set_gatewayId(const std::string& val) { - gatewayId = val; - } + void __set_gatewayId(const std::string& val); - void __set_updatedGateway(const ::apache::airavata::model::workspace::Gateway& val) { - updatedGateway = val; - } + void __set_updatedGateway(const ::apache::airavata::model::workspace::Gateway& val); bool operator == (const Airavata_updateGateway_args & rhs) const { @@ -917,54 +2545,56 @@ class Airavata_updateGateway_args { uint32_t read(::apache::thrift::protocol::TProtocol* iprot); uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + friend std::ostream& operator<<(std::ostream& out, const Airavata_updateGateway_args& obj); }; class Airavata_updateGateway_pargs { public: + static const char* ascii_fingerprint; // = "2A9862CB68530D7349BD553AD283D721"; + static const uint8_t binary_fingerprint[16]; // = {0x2A,0x98,0x62,0xCB,0x68,0x53,0x0D,0x73,0x49,0xBD,0x55,0x3A,0xD2,0x83,0xD7,0x21}; - virtual ~Airavata_updateGateway_pargs() throw() {} + virtual ~Airavata_updateGateway_pargs() throw(); const std::string* gatewayId; const ::apache::airavata::model::workspace::Gateway* updatedGateway; uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + friend std::ostream& operator<<(std::ostream& out, const Airavata_updateGateway_pargs& obj); }; typedef struct _Airavata_updateGateway_result__isset { _Airavata_updateGateway_result__isset() : ire(false), ace(false), ase(false) {} - bool ire; - bool ace; - bool ase; + bool ire :1; + bool ace :1; + bool ase :1; } _Airavata_updateGateway_result__isset; class Airavata_updateGateway_result { public: + static const char* ascii_fingerprint; // = "7A8CA38D7195145C4646F28719CA4673"; + static const uint8_t binary_fingerprint[16]; // = {0x7A,0x8C,0xA3,0x8D,0x71,0x95,0x14,0x5C,0x46,0x46,0xF2,0x87,0x19,0xCA,0x46,0x73}; + + Airavata_updateGateway_result(const Airavata_updateGateway_result&); + Airavata_updateGateway_result& operator=(const Airavata_updateGateway_result&); Airavata_updateGateway_result() { } - virtual ~Airavata_updateGateway_result() throw() {} - + virtual ~Airavata_updateGateway_result() throw(); ::apache::airavata::api::error::InvalidRequestException ire; ::apache::airavata::api::error::AiravataClientException ace; ::apache::airavata::api::error::AiravataSystemException ase; _Airavata_updateGateway_result__isset __isset; - void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) { - ire = val; - } + void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val); - void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) { - ace = val; - } + void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val); - void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) { - ase = val; - } + void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val); bool operator == (const Airavata_updateGateway_result & rhs) const { @@ -985,21 +2615,24 @@ class Airavata_updateGateway_result { uint32_t read(::apache::thrift::protocol::TProtocol* iprot); uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + friend std::ostream& operator<<(std::ostream& out, const Airavata_updateGateway_result& obj); }; typedef struct _Airavata_updateGateway_presult__isset { _Airavata_updateGateway_presult__isset() : ire(false), ace(false), ase(false) {} - bool ire; - bool ace; - bool ase; + bool ire :1; + bool ace :1; + bool ase :1; } _Airavata_updateGateway_presult__isset; class Airavata_updateGateway_presult { public: + static const char* ascii_fingerprint; // = "7A8CA38D7195145C4646F28719CA4673"; + static const uint8_t binary_fingerprint[16]; // = {0x7A,0x8C,0xA3,0x8D,0x71,0x95,0x14,0x5C,0x46,0x46,0xF2,0x87,0x19,0xCA,0x46,0x73}; - virtual ~Airavata_updateGateway_presult() throw() {} + virtual ~Airavata_updateGateway_presult() throw(); ::apache::airavata::api::error::InvalidRequestException ire; ::apache::airavata::api::error::AiravataClientException ace; ::apache::airavata::api::error::AiravataSystemException ase; @@ -1008,22 +2641,25 @@ class Airavata_updateGateway_presult { uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + friend std::ostream& operator<<(std::ostream& out, const Airavata_updateGateway_presult& obj); }; class Airavata_getGateway_args { public: + static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1"; + static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1}; + + Airavata_getGateway_args(const Airavata_getGateway_args&); + Airavata_getGateway_args& operator=(const Airavata_getGateway_args
<TRUNCATED>
