Updated Branches: refs/heads/master ab892f7b2 -> 361c2ff01
changing the names to camel case Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c750c236 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c750c236 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c750c236 Branch: refs/heads/master Commit: c750c236fdc10f853b529874fe2e4e80d3272885 Parents: f5b74ed Author: Suresh Marru <[email protected]> Authored: Tue Jan 28 15:58:59 2014 -0500 Committer: Suresh Marru <[email protected]> Committed: Tue Jan 28 15:58:59 2014 -0500 ---------------------------------------------------------------------- modules/thrift-interfaces/airavataAPI.thrift | 420 ++++++++++++++++++++++ modules/thrift-interfaces/airavataApi.thrift | 420 ---------------------- 2 files changed, 420 insertions(+), 420 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/c750c236/modules/thrift-interfaces/airavataAPI.thrift ---------------------------------------------------------------------- diff --git a/modules/thrift-interfaces/airavataAPI.thrift b/modules/thrift-interfaces/airavataAPI.thrift new file mode 100644 index 0000000..1822f30 --- /dev/null +++ b/modules/thrift-interfaces/airavataAPI.thrift @@ -0,0 +1,420 @@ +/* + * 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. + * + */ + +/* + * Application Programming Interface definition for Apache Airavata Services. + * this parent thrift file is contains all service interfaces. The data models are + * described in respective thrift files. +*/ + +include "airavataDatastructures.thrift" +include "airavataErrors.thrift" + +namespace java org.apache.airavata.api +namespace php Airavata.API +namespace cpp airavata.api +namespace perl AiravataAPI +namespace py airavata.api +namespace js AiravataAPI + +/* + * Airavata Interface Versions depend upon this Thrift Interface File. When Making changes, please edit the + * Version Constants according to Semantic Versioning Specification (SemVer) http://semver.org. + * + * Note: The Airavata API version may be different from the Airavata software release versions. + * + * The Airavata API version is composed as a dot delimited string with major, minor, and patch level components. + * + * - Major: Incremented for backward incompatible changes. An example would be changes to interfaces. + * - Minor: Incremented for backward compatible changes. An example would be the addition of a new optional methods. + * - Patch: Incremented for bug fixes. The patch level should be increased for every edit that doesn't result + * in a change to major/minor version numbers. +*/ +const string VERSION = "0.12.0" + +service Airavata { + +/* + * Apache Airavata API Service Methods. For data structures associated in the signatures, please see included thrift files +*/ + + /** Query Airavata to fetch the API version */ + string GetAPIVersion(), + + /** + * 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 experimentMetada + * 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 experiment globally unique identifier. + * + * @throws InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws 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 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. + * + */ + string createExperiment(1: airavataDatastructures.ExperimentMetadata experimentMetadata) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.AiravataClientException ace, + 3: airavataErrors.AiravataSystemException ase) + + /** + * 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 InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws 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 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. + * + */ + airavataDatastructures.ExperimentMetadata getExperimentMetadata(1: string airavataExperimentId) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.ExperimentNotFoundException enf, + 3: airavataErrors.AiravataClientException ace, + 4: airavataErrors.AiravataSystemException ase) + + /** + * 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. + * + * @param experimentMetada + * Optionally update the experiment metadata. If provided, this information will override the metadata described during the + * create experiment step. + * + * @return + * This method call does not have a return value. + * + * @throws InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws 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 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. + * + */ + void configureExperiment(1: string airavataExperimentId, + 2: airavataDatastructures.ExperimentConfigurationData experimentConfigurationData) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.ExperimentNotFoundException enf, + 3: airavataErrors.AiravataClientException ace, + 4: airavataErrors.AiravataSystemException ase) + + /** + * Fetch the previously configured experiment configuration information. + * + * @param airavataExperimentId + * The identifier for the requested experiment. This is returned during the create experiment step. + * + * @return + * This method returns the previously configured experiment configuration data. + * + * @throws InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws 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 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. + * + */ + airavataDatastructures.ExperimentConfigurationData getExperimentConfiguration(1: string airavataExperimentId) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.ExperimentNotFoundException enf, + 3: airavataErrors.AiravataClientException ace, + 4: airavataErrors.AiravataSystemException ase) + + /** + * 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 InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws 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 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. + * + */ + void launchConfiguredExperiment(1: string airavataExperimentId + 2: string airavataCredStoreToken) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.ExperimentNotFoundException enf, + 3: airavataErrors.AiravataClientException ace, + 4: airavataErrors.AiravataSystemException ase) + + /** + * Configure and Launch a previously created experiment with required inputs, scheduling, security and other quality of service + * parameters. This method also launches the experiment after it is configured. If you would like to configure only + * and launch at a later time or partially configure then ConfigureExperiment should be used. + * + * @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. + * + * @param experimentMetada + * Optionally update the experiment metadata. If provided, this information will overide the metadata described 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. + * + * @return + * The server-side generated experiment GUID. + * + * @throws InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws 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 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. + * + */ + string configureAndLaunchExperiment (1: string airavataExperimentId + 2: airavataDatastructures.ExperimentConfigurationData experimentConfigurationData, + 3: string airavataCredStoreToken) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.ExperimentNotFoundException enf, + 3: airavataErrors.AiravataClientException ace, + 4: airavataErrors.AiravataSystemException ase) + + /** + * 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 airavataExperimentIdToBeCloned + * This is the experiment identifier that is to be cloned. + * + * @param experimentMetada + * 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 experiment globally unique identifier for the newly cloned experiment. + * + * @throws InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws 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 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. + * + */ + string cloneExperimentConfiguration(1: string airavataExperimentIdToBeCloned, + 2: airavataDatastructures.ExperimentMetadata experimentMetadata) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.ExperimentNotFoundException enf, + 3: airavataErrors.AiravataClientException ace, + 4: airavataErrors.AiravataSystemException ase) + + /** + * 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 InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws 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 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. + * + */ + void terminateExperiment(1: string airavataExperimentId) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.ExperimentNotFoundException enf, + 3: airavataErrors.AiravataClientException ace, + 4: airavataErrors.AiravataSystemException ase) + +} http://git-wip-us.apache.org/repos/asf/airavata/blob/c750c236/modules/thrift-interfaces/airavataApi.thrift ---------------------------------------------------------------------- diff --git a/modules/thrift-interfaces/airavataApi.thrift b/modules/thrift-interfaces/airavataApi.thrift deleted file mode 100644 index 1822f30..0000000 --- a/modules/thrift-interfaces/airavataApi.thrift +++ /dev/null @@ -1,420 +0,0 @@ -/* - * 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. - * - */ - -/* - * Application Programming Interface definition for Apache Airavata Services. - * this parent thrift file is contains all service interfaces. The data models are - * described in respective thrift files. -*/ - -include "airavataDatastructures.thrift" -include "airavataErrors.thrift" - -namespace java org.apache.airavata.api -namespace php Airavata.API -namespace cpp airavata.api -namespace perl AiravataAPI -namespace py airavata.api -namespace js AiravataAPI - -/* - * Airavata Interface Versions depend upon this Thrift Interface File. When Making changes, please edit the - * Version Constants according to Semantic Versioning Specification (SemVer) http://semver.org. - * - * Note: The Airavata API version may be different from the Airavata software release versions. - * - * The Airavata API version is composed as a dot delimited string with major, minor, and patch level components. - * - * - Major: Incremented for backward incompatible changes. An example would be changes to interfaces. - * - Minor: Incremented for backward compatible changes. An example would be the addition of a new optional methods. - * - Patch: Incremented for bug fixes. The patch level should be increased for every edit that doesn't result - * in a change to major/minor version numbers. -*/ -const string VERSION = "0.12.0" - -service Airavata { - -/* - * Apache Airavata API Service Methods. For data structures associated in the signatures, please see included thrift files -*/ - - /** Query Airavata to fetch the API version */ - string GetAPIVersion(), - - /** - * 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 experimentMetada - * 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 experiment globally unique identifier. - * - * @throws InvalidRequestException - * For any incorrect forming of the request itself. - * - * @throws 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 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. - * - */ - string createExperiment(1: airavataDatastructures.ExperimentMetadata experimentMetadata) - throws (1: airavataErrors.InvalidRequestException ire, - 2: airavataErrors.AiravataClientException ace, - 3: airavataErrors.AiravataSystemException ase) - - /** - * 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 InvalidRequestException - * For any incorrect forming of the request itself. - * - * @throws ExperimentNotFoundException - * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. - * - * @throws 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 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. - * - */ - airavataDatastructures.ExperimentMetadata getExperimentMetadata(1: string airavataExperimentId) - throws (1: airavataErrors.InvalidRequestException ire, - 2: airavataErrors.ExperimentNotFoundException enf, - 3: airavataErrors.AiravataClientException ace, - 4: airavataErrors.AiravataSystemException ase) - - /** - * 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. - * - * @param experimentMetada - * Optionally update the experiment metadata. If provided, this information will override the metadata described during the - * create experiment step. - * - * @return - * This method call does not have a return value. - * - * @throws InvalidRequestException - * For any incorrect forming of the request itself. - * - * @throws ExperimentNotFoundException - * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. - * - * @throws 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 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. - * - */ - void configureExperiment(1: string airavataExperimentId, - 2: airavataDatastructures.ExperimentConfigurationData experimentConfigurationData) - throws (1: airavataErrors.InvalidRequestException ire, - 2: airavataErrors.ExperimentNotFoundException enf, - 3: airavataErrors.AiravataClientException ace, - 4: airavataErrors.AiravataSystemException ase) - - /** - * Fetch the previously configured experiment configuration information. - * - * @param airavataExperimentId - * The identifier for the requested experiment. This is returned during the create experiment step. - * - * @return - * This method returns the previously configured experiment configuration data. - * - * @throws InvalidRequestException - * For any incorrect forming of the request itself. - * - * @throws ExperimentNotFoundException - * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. - * - * @throws 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 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. - * - */ - airavataDatastructures.ExperimentConfigurationData getExperimentConfiguration(1: string airavataExperimentId) - throws (1: airavataErrors.InvalidRequestException ire, - 2: airavataErrors.ExperimentNotFoundException enf, - 3: airavataErrors.AiravataClientException ace, - 4: airavataErrors.AiravataSystemException ase) - - /** - * 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 InvalidRequestException - * For any incorrect forming of the request itself. - * - * @throws ExperimentNotFoundException - * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. - * - * @throws 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 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. - * - */ - void launchConfiguredExperiment(1: string airavataExperimentId - 2: string airavataCredStoreToken) - throws (1: airavataErrors.InvalidRequestException ire, - 2: airavataErrors.ExperimentNotFoundException enf, - 3: airavataErrors.AiravataClientException ace, - 4: airavataErrors.AiravataSystemException ase) - - /** - * Configure and Launch a previously created experiment with required inputs, scheduling, security and other quality of service - * parameters. This method also launches the experiment after it is configured. If you would like to configure only - * and launch at a later time or partially configure then ConfigureExperiment should be used. - * - * @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. - * - * @param experimentMetada - * Optionally update the experiment metadata. If provided, this information will overide the metadata described 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. - * - * @return - * The server-side generated experiment GUID. - * - * @throws InvalidRequestException - * For any incorrect forming of the request itself. - * - * @throws 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 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. - * - */ - string configureAndLaunchExperiment (1: string airavataExperimentId - 2: airavataDatastructures.ExperimentConfigurationData experimentConfigurationData, - 3: string airavataCredStoreToken) - throws (1: airavataErrors.InvalidRequestException ire, - 2: airavataErrors.ExperimentNotFoundException enf, - 3: airavataErrors.AiravataClientException ace, - 4: airavataErrors.AiravataSystemException ase) - - /** - * 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 airavataExperimentIdToBeCloned - * This is the experiment identifier that is to be cloned. - * - * @param experimentMetada - * 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 experiment globally unique identifier for the newly cloned experiment. - * - * @throws InvalidRequestException - * For any incorrect forming of the request itself. - * - * @throws ExperimentNotFoundException - * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. - * - * @throws 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 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. - * - */ - string cloneExperimentConfiguration(1: string airavataExperimentIdToBeCloned, - 2: airavataDatastructures.ExperimentMetadata experimentMetadata) - throws (1: airavataErrors.InvalidRequestException ire, - 2: airavataErrors.ExperimentNotFoundException enf, - 3: airavataErrors.AiravataClientException ace, - 4: airavataErrors.AiravataSystemException ase) - - /** - * 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 InvalidRequestException - * For any incorrect forming of the request itself. - * - * @throws ExperimentNotFoundException - * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. - * - * @throws 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 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. - * - */ - void terminateExperiment(1: string airavataExperimentId) - throws (1: airavataErrors.InvalidRequestException ire, - 2: airavataErrors.ExperimentNotFoundException enf, - 3: airavataErrors.AiravataClientException ace, - 4: airavataErrors.AiravataSystemException ase) - -}
