updating the thrift 0.9.3 generated code
Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/e5e190ef Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/e5e190ef Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/e5e190ef Branch: refs/heads/master Commit: e5e190efdf66f5cc11665f2f4665fedc48abb507 Parents: b545744 Author: scnakandala <[email protected]> Authored: Wed Dec 16 23:01:28 2015 -0500 Committer: scnakandala <[email protected]> Committed: Wed Dec 16 23:01:28 2015 -0500 ---------------------------------------------------------------------- app/libraries/Airavata/API/Airavata.php | 1104 ++++++++++++++---- app/libraries/Airavata/API/Error/Types.php | 2 +- app/libraries/Airavata/API/Types.php | 4 +- .../Model/AppCatalog/AppDeployment/Types.php | 2 +- .../Model/AppCatalog/AppInterface/Types.php | 2 +- .../Model/AppCatalog/ComputeResource/Types.php | 11 +- .../Model/AppCatalog/GatewayProfile/Types.php | 2 +- .../Model/AppCatalog/StorageResource/Types.php | 2 +- .../Airavata/Model/Application/Io/Types.php | 2 +- app/libraries/Airavata/Model/Commons/Types.php | 2 +- .../Airavata/Model/Data/Movement/Types.php | 2 +- .../Airavata/Model/Data/Resource/Types.php | 312 +++-- .../Airavata/Model/Experiment/Types.php | 2 +- app/libraries/Airavata/Model/Job/Types.php | 2 +- .../Airavata/Model/Messaging/Event/Types.php | 2 +- app/libraries/Airavata/Model/Process/Types.php | 2 +- .../Airavata/Model/Scheduling/Types.php | 2 +- app/libraries/Airavata/Model/Security/Types.php | 2 +- app/libraries/Airavata/Model/Status/Types.php | 2 +- app/libraries/Airavata/Model/Task/Types.php | 2 +- app/libraries/Airavata/Model/Types.php | 2 +- .../Airavata/Model/Workspace/Types.php | 2 +- .../Thrift/Exception/TProtocolException.php | 2 - .../Protocol/TBinaryProtocolAccelerated.php | 17 +- .../Thrift/Protocol/TCompactProtocol.php | 12 +- app/libraries/Thrift/Protocol/TJSONProtocol.php | 4 +- .../Thrift/Serializer/TBinarySerializer.php | 8 +- app/libraries/Thrift/Thrift.php | 789 +++++++++++++ .../Thrift/Transport/TBufferedTransport.php | 7 +- app/libraries/Thrift/Transport/TSocket.php | 6 +- app/libraries/Thrift/autoload.php | 51 + 31 files changed, 2011 insertions(+), 352 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/API/Airavata.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/API/Airavata.php b/app/libraries/Airavata/API/Airavata.php index 7171104..4cc073b 100644 --- a/app/libraries/Airavata/API/Airavata.php +++ b/app/libraries/Airavata/API/Airavata.php @@ -1,7 +1,7 @@ <?php namespace Airavata\API; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -20,6 +20,7 @@ interface AiravataIf { /** * Fetch Apache Airavata API version * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @return string * @throws \Airavata\API\Error\InvalidRequestException @@ -29,6 +30,16 @@ interface AiravataIf { */ public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken); /** + * Register a Gateway with Airavata. + * + * @param gateway + * The gateway data model. + * + * @return gatewayId + * Th unique identifier of the newly registered gateway. + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param \Airavata\Model\Workspace\Gateway $gateway * @return string @@ -39,6 +50,18 @@ interface AiravataIf { */ public function addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway); /** + * Update previously registered Gateway metadata. + * + * @param gatewayId + * The gateway Id of the Gateway which require an update. + * + * @return gateway + * Modified gateway obejct. + * + * @exception AiravataClientException + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param \Airavata\Model\Workspace\Gateway $updatedGateway @@ -49,6 +72,16 @@ interface AiravataIf { */ public function updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway); /** + * Get Gateway details by providing gatewayId + * + * @param gatewayId + * The gateway Id of the Gateway. + * + * @return gateway + * Gateway obejct. + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @return \Airavata\Model\Workspace\Gateway @@ -59,6 +92,16 @@ interface AiravataIf { */ public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId); /** + * Delete a Gateway + * + * @param gatewayId + * The gateway Id of the Gateway to be deleted. + * + * @return boolean + * Boolean identifier for the success or failure of the deletion operation. + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @return bool @@ -69,6 +112,9 @@ interface AiravataIf { */ public function deleteGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId); /** + * Get All the Gateways Connected to Airavata. + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @return \Airavata\Model\Workspace\Gateway[] * @throws \Airavata\API\Error\InvalidRequestException @@ -78,6 +124,19 @@ interface AiravataIf { */ public function getAllGateways(\Airavata\Model\Security\AuthzToken $authzToken); /** + * Check for the Existance of a Gateway within Airavata + * + * @param gatewayId + * Provide the gatewayId of the gateway you want to check the existancy + * + * @return boolean + * Boolean idetifier for the existance or non-existane of the gatewayId + * + * @return gatewayId + * return the gatewayId of the existing gateway. + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @return bool @@ -91,7 +150,7 @@ interface AiravataIf { * Generate and Register SSH Key Pair with Airavata Credential Store. * * @param gatewayId - * The identifier for the requested gateway. + * 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 @@ -99,7 +158,7 @@ interface AiravataIf { * * @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. + * belonging to a Gateway. * * * @@ -113,6 +172,18 @@ interface AiravataIf { */ public function generateAndRegisterSSHKeys(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName); /** + * Get a Public Key by Providing the Token + * + * @param CredStoreToken + * Credential Store Token which you want to find the Public Key for. + * + * @param gatewayId + * This is the unique identifier of your gateway where the token and public key was generated from. + * + * @return publicKey + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $airavataCredStoreToken * @param string $gatewayId @@ -123,6 +194,18 @@ interface AiravataIf { */ public function getSSHPubKey(\Airavata\Model\Security\AuthzToken $authzToken, $airavataCredStoreToken, $gatewayId); /** + * Get a Public Key by Providing the Token + * + * @param CredStoreToken + * Credential Store Token which you want to find the Public Key for. + * + * @param gatewayId + * This is the unique identifier of your gateway where the token and public key was generated from. + * + * @return SSHpubKey + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $userName * @return array @@ -132,6 +215,18 @@ interface AiravataIf { */ public function getAllUserSSHPubKeys(\Airavata\Model\Security\AuthzToken $authzToken, $userName); /** + * Get all Public Keys of the Gateway + * + * @param CredStoreToken + * Credential Store Token which you want to find the Public Key for. + * + * @param gatewayId + * This is the unique identifier of your gateway where the token and public key was generated from. + * + * @return publicKey + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @return array @@ -141,6 +236,16 @@ interface AiravataIf { */ public function getAllGatewaySSHPubKeys(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId); /** + * Delete a Gateway + * + * @param gatewayId + * The gateway Id of the Gateway to be deleted. + * + * @return boolean + * Boolean identifier for the success or failure of the deletion operation. + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $airavataCredStoreToken * @param string $gatewayId @@ -161,6 +266,7 @@ interface AiravataIf { * The Project Object described in the workspace_model * * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param \Airavata\Model\Workspace\Project $project @@ -172,7 +278,14 @@ interface AiravataIf { */ public function createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project); /** - * Update a Project + * Update an Existing Project + * + * @param projectId + * The projectId of the project needed an update. + * + * @return void + * Currently this does not return any value. + * * * * @param \Airavata\Model\Security\AuthzToken $authzToken @@ -187,6 +300,14 @@ interface AiravataIf { public function updateProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, \Airavata\Model\Workspace\Project $updatedProject); /** * Get a Project by ID + * This method is to obtain a project by providing a projectId + * + * @param projectId + * projectId of the project you require + * + * @return project + * project data model will be returned + * * * * @param \Airavata\Model\Security\AuthzToken $authzToken @@ -200,6 +321,17 @@ interface AiravataIf { */ public function getProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId); /** + * Delete a Project + * This method is used to delete an existing Project + * + * @param projectId + * projectId of the project you want to delete + * + * @return boolean + * Boolean identifier for the success or failure of the deletion operation. + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $projectId * @return bool @@ -211,18 +343,22 @@ interface AiravataIf { */ public function deleteProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId); /** - * * 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 - * * + * 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 \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId @@ -251,6 +387,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param string $userName @@ -279,6 +416,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param string $userName @@ -307,6 +445,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param string $userName @@ -335,6 +474,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param string $userName @@ -363,6 +503,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param string $userName @@ -391,6 +532,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param string $userName @@ -421,6 +563,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param string $userName @@ -450,6 +593,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param string $userName @@ -495,6 +639,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $projectId * @param int $limit @@ -520,6 +665,7 @@ interface AiravataIf { * @param offset * The starting point of the results to be fetched * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId * @param string $userName @@ -533,39 +679,40 @@ interface AiravataIf { */ public function getUserExperiments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset); /** - * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed - * but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client - * has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except - * registering the experiment in a persistent store. - * - * @param 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. - * + * * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed + * * but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client + * * has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except + * * registering the experiment in a persistent store. + * * + * * @param 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 \Airavata\Model\Security\AuthzToken $authzToken * @param string $gatewayId @@ -578,12 +725,18 @@ interface AiravataIf { */ public function createExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Experiment\ExperimentModel $experiment); /** + * Delete an Experiment + * * If the experiment is not already launched experiment can be deleted. * * @param authzToken + * * @param experiementId + * Experiment ID of the experimnet you want to delete. + * + * @return boolean + * Identifier for the success or failure of the deletion operation * - * @return boolean identifier for the success or failure of the deletion operation * * * @param \Airavata\Model\Security\AuthzToken $authzToken @@ -596,7 +749,66 @@ interface AiravataIf { */ public function deleteExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $experimentId); /** - * Fetch previously created experiment metadata. + * * 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 \Airavata\Model\Security\AuthzToken $authzToken + * @param string $airavataExperimentId + * @return \Airavata\Model\Experiment\ExperimentModel A structure holding the experiment metadata and its child models. + * + * userName: + * The user name of the targeted gateway end user on whose behalf the experiment is being created. + * the associated gateway identity can only be inferred from the security hand-shake so as to avoid + * authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with + * Airavata, an authorization exception is thrown. + * + * experimentName: + * The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced + * by the generated experiment id. + * + * experimentDescription: + * The verbose description of the experiment. This is an optional parameter. + * + * @throws \Airavata\API\Error\InvalidRequestException + * @throws \Airavata\API\Error\ExperimentNotFoundException + * @throws \Airavata\API\Error\AiravataClientException + * @throws \Airavata\API\Error\AiravataSystemException + * @throws \Airavata\API\Error\AuthorizationException + */ + public function getExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); + /** + * Fetch the completed nested tree structue of previously created experiment metadata which includes processes -> + * tasks -> jobs information. * * @param airavataExperimentId * The identifier for the requested experiment. This is returned during the create experiment step. @@ -612,7 +824,7 @@ interface AiravataIf { * * @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. @@ -651,16 +863,21 @@ interface AiravataIf { * @throws \Airavata\API\Error\AiravataSystemException * @throws \Airavata\API\Error\AuthorizationException */ - public function getExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); + public function getDetailedExperimentTree(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); /** - * Fetch the completed nested tree structue of previously created experiment metadata which includes processes -> - * tasks -> jobs information. + * 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. * - * @return experimentMetada - * This method will return the previously stored experiment metadata. + * @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. @@ -670,7 +887,7 @@ interface AiravataIf { * * @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. @@ -688,40 +905,57 @@ interface AiravataIf { * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $airavataExperimentId - * @return \Airavata\Model\Experiment\ExperimentModel A structure holding the experiment metadata and its child models. - * - * userName: - * The user name of the targeted gateway end user on whose behalf the experiment is being created. - * the associated gateway identity can only be inferred from the security hand-shake so as to avoid - * authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with - * Airavata, an authorization exception is thrown. - * - * experimentName: - * The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced - * by the generated experiment id. - * - * experimentDescription: - * The verbose description of the experiment. This is an optional parameter. + * @param \Airavata\Model\Experiment\ExperimentModel $experiment + * @throws \Airavata\API\Error\InvalidRequestException + * @throws \Airavata\API\Error\ExperimentNotFoundException + * @throws \Airavata\API\Error\AiravataClientException + * @throws \Airavata\API\Error\AiravataSystemException + * @throws \Airavata\API\Error\AuthorizationException + */ + public function updateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Experiment\ExperimentModel $experiment); + /** + * @param \Airavata\Model\Security\AuthzToken $authzToken + * @param string $airavataExperimentId + * @param \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration + * @throws \Airavata\API\Error\AuthorizationException + */ + public function updateExperimentConfiguration(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration); + /** + * @param \Airavata\Model\Security\AuthzToken $authzToken + * @param string $airavataExperimentId + * @param \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling + * @throws \Airavata\API\Error\AuthorizationException + */ + public function updateResourceScheduleing(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling); + /** + * * + * * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched. + * * + * * @param experimentId + * * + * * + * * @return boolean + * * Identifier for the success or failure of the validation operation + * * + * * * + * @param \Airavata\Model\Security\AuthzToken $authzToken + * @param string $airavataExperimentId + * @return bool * @throws \Airavata\API\Error\InvalidRequestException * @throws \Airavata\API\Error\ExperimentNotFoundException * @throws \Airavata\API\Error\AiravataClientException * @throws \Airavata\API\Error\AiravataSystemException * @throws \Airavata\API\Error\AuthorizationException */ - public function getDetailedExperimentTree(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); + public function validateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); /** - * 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. + * 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 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. * @@ -751,94 +985,31 @@ interface AiravataIf { * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $airavataExperimentId - * @param \Airavata\Model\Experiment\ExperimentModel $experiment - * @throws \Airavata\API\Error\InvalidRequestException - * @throws \Airavata\API\Error\ExperimentNotFoundException - * @throws \Airavata\API\Error\AiravataClientException - * @throws \Airavata\API\Error\AiravataSystemException - * @throws \Airavata\API\Error\AuthorizationException - */ - public function updateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Experiment\ExperimentModel $experiment); - /** - * @param \Airavata\Model\Security\AuthzToken $authzToken - * @param string $airavataExperimentId - * @param \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration - * @throws \Airavata\API\Error\AuthorizationException - */ - public function updateExperimentConfiguration(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration); - /** - * @param \Airavata\Model\Security\AuthzToken $authzToken - * @param string $airavataExperimentId - * @param \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling - * @throws \Airavata\API\Error\AuthorizationException - */ - public function updateResourceScheduleing(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling); - /** - * * - * * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched. - * * - * * @param experimentID - * * @return sucess/failure - * * - * * - * - * @param \Airavata\Model\Security\AuthzToken $authzToken - * @param string $airavataExperimentId - * @return bool + * @param string $gatewayId * @throws \Airavata\API\Error\InvalidRequestException * @throws \Airavata\API\Error\ExperimentNotFoundException * @throws \Airavata\API\Error\AiravataClientException * @throws \Airavata\API\Error\AiravataSystemException * @throws \Airavata\API\Error\AuthorizationException */ - public function validateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); + public function launchExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $gatewayId); /** - * 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. - * - * @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. + * Get Experiment Status * - * @throws org.apache.airavata.model.error.ExperimentNotFoundException - * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * Obtain the status os an experiment by providing the Experiment Id * - * @throws org.apache.airavata.model.error.AiravataClientException - * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: - * - * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative - * step, then Airavata Registry will not have a provenance area setup. The client has to follow - * gateway registration steps and retry this request. + * @param authzToken * - * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. - * For now this is a place holder. + * @param experiementId + * Experiment ID of the experimnet you require the status * - * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake - * is implemented, the authorization will be more substantial. + * @return ExperimentStatus + * ExperimentStatus model with current status will be returned. * - * @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 \Airavata\Model\Security\AuthzToken $authzToken * @param string $airavataExperimentId - * @param string $gatewayId - * @throws \Airavata\API\Error\InvalidRequestException - * @throws \Airavata\API\Error\ExperimentNotFoundException - * @throws \Airavata\API\Error\AiravataClientException - * @throws \Airavata\API\Error\AiravataSystemException - * @throws \Airavata\API\Error\AuthorizationException - */ - public function launchExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $gatewayId); - /** - * @param \Airavata\Model\Security\AuthzToken $authzToken - * @param string $airavataExperimentId * @return \Airavata\Model\Status\ExperimentStatus Status: A generic status object. * * state: @@ -859,6 +1030,19 @@ interface AiravataIf { */ public function getExperimentStatus(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); /** + * Get Experiment Outputs + * This method to be used when need to obtain outputs of a certain Experiment + * + * @param authzToken + * + * @param experiementId + * Experiment ID of the experimnet you need the outputs + * + * @return list + * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $airavataExperimentId * @return \Airavata\Model\Application\Io\OutputDataObjectType[] @@ -870,6 +1054,19 @@ interface AiravataIf { */ public function getExperimentOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); /** + * Get Intermediate Experiment Outputs + * This method to be used when need to obtain intermediate outputs of a certain Experiment + * + * @param authzToken + * + * @param experiementId + * Experiment ID of the experimnet you need the intermediate outputs + * + * @return list + * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $airavataExperimentId * @return \Airavata\Model\Application\Io\OutputDataObjectType[] @@ -881,6 +1078,19 @@ interface AiravataIf { */ public function getIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); /** + * Get Job Status for an Experiment + * This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup + * + * @param authzToken + * + * @param experiementId + * Experiment ID of the experimnet you need the intermediate outputs + * + * @return JobStatus + * Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $airavataExperimentId * @return array @@ -892,6 +1102,19 @@ interface AiravataIf { */ public function getJobStatuses(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId); /** + * Get Job Details for all the jobs within an Experiment + * This method to be used when need to get the job details for one or many jobs of an Experiment. + * + * @param authzToken + * + * @param experiementId + * Experiment ID of the experimnet you need job details + * + * @return list of JobDetails + * Job details + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $airavataExperimentId * @return \Airavata\Model\Job\JobModel[] @@ -1925,7 +2148,7 @@ interface AiravataIf { * The SSHJobSubmission object to be updated. * * @return status - * Returns a success/failure of the deletion. + * Returns a success/failure of the update. * * * @param \Airavata\Model\Security\AuthzToken $authzToken @@ -1948,7 +2171,7 @@ interface AiravataIf { * The CloudJobSubmission object to be updated. * * @return status - * Returns a success/failure of the deletion. + * Returns a success/failure of the update. * * * @param \Airavata\Model\Security\AuthzToken $authzToken @@ -1962,6 +2185,19 @@ interface AiravataIf { */ public function updateCloudJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission); /** + * Update the UNIOCRE Job Submission details + * + * @param jobSubmissionInterfaceId + * The identifier of the JobSubmission Interface to be updated. + * + * @param UnicoreJobSubmission + * The UnicoreJobSubmission object to be updated. + * + * @return status + * Returns a success/failure of the update. + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $jobSubmissionInterfaceId * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission @@ -1976,9 +2212,12 @@ interface AiravataIf { * 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 + * @param resourceId * The identifier of the compute resource to which JobSubmission protocol to be added * + * @param DMType + * DMType object to be added to the resource. + * * @param priorityOrder * Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero. * @@ -1989,6 +2228,7 @@ interface AiravataIf { * Returns the unique job submission id. * * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $resourceId * @param int $dataMoveType @@ -2014,6 +2254,7 @@ interface AiravataIf { * Returns a success/failure of the update. * * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $dataMovementInterfaceId * @param \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement @@ -2025,11 +2266,14 @@ interface AiravataIf { */ public function updateLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement); /** - * * This method returns local datamovement object - * * @param dataMovementId - * * The identifier of the datamovement Interface to be retrieved. - * * @return LOCALDataMovement instance - * * + * This method returns local datamovement object + * + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * + * @return LOCALDataMovement instance + * + * * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $dataMovementId @@ -2051,7 +2295,7 @@ interface AiravataIf { * 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 + * @param resourceId * The identifier of the compute resource to which JobSubmission protocol to be added * * @param priorityOrder @@ -2101,11 +2345,14 @@ interface AiravataIf { */ public function updateSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement); /** - * * This method returns SCP datamovement object - * * @param dataMovementId - * * The identifier of the datamovement Interface to be retrieved. - * * @return SCPDataMovement instance - * * + * This method returns SCP datamovement object + * + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * + * @return SCPDataMovement instance + * + * * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $dataMovementId @@ -2124,6 +2371,22 @@ interface AiravataIf { */ public function getSCPDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId); /** + * Add a UNICORE data movement details to a compute resource + * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + * + * @param resourceId + * The identifier of the compute resource to which data movement protocol to be added + * + * @param priorityOrder + * Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero. + * + * @param UnicoreDataMovement + * The UnicoreDataMovement object to be added to the resource. + * + * @return status + * Returns the unique data movement id. + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $resourceId * @param int $dataMoveType @@ -2137,6 +2400,20 @@ interface AiravataIf { */ public function addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement); /** + * Update a selected UNICORE data movement details + * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces. + * + * @param dataMovementInterfaceId + * The identifier of the data movement Interface to be updated. + * + * @param UnicoreDataMovement + * The UnicoreDataMovement object to be updated. + * + * @return status + * Returns a success/failure of the update. + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $dataMovementInterfaceId * @param \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement @@ -2148,6 +2425,15 @@ interface AiravataIf { */ public function updateUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement); /** + * This method returns UNICORE datamovement object + * + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * + * @return UnicoreDataMovement instance + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $dataMovementId * @return \Airavata\Model\Data\Movement\UnicoreDataMovement Data Movement through UnicoreStorage @@ -2165,8 +2451,11 @@ interface AiravataIf { * 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 resourceId + * The identifier of the compute resource to which dataMovement protocol to be added + * + * @param DMType + * The DMType object to be added to the resource. * * @param priorityOrder * Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero. @@ -2175,7 +2464,8 @@ interface AiravataIf { * The GridFTPDataMovement object to be added to the resource. * * @return status - * Returns the unique job submission id. + * Returns the unique data movement id. + * * * * @param \Airavata\Model\Security\AuthzToken $authzToken @@ -2200,8 +2490,9 @@ interface AiravataIf { * @param gridFTPDataMovement * The GridFTPDataMovement object to be updated. * - * @return status - * Returns a success/failure of the updation. + * @return boolean + * Returns a success/failure of the update. + * * * * @param \Airavata\Model\Security\AuthzToken $authzToken @@ -2215,11 +2506,14 @@ interface AiravataIf { */ public function updateGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement); /** - * * This method returns GridFTP datamovement object - * * @param dataMovementId - * * The identifier of the datamovement Interface to be retrieved. - * * @return GridFTPDataMovement instance - * * + * This method returns GridFTP datamovement object + * + * @param dataMovementId + * The identifier of the datamovement Interface to be retrieved. + * + * @return GridFTPDataMovement instance + * + * * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $dataMovementId @@ -2250,6 +2544,7 @@ interface AiravataIf { * Returns a success/failure of the change. * * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $jobSubmissionInterfaceId * @param int $newPriorityOrder @@ -2273,6 +2568,7 @@ interface AiravataIf { * Returns a success/failure of the change. * * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $dataMovementInterfaceId * @param int $newPriorityOrder @@ -2312,6 +2608,7 @@ interface AiravataIf { * Returns a success/failure of the changes. * * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param array $dataMovementPriorityMap * @return bool @@ -2331,6 +2628,7 @@ interface AiravataIf { * Returns a success/failure of the deletion. * * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $computeResourceId * @param string $jobSubmissionInterfaceId @@ -2351,6 +2649,7 @@ interface AiravataIf { * Returns a success/failure of the deletion. * * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $computeResourceId * @param string $dataMovementInterfaceId @@ -2418,6 +2717,19 @@ interface AiravataIf { */ public function deleteResourceJobManager(\Airavata\Model\Security\AuthzToken $authzToken, $resourceJobManagerId); /** + * Delete a Compute Resource Queue + * + * @param computeResourceId + * The identifier of the compute resource which has the queue to be deleted + * + * @param queueName + * Name of the queue need to be deleted. Name is the uniqueue identifier for the queue within a compute resource + * + * @return status + * Returns a success/failure of the deletion. + * + * + * * @param \Airavata\Model\Security\AuthzToken $authzToken * @param string $computeResourceId * @param string $queueName @@ -2812,7 +3124,7 @@ interface AiravataIf { */ public function isWorkflowExistWithName(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName); /** - * * Replica Catalog Related API Methods + * * Data Manager Related API Methods * * * * @param \Airavata\Model\Security\AuthzToken $authzToken @@ -2823,7 +3135,7 @@ interface AiravataIf { * @throws \Airavata\API\Error\AiravataSystemException * @throws \Airavata\API\Error\AuthorizationException */ - public function publishDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel); + public function registerDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel); /** * @param \Airavata\Model\Security\AuthzToken $authzToken * @param \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel @@ -2852,6 +3164,18 @@ interface AiravataIf { * @throws \Airavata\API\Error\AuthorizationException */ public function getDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId); + /** + * @param \Airavata\Model\Security\AuthzToken $authzToken + * @param string $resourceId + * @param string $destStorageResourceId + * @param string $destinationParentPath + * @return string + * @throws \Airavata\API\Error\InvalidRequestException + * @throws \Airavata\API\Error\AiravataClientException + * @throws \Airavata\API\Error\AiravataSystemException + * @throws \Airavata\API\Error\AuthorizationException + */ + public function copyDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $destStorageResourceId, $destinationParentPath); } class AiravataClient implements \Airavata\API\AiravataIf { @@ -11411,35 +11735,35 @@ class AiravataClient implements \Airavata\API\AiravataIf { throw new \Exception("isWorkflowExistWithName failed: unknown result"); } - public function publishDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel) + public function registerDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel) { - $this->send_publishDataResource($authzToken, $dataResourceModel); - return $this->recv_publishDataResource(); + $this->send_registerDataResource($authzToken, $dataResourceModel); + return $this->recv_registerDataResource(); } - public function send_publishDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel) + public function send_registerDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel) { - $args = new \Airavata\API\Airavata_publishDataResource_args(); + $args = new \Airavata\API\Airavata_registerDataResource_args(); $args->authzToken = $authzToken; $args->dataResourceModel = $dataResourceModel; $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary'); if ($bin_accel) { - thrift_protocol_write_binary($this->output_, 'publishDataResource', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite()); + thrift_protocol_write_binary($this->output_, 'registerDataResource', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite()); } else { - $this->output_->writeMessageBegin('publishDataResource', TMessageType::CALL, $this->seqid_); + $this->output_->writeMessageBegin('registerDataResource', TMessageType::CALL, $this->seqid_); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->flush(); } } - public function recv_publishDataResource() + public function recv_registerDataResource() { $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary'); - if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_publishDataResource_result', $this->input_->isStrictRead()); + if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_registerDataResource_result', $this->input_->isStrictRead()); else { $rseqid = 0; @@ -11453,7 +11777,7 @@ class AiravataClient implements \Airavata\API\AiravataIf { $this->input_->readMessageEnd(); throw $x; } - $result = new \Airavata\API\Airavata_publishDataResource_result(); + $result = new \Airavata\API\Airavata_registerDataResource_result(); $result->read($this->input_); $this->input_->readMessageEnd(); } @@ -11472,7 +11796,7 @@ class AiravataClient implements \Airavata\API\AiravataIf { if ($result->ae !== null) { throw $result->ae; } - throw new \Exception("publishDataResource failed: unknown result"); + throw new \Exception("registerDataResource failed: unknown result"); } public function updateDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel) @@ -11661,6 +11985,72 @@ class AiravataClient implements \Airavata\API\AiravataIf { throw new \Exception("getDataResource failed: unknown result"); } + public function copyDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $destStorageResourceId, $destinationParentPath) + { + $this->send_copyDataResource($authzToken, $resourceId, $destStorageResourceId, $destinationParentPath); + return $this->recv_copyDataResource(); + } + + public function send_copyDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $destStorageResourceId, $destinationParentPath) + { + $args = new \Airavata\API\Airavata_copyDataResource_args(); + $args->authzToken = $authzToken; + $args->resourceId = $resourceId; + $args->destStorageResourceId = $destStorageResourceId; + $args->destinationParentPath = $destinationParentPath; + $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary'); + if ($bin_accel) + { + thrift_protocol_write_binary($this->output_, 'copyDataResource', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite()); + } + else + { + $this->output_->writeMessageBegin('copyDataResource', TMessageType::CALL, $this->seqid_); + $args->write($this->output_); + $this->output_->writeMessageEnd(); + $this->output_->getTransport()->flush(); + } + } + + public function recv_copyDataResource() + { + $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary'); + if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_copyDataResource_result', $this->input_->isStrictRead()); + else + { + $rseqid = 0; + $fname = null; + $mtype = 0; + + $this->input_->readMessageBegin($fname, $mtype, $rseqid); + if ($mtype == TMessageType::EXCEPTION) { + $x = new TApplicationException(); + $x->read($this->input_); + $this->input_->readMessageEnd(); + throw $x; + } + $result = new \Airavata\API\Airavata_copyDataResource_result(); + $result->read($this->input_); + $this->input_->readMessageEnd(); + } + if ($result->success !== null) { + return $result->success; + } + if ($result->ire !== null) { + throw $result->ire; + } + if ($result->ace !== null) { + throw $result->ace; + } + if ($result->ase !== null) { + throw $result->ase; + } + if ($result->ae !== null) { + throw $result->ae; + } + throw new \Exception("copyDataResource failed: unknown result"); + } + } // HELPER FUNCTIONS AND STRUCTURES @@ -52192,7 +52582,7 @@ class Airavata_isWorkflowExistWithName_result { } -class Airavata_publishDataResource_args { +class Airavata_registerDataResource_args { static $_TSPEC; /** @@ -52230,7 +52620,7 @@ class Airavata_publishDataResource_args { } public function getName() { - return 'Airavata_publishDataResource_args'; + return 'Airavata_registerDataResource_args'; } public function read($input) @@ -52276,7 +52666,7 @@ class Airavata_publishDataResource_args { public function write($output) { $xfer = 0; - $xfer += $output->writeStructBegin('Airavata_publishDataResource_args'); + $xfer += $output->writeStructBegin('Airavata_registerDataResource_args'); if ($this->authzToken !== null) { if (!is_object($this->authzToken)) { throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); @@ -52300,7 +52690,7 @@ class Airavata_publishDataResource_args { } -class Airavata_publishDataResource_result { +class Airavata_registerDataResource_result { static $_TSPEC; /** @@ -52373,7 +52763,7 @@ class Airavata_publishDataResource_result { } public function getName() { - return 'Airavata_publishDataResource_result'; + return 'Airavata_registerDataResource_result'; } public function read($input) @@ -52442,7 +52832,7 @@ class Airavata_publishDataResource_result { public function write($output) { $xfer = 0; - $xfer += $output->writeStructBegin('Airavata_publishDataResource_result'); + $xfer += $output->writeStructBegin('Airavata_registerDataResource_result'); if ($this->success !== null) { $xfer += $output->writeFieldBegin('success', TType::STRING, 0); $xfer += $output->writeString($this->success); @@ -53273,4 +53663,328 @@ class Airavata_getDataResource_result { } +class Airavata_copyDataResource_args { + static $_TSPEC; + + /** + * @var \Airavata\Model\Security\AuthzToken + */ + public $authzToken = null; + /** + * @var string + */ + public $resourceId = null; + /** + * @var string + */ + public $destStorageResourceId = null; + /** + * @var string + */ + public $destinationParentPath = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'authzToken', + 'type' => TType::STRUCT, + 'class' => '\Airavata\Model\Security\AuthzToken', + ), + 2 => array( + 'var' => 'resourceId', + 'type' => TType::STRING, + ), + 3 => array( + 'var' => 'destStorageResourceId', + 'type' => TType::STRING, + ), + 4 => array( + 'var' => 'destinationParentPath', + 'type' => TType::STRING, + ), + ); + } + if (is_array($vals)) { + if (isset($vals['authzToken'])) { + $this->authzToken = $vals['authzToken']; + } + if (isset($vals['resourceId'])) { + $this->resourceId = $vals['resourceId']; + } + if (isset($vals['destStorageResourceId'])) { + $this->destStorageResourceId = $vals['destStorageResourceId']; + } + if (isset($vals['destinationParentPath'])) { + $this->destinationParentPath = $vals['destinationParentPath']; + } + } + } + + public function getName() { + return 'Airavata_copyDataResource_args'; + } + + public function read($input) + { + $xfer = 0; + $fname = null; + $ftype = 0; + $fid = 0; + $xfer += $input->readStructBegin($fname); + while (true) + { + $xfer += $input->readFieldBegin($fname, $ftype, $fid); + if ($ftype == TType::STOP) { + break; + } + switch ($fid) + { + case 1: + if ($ftype == TType::STRUCT) { + $this->authzToken = new \Airavata\Model\Security\AuthzToken(); + $xfer += $this->authzToken->read($input); + } else { + $xfer += $input->skip($ftype); + } + break; + case 2: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->resourceId); + } else { + $xfer += $input->skip($ftype); + } + break; + case 3: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->destStorageResourceId); + } else { + $xfer += $input->skip($ftype); + } + break; + case 4: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->destinationParentPath); + } else { + $xfer += $input->skip($ftype); + } + break; + default: + $xfer += $input->skip($ftype); + break; + } + $xfer += $input->readFieldEnd(); + } + $xfer += $input->readStructEnd(); + return $xfer; + } + + public function write($output) { + $xfer = 0; + $xfer += $output->writeStructBegin('Airavata_copyDataResource_args'); + if ($this->authzToken !== null) { + if (!is_object($this->authzToken)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1); + $xfer += $this->authzToken->write($output); + $xfer += $output->writeFieldEnd(); + } + if ($this->resourceId !== null) { + $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2); + $xfer += $output->writeString($this->resourceId); + $xfer += $output->writeFieldEnd(); + } + if ($this->destStorageResourceId !== null) { + $xfer += $output->writeFieldBegin('destStorageResourceId', TType::STRING, 3); + $xfer += $output->writeString($this->destStorageResourceId); + $xfer += $output->writeFieldEnd(); + } + if ($this->destinationParentPath !== null) { + $xfer += $output->writeFieldBegin('destinationParentPath', TType::STRING, 4); + $xfer += $output->writeString($this->destinationParentPath); + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +class Airavata_copyDataResource_result { + static $_TSPEC; + + /** + * @var string + */ + public $success = null; + /** + * @var \Airavata\API\Error\InvalidRequestException + */ + public $ire = null; + /** + * @var \Airavata\API\Error\AiravataClientException + */ + public $ace = null; + /** + * @var \Airavata\API\Error\AiravataSystemException + */ + public $ase = null; + /** + * @var \Airavata\API\Error\AuthorizationException + */ + public $ae = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 0 => array( + 'var' => 'success', + 'type' => TType::STRING, + ), + 1 => array( + 'var' => 'ire', + 'type' => TType::STRUCT, + 'class' => '\Airavata\API\Error\InvalidRequestException', + ), + 2 => array( + 'var' => 'ace', + 'type' => TType::STRUCT, + 'class' => '\Airavata\API\Error\AiravataClientException', + ), + 3 => array( + 'var' => 'ase', + 'type' => TType::STRUCT, + 'class' => '\Airavata\API\Error\AiravataSystemException', + ), + 4 => array( + 'var' => 'ae', + 'type' => TType::STRUCT, + 'class' => '\Airavata\API\Error\AuthorizationException', + ), + ); + } + if (is_array($vals)) { + if (isset($vals['success'])) { + $this->success = $vals['success']; + } + if (isset($vals['ire'])) { + $this->ire = $vals['ire']; + } + if (isset($vals['ace'])) { + $this->ace = $vals['ace']; + } + if (isset($vals['ase'])) { + $this->ase = $vals['ase']; + } + if (isset($vals['ae'])) { + $this->ae = $vals['ae']; + } + } + } + + public function getName() { + return 'Airavata_copyDataResource_result'; + } + + public function read($input) + { + $xfer = 0; + $fname = null; + $ftype = 0; + $fid = 0; + $xfer += $input->readStructBegin($fname); + while (true) + { + $xfer += $input->readFieldBegin($fname, $ftype, $fid); + if ($ftype == TType::STOP) { + break; + } + switch ($fid) + { + case 0: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->success); + } else { + $xfer += $input->skip($ftype); + } + break; + case 1: + if ($ftype == TType::STRUCT) { + $this->ire = new \Airavata\API\Error\InvalidRequestException(); + $xfer += $this->ire->read($input); + } else { + $xfer += $input->skip($ftype); + } + break; + case 2: + if ($ftype == TType::STRUCT) { + $this->ace = new \Airavata\API\Error\AiravataClientException(); + $xfer += $this->ace->read($input); + } else { + $xfer += $input->skip($ftype); + } + break; + case 3: + if ($ftype == TType::STRUCT) { + $this->ase = new \Airavata\API\Error\AiravataSystemException(); + $xfer += $this->ase->read($input); + } else { + $xfer += $input->skip($ftype); + } + break; + case 4: + if ($ftype == TType::STRUCT) { + $this->ae = new \Airavata\API\Error\AuthorizationException(); + $xfer += $this->ae->read($input); + } else { + $xfer += $input->skip($ftype); + } + break; + default: + $xfer += $input->skip($ftype); + break; + } + $xfer += $input->readFieldEnd(); + } + $xfer += $input->readStructEnd(); + return $xfer; + } + + public function write($output) { + $xfer = 0; + $xfer += $output->writeStructBegin('Airavata_copyDataResource_result'); + if ($this->success !== null) { + $xfer += $output->writeFieldBegin('success', TType::STRING, 0); + $xfer += $output->writeString($this->success); + $xfer += $output->writeFieldEnd(); + } + if ($this->ire !== null) { + $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1); + $xfer += $this->ire->write($output); + $xfer += $output->writeFieldEnd(); + } + if ($this->ace !== null) { + $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2); + $xfer += $this->ace->write($output); + $xfer += $output->writeFieldEnd(); + } + if ($this->ase !== null) { + $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3); + $xfer += $this->ase->write($output); + $xfer += $output->writeFieldEnd(); + } + if ($this->ae !== null) { + $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4); + $xfer += $this->ae->write($output); + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/API/Error/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/API/Error/Types.php b/app/libraries/Airavata/API/Error/Types.php index d0a1ab6..edaa6de 100644 --- a/app/libraries/Airavata/API/Error/Types.php +++ b/app/libraries/Airavata/API/Error/Types.php @@ -2,7 +2,7 @@ namespace Airavata\API\Error; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/API/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/API/Types.php b/app/libraries/Airavata/API/Types.php index 55d6b6d..389e1ca 100644 --- a/app/libraries/Airavata/API/Types.php +++ b/app/libraries/Airavata/API/Types.php @@ -2,7 +2,7 @@ namespace Airavata\API; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -22,7 +22,7 @@ final class Constant extends \Thrift\Type\TConstant { static protected function init_AIRAVATA_API_VERSION() { return /** - * Airavata Interface Versions depend upon this Thrift Interface File. When Making changes, please edit the + * 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. http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/Model/AppCatalog/AppDeployment/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/AppCatalog/AppDeployment/Types.php b/app/libraries/Airavata/Model/AppCatalog/AppDeployment/Types.php index e35f999..ab599e6 100644 --- a/app/libraries/Airavata/Model/AppCatalog/AppDeployment/Types.php +++ b/app/libraries/Airavata/Model/AppCatalog/AppDeployment/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\AppCatalog\AppDeployment; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/Model/AppCatalog/AppInterface/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/AppCatalog/AppInterface/Types.php b/app/libraries/Airavata/Model/AppCatalog/AppInterface/Types.php index 3c03cc7..1d09112 100644 --- a/app/libraries/Airavata/Model/AppCatalog/AppInterface/Types.php +++ b/app/libraries/Airavata/Model/AppCatalog/AppInterface/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\AppCatalog\AppInterface; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/Model/AppCatalog/ComputeResource/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/AppCatalog/ComputeResource/Types.php b/app/libraries/Airavata/Model/AppCatalog/ComputeResource/Types.php index 006e85b..00f7e6c 100644 --- a/app/libraries/Airavata/Model/AppCatalog/ComputeResource/Types.php +++ b/app/libraries/Airavata/Model/AppCatalog/ComputeResource/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\AppCatalog\ComputeResource; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -182,6 +182,15 @@ final class MonitorMode { ); } +final class DMType { + const COMPUTE_RESOURCE = 0; + const STORAGE_RESOURCE = 1; + static public $__names = array( + 0 => 'COMPUTE_RESOURCE', + 1 => 'STORAGE_RESOURCE', + ); +} + /** * Provider name * http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/Model/AppCatalog/GatewayProfile/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/AppCatalog/GatewayProfile/Types.php b/app/libraries/Airavata/Model/AppCatalog/GatewayProfile/Types.php index 9152391..46f89a0 100644 --- a/app/libraries/Airavata/Model/AppCatalog/GatewayProfile/Types.php +++ b/app/libraries/Airavata/Model/AppCatalog/GatewayProfile/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\AppCatalog\GatewayProfile; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/Model/AppCatalog/StorageResource/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/AppCatalog/StorageResource/Types.php b/app/libraries/Airavata/Model/AppCatalog/StorageResource/Types.php index cf8f4b3..93df378 100644 --- a/app/libraries/Airavata/Model/AppCatalog/StorageResource/Types.php +++ b/app/libraries/Airavata/Model/AppCatalog/StorageResource/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\AppCatalog\StorageResource; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/Model/Application/Io/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/Application/Io/Types.php b/app/libraries/Airavata/Model/Application/Io/Types.php index e04650d..cc208a6 100644 --- a/app/libraries/Airavata/Model/Application/Io/Types.php +++ b/app/libraries/Airavata/Model/Application/Io/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\Application\Io; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/Model/Commons/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/Commons/Types.php b/app/libraries/Airavata/Model/Commons/Types.php index a4b8b85..ecc9532 100644 --- a/app/libraries/Airavata/Model/Commons/Types.php +++ b/app/libraries/Airavata/Model/Commons/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\Commons; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e5e190ef/app/libraries/Airavata/Model/Data/Movement/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/Data/Movement/Types.php b/app/libraries/Airavata/Model/Data/Movement/Types.php index bacee47..274a4a8 100644 --- a/app/libraries/Airavata/Model/Data/Movement/Types.php +++ b/app/libraries/Airavata/Model/Data/Movement/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\Data\Movement; /** - * Autogenerated by Thrift Compiler (0.9.2) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated
