You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2015/07/29 19:49:21 UTC
[49/50] [abbrv] airavata-php-gateway git commit: Merge branch
'0.15-release-branch' of
https://git-wip-us.apache.org/repos/asf/airavata-php-gateway
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/6a84103e/app/libraries/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --cc app/libraries/Airavata/API/Airavata.php
index 8fe34f7,7ec2f28..fba2a7c
--- a/app/libraries/Airavata/API/Airavata.php
+++ b/app/libraries/Airavata/API/Airavata.php
@@@ -17,2474 -17,134 +17,2700 @@@ use Thrift\Exception\TApplicationExcept
interface AiravataIf {
- public function getAPIVersion();
- public function addGateway(\Airavata\Model\Workspace\Gateway $gateway);
- public function updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
- public function getGateway($gatewayId);
- public function deleteGateway($gatewayId);
- public function getAllGateways();
- public function isGatewayExist($gatewayId);
+ /**
+ * Fetch Apache Airavata API version
+ *
+ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ * @throws \Airavata\API\Error\AuthorizationException
+ */
+ public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param \Airavata\Model\Workspace\Gateway $gateway
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function addGateway(\Airavata\Model\Workspace\Gateway $gateway);
++ public function addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param \Airavata\Model\Workspace\Gateway $updatedGateway
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
++ public function updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @return \Airavata\Model\Workspace\Gateway
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getGateway($gatewayId);
++ public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @return bool
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function deleteGateway($gatewayId);
++ public function deleteGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @return \Airavata\Model\Workspace\Gateway[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAllGateways();
++ public function getAllGateways(\Airavata\Model\Security\AuthzToken $authzToken);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @return bool
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function isGatewayExist($gatewayId);
++ public function isGatewayExist(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
+ /**
+ * Generate and Register SSH Key Pair with Airavata Credential Store.
+ *
+ * @param gatewayId
+ * The identifier for the requested gateway.
+ *
+ * @param userName
+ * The User for which the credential should be registered. For community accounts, this user is the name of the
+ * community user name. For computational resources, this user name need not be the same user name on resoruces.
+ *
+ * @return airavataCredStoreToken
+ * An SSH Key pair is generated and stored in the credential store and associated with users or community account
+ * belonging to a gateway.
+ *
+ *
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function generateAndRegisterSSHKeys($gatewayId, $userName);
+ /**
+ * @param string $airavataCredStoreToken
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function getSSHPubKey($airavataCredStoreToken);
+ /**
+ * @param string $userName
+ * @return array
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function getAllUserSSHPubKeys($userName);
- public function createProject($gatewayId, \Airavata\Model\Workspace\Project $project);
- public function updateProject($projectId, \Airavata\Model\Workspace\Project $updatedProject);
- public function getProject($projectId);
- public function deleteProject($projectId);
+ /**
+ * Creates a Project with basic metadata.
+ * A Project is a container of experiments.
+ *
+ * @param gatewayId
+ * The identifier for the requested gateway.
+ *
+ * @param Project
+ * The Project Object described in the workspace_model
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param \Airavata\Model\Workspace\Project $project
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function createProject($gatewayId, \Airavata\Model\Workspace\Project $project);
++ public function createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project);
+ /**
+ * Update a Project
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $projectId
+ * @param \Airavata\Model\Workspace\Project $updatedProject
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ * @throws \Airavata\API\Error\ProjectNotFoundException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function updateProject($projectId, \Airavata\Model\Workspace\Project $updatedProject);
++ public function updateProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, \Airavata\Model\Workspace\Project $updatedProject);
+ /**
+ * Get a Project by ID
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $projectId
+ * @return \Airavata\Model\Workspace\Project
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ * @throws \Airavata\API\Error\ProjectNotFoundException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getProject($projectId);
++ public function getProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $projectId
+ * @return bool
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ * @throws \Airavata\API\Error\ProjectNotFoundException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function deleteProject($projectId);
++ public function deleteProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
+ /**
+ * * Get all Project by user
+ * *
+ * * @param gatewayId
+ * * The identifier for the requested gateway.
+ * *
+ * * @param userName
+ * * The Project Object described in the workspace_model
+ * * @deprecated Instead use getAllUserProjectsWithPagination
+ * *
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @return \Airavata\Model\Workspace\Project[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function getAllUserProjects($gatewayId, $userName);
- public function getAllUserProjectsWithPagination($gatewayId, $userName, $limit, $offset);
+ /**
+ * * 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
+ * @param string $userName
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Workspace\Project[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAllUserProjectsWithPagination($gatewayId, $userName, $limit, $offset);
++ public function getAllUserProjectsWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset);
+ /**
+ * Get all Project for user by project name
+ *
+ * @param gatewayId
+ * The identifier for the requested gateway.
+ * @param userName
+ * The identifier of the user
+ * @param projectName
+ * The name of the project on which the results to be fetched
+ * @deprecated Instead use searchProjectsByProjectNameWithPagination
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $projectName
+ * @return \Airavata\Model\Workspace\Project[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function searchProjectsByProjectName($gatewayId, $userName, $projectName);
- public function searchProjectsByProjectNameWithPagination($gatewayId, $userName, $projectName, $limit, $offset);
+ /**
+ * Get all Project for user by project name with pagination.Results will be ordered based
+ * on creation time DESC
+ *
+ * @param gatewayId
+ * The identifier for the requested gateway.
+ * @param userName
+ * The identifier of the user
+ * @param projectName
+ * The name of the project on which the results to be fetched
+ * @param limit
+ * The amount results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $projectName
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Workspace\Project[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function searchProjectsByProjectNameWithPagination($gatewayId, $userName, $projectName, $limit, $offset);
++ public function searchProjectsByProjectNameWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $projectName, $limit, $offset);
+ /**
+ * Get all Project for user by project description
+ * @param gatewayId
+ * The identifier for the requested gateway.
+ * @param userName
+ * The identifier of the user
+ * @param description
+ * The description to be matched
+ * @deprecated Instead use searchProjectsByProjectDescWithPagination
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $description
+ * @return \Airavata\Model\Workspace\Project[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function searchProjectsByProjectDesc($gatewayId, $userName, $description);
- public function searchProjectsByProjectDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
+ /**
+ * Search and get all Projects for user by project description with pagination. Results
+ * will be ordered based on creation time DESC
+ *
+ * @param gatewayId
+ * The identifier for the requested gateway.
+ * @param userName
+ * The identifier of the user
+ * @param description
+ * The description to be matched
+ * @param limit
+ * The amount results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $description
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Workspace\Project[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function searchProjectsByProjectDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
++ public function searchProjectsByProjectDescWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $description, $limit, $offset);
+ /**
+ * Search Experiments by experiment name
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param useNname
+ * Username of the requested user
+ * @param expName
+ * Experiment name to be matched
+ * @deprecated
+ * Instead use searchExperimentsByNameWithPagination
+ *
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $expName
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function searchExperimentsByName($gatewayId, $userName, $expName);
- public function searchExperimentsByNameWithPagination($gatewayId, $userName, $expName, $limit, $offset);
+ /**
+ * Search Experiments by experiment name with pagination. Results will be sorted
+ * based on creation time DESC
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param expName
+ * Experiment name to be matched
+ * @param limit
+ * Amount of results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $expName
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function searchExperimentsByNameWithPagination($gatewayId, $userName, $expName, $limit, $offset);
++ public function searchExperimentsByNameWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $expName, $limit, $offset);
+ /**
+ * Search Experiments by experiment name
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param description
+ * Experiment description to be matched
+ * @deprecated
+ * Instead use searchExperimentsByDescWithPagination
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $description
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function searchExperimentsByDesc($gatewayId, $userName, $description);
- public function searchExperimentsByDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
+ /**
+ * Search Experiments by experiment name with pagination. Results will be sorted
+ * based on creation time DESC
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param description
+ * Experiment description to be matched
+ * @param limit
+ * Amount of results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $description
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function searchExperimentsByDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
++ public function searchExperimentsByDescWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $description, $limit, $offset);
+ /**
+ * Search Experiments by application id
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param applicationId
+ * Application id to be matched
+ * @deprecated
+ * Instead use searchExperimentsByApplicationWithPagination
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $applicationId
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function searchExperimentsByApplication($gatewayId, $userName, $applicationId);
- public function searchExperimentsByApplicationWithPagination($gatewayId, $userName, $applicationId, $limit, $offset);
+ /**
+ * Search Experiments by application id with pagination. Results will be sorted
+ * based on creation time DESC
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param applicationId
+ * Application id to be matched
+ * @param limit
+ * Amount of results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param string $userName
+ * @param string $applicationId
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function searchExperimentsByApplicationWithPagination($gatewayId, $userName, $applicationId, $limit, $offset);
++ public function searchExperimentsByApplicationWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $applicationId, $limit, $offset);
+ /**
+ * Search Experiments by experiment status
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param experimentState
+ * Experiement state to be matched
+ * @deprecated
+ * Instead use searchExperimentsByStatusWithPagination
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @param int $experimentState
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function searchExperimentsByStatus($gatewayId, $userName, $experimentState);
- public function searchExperimentsByStatusWithPagination($gatewayId, $userName, $experimentState, $limit, $offset);
+ /**
+ * Search Experiments by experiment status with pagination. Results will be sorted
+ * based on creation time DESC
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param experimentState
+ * Experiement state to be matched
+ * @param limit
+ * Amount of results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param string $userName
+ * @param int $experimentState
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function searchExperimentsByStatusWithPagination($gatewayId, $userName, $experimentState, $limit, $offset);
++ public function searchExperimentsByStatusWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $experimentState, $limit, $offset);
+ /**
+ * Search Experiments by experiment creation time
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param fromTime
+ * Start time of the experiments creation time
+ * @param toTime
+ * End time of the experiement creation time
+ * @deprecated
+ * Instead use searchExperimentsByCreationTimeWithPagination
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @param int $fromTime
+ * @param int $toTime
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function searchExperimentsByCreationTime($gatewayId, $userName, $fromTime, $toTime);
- public function searchExperimentsByCreationTimeWithPagination($gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
- public function searchExperiments($gatewayId, $userName, $filters, $limit, $offset);
- public function getExperimentStatistics($gatewayId, $fromTime, $toTime);
+ /**
+ * Search Experiments by experiment creation time with pagination. Results will be sorted
+ * based on creation time DESC
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param fromTime
+ * Start time of the experiments creation time
+ * @param toTime
+ * End time of the experiement creation time
+ * @param limit
+ * Amount of results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param string $userName
+ * @param int $fromTime
+ * @param int $toTime
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function searchExperimentsByCreationTimeWithPagination($gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
++ public function searchExperimentsByCreationTimeWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
+ /**
+ * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
+ * based on creation time DESC
+ *
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param userName
+ * Username of the requested user
+ * @param filters
+ * map of multiple filter criteria.
+ * @param limit
+ * Amount of results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param string $userName
+ * @param array $filters
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function searchExperiments($gatewayId, $userName, array $filters, $limit, $offset);
++ public function searchExperiments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, array $filters, $limit, $offset);
+ /**
+ * Get Experiment Statisitics for the given gateway for a specific time period
+ * @param gatewayId
+ * Identifier of the requested gateway
+ * @param fromTime
+ * Starting date time
+ * @param toTime
+ * Ending data time
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param int $fromTime
+ * @param int $toTime
+ * @return \Airavata\Model\Experiment\ExperimentStatistics
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getExperimentStatistics($gatewayId, $fromTime, $toTime);
++ public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime);
+ /**
+ * Get all Experiments within a Project
+ *
+ * @param projectId
+ * Identifier of the project
+ * @deprecated
+ * Instead use getAllExperimentsInProjectWithPagination
+ *
+ * @param string $projectId
+ * @return \Airavata\Model\Experiment\ExperimentModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ * @throws \Airavata\API\Error\ProjectNotFoundException
+ */
public function getAllExperimentsInProject($projectId);
- public function getAllExperimentsInProjectWithPagination($projectId, $limit, $offset);
+ /**
+ * Get all Experiments within project with pagination. Results will be sorted
+ * based on creation time DESC
+ *
+ * @param projectId
+ * Identifier of the project
+ * @param limit
+ * Amount of results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $projectId
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Experiment\ExperimentModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ * @throws \Airavata\API\Error\ProjectNotFoundException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAllExperimentsInProjectWithPagination($projectId, $limit, $offset);
++ public function getAllExperimentsInProjectWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, $limit, $offset);
+ /**
+ * Get all Experiments by user
+ *
+ * @param gatewayId
+ * Identifier of the requesting gateway
+ * @param userName
+ * Username of the requested user
+ * @deprecated
+ * Instead use getAllUserExperimentsWithPagination
+ *
+ * @param string $gatewayId
+ * @param string $userName
+ * @return \Airavata\Model\Experiment\ExperimentModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
+ */
public function getAllUserExperiments($gatewayId, $userName);
- public function getAllUserExperimentsWithPagination($gatewayId, $userName, $limit, $offset);
- public function createExperiment($gatewayId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
- public function getExperiment($airavataExperimentId);
- public function updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
- public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration);
- public function updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling);
- public function validateExperiment($airavataExperimentId);
- public function launchExperiment($airavataExperimentId, $airavataCredStoreToken);
- public function getExperimentStatus($airavataExperimentId);
- public function getExperimentOutputs($airavataExperimentId);
- public function getIntermediateOutputs($airavataExperimentId);
- public function getJobStatuses($airavataExperimentId);
- public function getJobDetails($airavataExperimentId);
- public function getDataTransferDetails($airavataExperimentId);
- public function cloneExperiment($existingExperimentID, $newExperimentName);
- public function terminateExperiment($airavataExperimentId, $tokenId);
- public function registerApplicationModule($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
- public function getApplicationModule($appModuleId);
- public function updateApplicationModule($appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
- public function getAllAppModules($gatewayId);
- public function deleteApplicationModule($appModuleId);
- public function registerApplicationDeployment($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
- public function getApplicationDeployment($appDeploymentId);
- public function updateApplicationDeployment($appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
- public function deleteApplicationDeployment($appDeploymentId);
- public function getAllApplicationDeployments($gatewayId);
- public function getAppModuleDeployedResources($appModuleId);
- public function registerApplicationInterface($gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
- public function getApplicationInterface($appInterfaceId);
- public function updateApplicationInterface($appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
- public function deleteApplicationInterface($appInterfaceId);
- public function getAllApplicationInterfaceNames($gatewayId);
- public function getAllApplicationInterfaces($gatewayId);
- public function getApplicationInputs($appInterfaceId);
- public function getApplicationOutputs($appInterfaceId);
- public function getAvailableAppInterfaceComputeResources($appInterfaceId);
- public function registerComputeResource(\Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
- public function getComputeResource($computeResourceId);
- public function getAllComputeResourceNames();
- public function updateComputeResource($computeResourceId, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
- public function deleteComputeResource($computeResourceId);
- public function addLocalSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
- public function updateLocalSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
- public function getLocalJobSubmission($jobSubmissionId);
- public function addSSHJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
- public function getSSHJobSubmission($jobSubmissionId);
- public function addUNICOREJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
- public function getUnicoreJobSubmission($jobSubmissionId);
- public function addCloudJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission);
- public function getCloudJobSubmission($jobSubmissionId);
- public function updateSSHJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
- public function updateCloudJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission);
- public function updateUnicoreJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
- public function addLocalDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
- public function updateLocalDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
- public function getLocalDataMovement($dataMovementId);
- public function addSCPDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
- public function updateSCPDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
- public function getSCPDataMovement($dataMovementId);
- public function addUnicoreDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
- public function updateUnicoreDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
- public function getUnicoreDataMovement($dataMovementId);
- public function addGridFTPDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
- public function updateGridFTPDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
- public function getGridFTPDataMovement($dataMovementId);
- public function changeJobSubmissionPriority($jobSubmissionInterfaceId, $newPriorityOrder);
- public function changeDataMovementPriority($dataMovementInterfaceId, $newPriorityOrder);
- public function changeJobSubmissionPriorities($jobSubmissionPriorityMap);
- public function changeDataMovementPriorities($dataMovementPriorityMap);
- public function deleteJobSubmissionInterface($computeResourceId, $jobSubmissionInterfaceId);
- public function deleteDataMovementInterface($computeResourceId, $dataMovementInterfaceId);
- public function registerResourceJobManager(\Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $resourceJobManager);
- public function updateResourceJobManager($resourceJobManagerId, \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $updatedResourceJobManager);
- public function getResourceJobManager($resourceJobManagerId);
- public function deleteResourceJobManager($resourceJobManagerId);
- public function deleteBatchQueue($computeResourceId, $queueName);
- public function registerGatewayResourceProfile(\Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile);
- public function getGatewayResourceProfile($gatewayID);
- public function updateGatewayResourceProfile($gatewayID, \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile);
- public function deleteGatewayResourceProfile($gatewayID);
- public function addGatewayComputeResourcePreference($gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
- public function getGatewayComputeResourcePreference($gatewayID, $computeResourceId);
- public function getAllGatewayComputeResourcePreferences($gatewayID);
- public function getAllGatewayComputeResources();
- public function updateGatewayComputeResourcePreference($gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
- public function deleteGatewayComputeResourcePreference($gatewayID, $computeResourceId);
- public function getAllWorkflows($gatewayId);
- public function getWorkflow($workflowTemplateId);
- public function deleteWorkflow($workflowTemplateId);
- public function registerWorkflow($gatewayId, \Airavata\Model\Workflow $workflow);
- public function updateWorkflow($workflowTemplateId, \Airavata\Model\Workflow $workflow);
- public function getWorkflowTemplateId($workflowName);
- public function isWorkflowExistWithName($workflowName);
+ /**
+ * Get all Experiments by user pagination. Results will be sorted
+ * based on creation time DESC
+ *
+ * @param gatewayId
+ * Identifier of the requesting gateway
+ * @param userName
+ * Username of the requested user
+ * @param limit
+ * Amount of results to be fetched
+ * @param offset
+ * The starting point of the results to be fetched
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param string $userName
+ * @param int $limit
+ * @param int $offset
+ * @return \Airavata\Model\Experiment\ExperimentModel[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAllUserExperimentsWithPagination($gatewayId, $userName, $limit, $offset);
++ public function getAllUserExperimentsWithPagination(\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 authentication header. This experiment is just a persistent place holder. The client
+ * has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
+ * registering the experiment in a persistent store.
+ *
+ * @param basicExperimentMetadata
+ * The create experiment will require the basic experiment metadata like the name and description, intended user,
+ * the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
+ * the ExperimentMetadata is a required field.
+ *
+ * @return
+ * The server-side generated.airavata.registry.core.experiment.globally unique identifier.
+ *
+ * @throws org.apache.airavata.model.error.InvalidRequestException
+ * For any incorrect forming of the request itself.
+ *
+ * @throws org.apache.airavata.model.error.AiravataClientException
+ * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ *
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ *
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ *
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ *
+ * @throws org.apache.airavata.model.error.AiravataSystemException
+ * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param \Airavata\Model\Experiment\ExperimentModel $experiment
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function createExperiment($gatewayId, \Airavata\Model\Experiment\ExperimentModel $experiment);
++ public function createExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Experiment\ExperimentModel $experiment);
+ /**
+ * 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($airavataExperimentId);
++ public function getExperiment(\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.
+ *
+ * @param airavataExperimentId
+ * The identifier for the requested experiment. This is returned during the create experiment step.
+ *
+ * @param experimentConfigurationData
+ * The configuration information of the experiment with application input parameters, computational resource scheduling
+ * information, special input output handling and additional quality of service parameters.
+ *
+ * @return
+ * This method call does not have a return value.
+ *
+ * @throws org.apache.airavata.model.error.InvalidRequestException
+ * For any incorrect forming of the request itself.
+ *
+ * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+ * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+ *
+ * @throws org.apache.airavata.model.error.AiravataClientException
+ * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ *
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ *
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ *
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ *
+ * @throws org.apache.airavata.model.error.AiravataSystemException
+ * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
+ *
+ *
++ * @param \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($airavataExperimentId, \Airavata\Model\Experiment\ExperimentModel $experiment);
++ 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($airavataExperimentId, \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration);
++ 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($airavataExperimentId, \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling);
++ 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
+ * @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($airavataExperimentId);
++ public function validateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
+ /**
+ * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
+ * notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * @param airavataExperimentId
+ * The identifier for the requested experiment. This is returned during the create experiment step.
+ *
+ * @param airavataCredStoreToken:
+ * A requirement to execute experiments within Airavata is to first register the targeted remote computational account
+ * credentials with Airavata Credential Store. The administrative API (related to credential store) will return a
+ * generated token associated with the registered credentials. The client has to security posses this token id and is
+ * required to pass it to Airavata Server for all execution requests.
+ * Note: At this point only the credential store token is required so the string is directly passed here. In future if
+ * if more security credentials are enables, then the structure ExecutionSecurityParameters should be used.
+ * Note: This parameter is not persisted within Airavata Registry for security reasons.
+ *
+ * @return
+ * This method call does not have a return value.
+ *
+ * @throws org.apache.airavata.model.error.InvalidRequestException
+ * For any incorrect forming of the request itself.
+ *
+ * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+ * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+ *
+ * @throws org.apache.airavata.model.error.AiravataClientException
+ * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ *
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ *
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ *
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ *
+ * @throws org.apache.airavata.model.error.AiravataSystemException
+ * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $airavataExperimentId
+ * @param string $airavataCredStoreToken
+ * @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($airavataExperimentId, $airavataCredStoreToken);
++ public function launchExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $airavataCredStoreToken);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $airavataExperimentId
+ * @return \Airavata\Model\Status\ExperimentStatus Status: A generic status object.
+ *
+ * state:
+ * State .
+ *
+ * timeOfStateChange:
+ * time the status was last updated.
+ *
+ * reason:
+ * User friendly reason on how the state is inferred.
+ *
+ *
+ * @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 getExperimentStatus($airavataExperimentId);
++ public function getExperimentStatus(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $airavataExperimentId
+ * @return \Airavata\Model\Application\Io\OutputDataObjectType[]
+ * @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 getExperimentOutputs($airavataExperimentId);
++ public function getExperimentOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $airavataExperimentId
+ * @return \Airavata\Model\Application\Io\OutputDataObjectType[]
+ * @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 getIntermediateOutputs($airavataExperimentId);
++ public function getIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $airavataExperimentId
+ * @return array
+ * @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 getJobStatuses($airavataExperimentId);
++ public function getJobStatuses(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $airavataExperimentId
+ * @return \Airavata\Model\job\JobModel[]
+ * @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 getJobDetails($airavataExperimentId);
++ public function getJobDetails(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
+ /**
+ * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+ * The client has to subsequently update this configuration if needed and launch the cloned experiment.
+ *
+ * @param newExperimentName
+ * experiment name that should be used in the cloned experiment
+ *
+ * @param updatedExperiment
+ * Once an experiment is cloned, to disambiguate, the users are suggested to provide new metadata. This will again require
+ * the basic experiment metadata like the name and description, intended user, the gateway identifier and if the experiment
+ * should be shared public by default.
+ *
+ * @return
+ * The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+ *
+ * @throws org.apache.airavata.model.error.InvalidRequestException
+ * For any incorrect forming of the request itself.
+ *
+ * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+ * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+ *
+ * @throws org.apache.airavata.model.error.AiravataClientException
+ * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ *
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ *
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ *
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ *
+ * @throws org.apache.airavata.model.error.AiravataSystemException
+ * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $existingExperimentID
+ * @param string $newExperimentName
+ * @return string
+ * @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 cloneExperiment($existingExperimentID, $newExperimentName);
++ public function cloneExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $existingExperimentID, $newExperimentName);
+ /**
+ * Terminate a running experiment.
+ *
+ * @param airavataExperimentId
+ * The identifier for the requested experiment. This is returned during the create experiment step.
+ *
+ * @return
+ * This method call does not have a return value.
+ *
+ * @throws org.apache.airavata.model.error.InvalidRequestException
+ * For any incorrect forming of the request itself.
+ *
+ * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+ * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+ *
+ * @throws org.apache.airavata.model.error.AiravataClientException
+ * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ *
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ *
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ *
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ *
+ * @throws org.apache.airavata.model.error.AiravataSystemException
+ * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $airavataExperimentId
+ * @param string $tokenId
+ * @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 terminateExperiment($airavataExperimentId, $tokenId);
++ public function terminateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $tokenId);
+ /**
+ * Register a Application Module.
+ *
+ * @param applicationModule
+ * Application Module Object created from the datamodel.
+ *
+ * @return appModuleId
+ * Returns a server-side generated airavata appModule globally unique identifier.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function registerApplicationModule($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
++ public function registerApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
+ /**
+ * Fetch a Application Module.
+ *
+ * @param appModuleId
+ * The identifier for the requested application module
+ *
+ * @return applicationModule
+ * Returns a application Module Object.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appModuleId
+ * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule Application Module Information. A module has to be registered before registering a deployment.
+ *
+ * appModuleId: Airavata Internal Unique Job ID. This is set by the registry.
+ *
+ * appModuleName:
+ * Name of the application module.
+ *
+ * appModuleVersion:
+ * Version of the application.
+ *
+ * appModuleDescription:
+ * Descriprion of the Module
+ *
+ *
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getApplicationModule($appModuleId);
++ public function getApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
+ /**
+ * Update a Application Module.
+ *
+ * @param appModuleId
+ * The identifier for the requested application module to be updated.
+ *
+ * @param applicationModule
+ * Application Module Object created from the datamodel.
+ *
+ * @return status
+ * Returns a success/failure of the update.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appModuleId
+ * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
+ * @return bool
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function updateApplicationModule($appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
++ public function updateApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
+ /**
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAllAppModules($gatewayId);
++ public function getAllAppModules(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
+ /**
+ * Delete a Application Module.
+ *
+ * @param appModuleId
+ * The identifier for the requested application module to be deleted.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appModuleId
+ * @return bool
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function deleteApplicationModule($appModuleId);
++ public function deleteApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
+ /**
+ * Register a Application Deployment.
+ *
+ * @param applicationModule
+ * Application Module Object created from the datamodel.
+ *
+ * @return appDeploymentId
+ * Returns a server-side generated airavata appDeployment globally unique identifier.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function registerApplicationDeployment($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
++ public function registerApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
+ /**
+ * Fetch a Application Deployment.
+ *
+ * @param appDeploymentId
+ * The identifier for the requested application module
+ *
+ * @return applicationDeployment
+ * Returns a application Deployment Object.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appDeploymentId
+ * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription Application Deployment Description
+ *
+ * appDeploymentId: Airavata Internal Unique Job ID. This is set by the registry.
+ *
+ * appModuleName:
+ * Application Module Name. This has to be precise describing the binary.
+ *
+ * computeHostId:
+ * This ID maps application deployment to a particular resource previously described within Airavata.
+ * Example: Stampede is first registered and refered when registering WRF.
+ *
+ * moduleLoadCmd:
+ * Command string to load modules. This will be placed in the job submisison
+ * Ex: module load amber
+ *
+ * libPrependPaths:
+ * prepend to a path variable the value
+ *
+ * libAppendPaths:
+ * append to a path variable the value
+ *
+ * setEnvironment:
+ * assigns to the environment variable "NAME" the value
+ *
+ *
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getApplicationDeployment($appDeploymentId);
++ public function getApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
+ /**
+ * Update a Application Deployment.
+ *
+ * @param appDeploymentId
+ * The identifier for the requested application deployment to be updated.
+ *
+ * @param appDeployment
+ * Application Deployment Object created from the datamodel.
+ *
+ * @return status
+ * Returns a success/failure of the update.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appDeploymentId
+ * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
+ * @return bool
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function updateApplicationDeployment($appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
++ public function updateApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
+ /**
+ * Delete a Application deployment.
+ *
+ * @param appDeploymentId
+ * The identifier for the requested application deployment to be deleted.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appDeploymentId
+ * @return bool
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function deleteApplicationDeployment($appDeploymentId);
++ public function deleteApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
+ /**
+ * Fetch all Application Deployment Descriptions.
+ *
+ * @return list<applicationDeployment.
+ * Returns the list of all application Deployment Objects.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAllApplicationDeployments($gatewayId);
++ public function getAllApplicationDeployments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
+ /**
+ * Fetch a list of Deployed Compute Hosts.
+ *
+ * @param appModuleId
+ * The identifier for the requested application module
+ *
+ * @return list<string>
+ * Returns a list of Deployed Resources.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appModuleId
+ * @return string[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAppModuleDeployedResources($appModuleId);
++ public function getAppModuleDeployedResources(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
+ /**
+ * Register a Application Interface.
+ *
+ * @param applicationModule
+ * Application Module Object created from the datamodel.
+ *
+ * @return appInterfaceId
+ * Returns a server-side generated airavata application interface globally unique identifier.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function registerApplicationInterface($gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
++ public function registerApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
+ /**
+ * Fetch a Application Interface.
+ *
+ * @param appInterfaceId
+ * The identifier for the requested application module
+ *
+ * @return applicationInterface
+ * Returns a application Interface Object.
+ *
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appInterfaceId
+ * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription Application Interface Description
+ *
+ * applicationModules:
+ * Associate all application modules with versions which interface is applicable to.
+ *
+ * applicationInputs:
+ * Inputs to be passed to the application
+ *
+ * applicationOutputs:
+ * Outputs generated from the application
+ *
+ *
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getApplicationInterface($appInterfaceId);
++ public function getApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
+ /**
+ * Update a Application Interface.
+ *
+ * @param appInterfaceId
+ * The identifier for the requested application deployment to be updated.
+ *
+ * @param appInterface
+ * Application Interface Object created from the datamodel.
+ *
+ * @return status
+ * Returns a success/failure of the update.
+ *
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appInterfaceId
+ * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
+ * @return bool
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function updateApplicationInterface($appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
++ public function updateApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
+ /**
+ * Delete a Application Interface.
+ *
+ * @param appInterfaceId
+ * The identifier for the requested application interface to be deleted.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appInterfaceId
+ * @return bool
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function deleteApplicationInterface($appInterfaceId);
++ public function deleteApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
+ /**
+ * Fetch name and id of Application Interface documents.
+ *
+ *
+ * @return map<applicationId, applicationInterfaceNames>
+ * Returns a list of application interfaces with corresponsing id's
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @return array
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAllApplicationInterfaceNames($gatewayId);
++ public function getAllApplicationInterfaceNames(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
+ /**
+ * Fetch all Application Interface documents.
+ *
+ *
+ * @return map<applicationId, applicationInterfaceNames>
+ * Returns a list of application interfaces documents
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $gatewayId
+ * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAllApplicationInterfaces($gatewayId);
++ public function getAllApplicationInterfaces(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
+ /**
+ * Fetch the list of Application Inputs.
+ *
+ * @param appInterfaceId
+ * The identifier for the requested application interface
+ *
+ * @return list<application_interface_model.InputDataObjectType>
+ * Returns a list of application inputs.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appInterfaceId
+ * @return \Airavata\Model\Application\Io\InputDataObjectType[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getApplicationInputs($appInterfaceId);
++ public function getApplicationInputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
+ /**
+ * Fetch the list of Application Outputs.
+ *
+ * @param appInterfaceId
+ * The identifier for the requested application interface
+ *
+ * @return list<application_interface_model.OutputDataObjectType>
+ * Returns a list of application outputs.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appInterfaceId
+ * @return \Airavata\Model\Application\Io\OutputDataObjectType[]
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getApplicationOutputs($appInterfaceId);
++ public function getApplicationOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
+ /**
+ * Fetch a list of all deployed Compute Hosts for a given application interfaces.
+ *
+ * @param appInterfaceId
+ * The identifier for the requested application interface
+ *
+ * @return map<computeResourceId, computeResourceName>
+ * A map of registered compute resource id's and their corresponding hostnames.
+ * Deployments of each modules listed within the interfaces will be listed.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $appInterfaceId
+ * @return array
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAvailableAppInterfaceComputeResources($appInterfaceId);
++ public function getAvailableAppInterfaceComputeResources(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
+ /**
+ * Register a Compute Resource.
+ *
+ * @param computeResourceDescription
+ * Compute Resource Object created from the datamodel.
+ *
+ * @return computeResourceId
+ * Returns a server-side generated airavata compute resource globally unique identifier.
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription
+ * @return string
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function registerComputeResource(\Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
++ public function registerComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
+ /**
+ * Fetch the given Compute Resource.
+ *
+ * @param computeResourceId
+ * The identifier for the requested compute resource
+ *
+ * @return computeResourceDescription
+ * Compute Resource Object created from the datamodel..
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @param string $computeResourceId
+ * @return \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription Computational Resource Description
+ *
+ * computeResourceId: Airavata Internal Unique Identifier to distinguish Compute Resource.
+ *
+ * hostName:
+ * Fully Qualified Host Name.
+ *
+ * hostAliases:
+ * Aliases if any.
+ *
+ * ipAddress:
+ * IP Addresses of the Resource.
+ *
+ * resourceDescription:
+ * A user friendly description of the resource.
+ *
+ * JobSubmissionProtocols:
+ * A computational resources may have one or more ways of submitting Jobs. This structure
+ * will hold all available mechanisms to interact with the resource.
+ * The key is the priority
+ *
+ * DataMovementProtocol:
+ * Option to specify a prefered data movement mechanism of the available options.
+ *
+ * fileSystems:
+ * Map of file systems type and the path.
+ *
+ *
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getComputeResource($computeResourceId);
++ public function getComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId);
+ /**
+ * Fetch all registered Compute Resources.
+ *
+ * @return A map of registered compute resource id's and thier corresponding hostnames.
+ * Compute Resource Object created from the datamodel..
+ *
+ *
++ * @param \Airavata\Model\Security\AuthzToken $authzToken
+ * @return array
+ * @throws \Airavata\API\Error\InvalidRequestException
+ * @throws \Airavata\API\Error\AiravataClientException
+ * @throws \Airavata\API\Error\AiravataSystemException
++ * @throws \Airavata\API\Error\AuthorizationException
+ */
- public function getAllComput
<TRUNCATED>