UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,113 lines 101 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Athena = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_athena.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Athena extends shared_1.PolicyStatement { /** * Grants permission to get information about one or more named queries * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_BatchGetNamedQuery.html */ toBatchGetNamedQuery() { return this.to('BatchGetNamedQuery'); } /** * Grants permission to get information about one or more prepared statements * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_BatchGetPreparedStatement.html */ toBatchGetPreparedStatement() { return this.to('BatchGetPreparedStatement'); } /** * Grants permission to get information about one or more query executions * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_BatchGetQueryExecution.html */ toBatchGetQueryExecution() { return this.to('BatchGetQueryExecution'); } /** * Grants permission to cancel a capacity reservation * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_CancelCapacityReservation.html */ toCancelCapacityReservation() { return this.to('CancelCapacityReservation'); } /** * Grants permission to cancel query execution. Deprecated. Applies only to AWS services and principals that use Athena JDBC driver earlier than 1.1.0. Use StopQueryExecution otherwise * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_StopQueryExecution.html */ toCancelQueryExecution() { return this.to('CancelQueryExecution'); } /** * Grants permission to create a capacity reservation * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateCapacityReservation.html */ toCreateCapacityReservation() { return this.to('CreateCapacityReservation'); } /** * Grants permission to create a datacatalog * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateDataCatalog.html */ toCreateDataCatalog() { return this.to('CreateDataCatalog'); } /** * Grants permission to create a named query * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateNamedQuery.html */ toCreateNamedQuery() { return this.to('CreateNamedQuery'); } /** * Grants permission to create a notebook * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateNotebook.html */ toCreateNotebook() { return this.to('CreateNotebook'); } /** * Grants permission to create a prepared statement * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_CreatePreparedStatement.html */ toCreatePreparedStatement() { return this.to('CreatePreparedStatement'); } /** * Grants permission to create a presigned notebook url * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_CreatePresignedNotebookUrl.html */ toCreatePresignedNotebookUrl() { return this.to('CreatePresignedNotebookUrl'); } /** * Grants permission to create a workgroup * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateWorkGroup.html */ toCreateWorkGroup() { return this.to('CreateWorkGroup'); } /** * Grants permission to delete a capacity reservation * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_DeleteCapacityReservation.html */ toDeleteCapacityReservation() { return this.to('DeleteCapacityReservation'); } /** * Grants permission to delete a datacatalog * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_DeleteDataCatalog.html */ toDeleteDataCatalog() { return this.to('DeleteDataCatalog'); } /** * Grants permission to delete a named query specified * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_DeleteNamedQuery.html */ toDeleteNamedQuery() { return this.to('DeleteNamedQuery'); } /** * Grants permission to delete a notebook * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_DeleteNotebook.html */ toDeleteNotebook() { return this.to('DeleteNotebook'); } /** * Grants permission to delete a prepared statement specified * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_DeletePreparedStatement.html */ toDeletePreparedStatement() { return this.to('DeletePreparedStatement'); } /** * Grants permission to delete a workgroup * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_DeleteWorkGroup.html */ toDeleteWorkGroup() { return this.to('DeleteWorkGroup'); } /** * Grants permission to export a notebook * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ExportNotebook.html */ toExportNotebook() { return this.to('ExportNotebook'); } /** * Grants permission to get a calculation execution * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetCalculationExecution.html */ toGetCalculationExecution() { return this.to('GetCalculationExecution'); } /** * Grants permission to get a calculation execution code * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetCalculationExecutionCode.html */ toGetCalculationExecutionCode() { return this.to('GetCalculationExecutionCode'); } /** * Grants permission to get a calculation execution status * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetCalculationExecutionStatus.html */ toGetCalculationExecutionStatus() { return this.to('GetCalculationExecutionStatus'); } /** * Grants permission to get capacity assignment information for a capacity reservation * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetCapacityAssignmentConfiguration.html */ toGetCapacityAssignmentConfiguration() { return this.to('GetCapacityAssignmentConfiguration'); } /** * Grants permission to get a capacity reservation * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetCapacityReservation.html */ toGetCapacityReservation() { return this.to('GetCapacityReservation'); } /** * Grants permission to enable access to databases and tables. Applies only to AWS services managed policy and principals that use an Athena JDBC driver version 1.1.0 * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/ug/connect-with-previous-jdbc.html#jdbc-prev-version-policies */ toGetCatalogs() { return this.to('GetCatalogs'); } /** * Grants permission to get a datacatalog * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetDataCatalog.html */ toGetDataCatalog() { return this.to('GetDataCatalog'); } /** * Grants permission to get a database for a given datacatalog * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetDatabase.html */ toGetDatabase() { return this.to('GetDatabase'); } /** * Grants permission to enable access to the specified database and table. Applies only to AWS services managed policy and principals that use an Athena JDBC driver version 1.1.0 * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/ug/connect-with-previous-jdbc.html#jdbc-prev-version-policies */ toGetExecutionEngine() { return this.to('GetExecutionEngine'); } /** * Grants permission to enable access to databases and tables. Applies only to AWS services managed policy and principals that use an Athena JDBC driver version 1.1.0 * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/ug/connect-with-previous-jdbc.html#jdbc-prev-version-policies */ toGetExecutionEngines() { return this.to('GetExecutionEngines'); } /** * Grants permission to get information about the specified named query * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetNamedQuery.html */ toGetNamedQuery() { return this.to('GetNamedQuery'); } /** * Grants permission to enable access to the specified database and table. Applies only to AWS services managed policy and principals that use an Athena JDBC driver version 1.1.0 * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/ug/connect-with-previous-jdbc.html#jdbc-prev-version-policies */ toGetNamespace() { return this.to('GetNamespace'); } /** * Grants permission to enable access to databases and tables. Applies only to AWS services managed policy and principals that use an Athena JDBC driver version 1.1.0 * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/ug/connect-with-previous-jdbc.html#jdbc-prev-version-policies */ toGetNamespaces() { return this.to('GetNamespaces'); } /** * Grants permission to get notebook metadata * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetNotebookMetadata.html */ toGetNotebookMetadata() { return this.to('GetNotebookMetadata'); } /** * Grants permission to get information about the specified prepared statement * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetPreparedStatement.html */ toGetPreparedStatement() { return this.to('GetPreparedStatement'); } /** * Grants permission to get information about the specified query execution * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryExecution.html */ toGetQueryExecution() { return this.to('GetQueryExecution'); } /** * Grants permission to get query executions. Deprecated. Applies only to AWS services and principals that use Athena JDBC driver earlier than 1.1.0. Use ListQueryExecutions otherwise * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListQueryExecutions.html */ toGetQueryExecutions() { return this.to('GetQueryExecutions'); } /** * Grants permission to get the query results * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryResults.html */ toGetQueryResults() { return this.to('GetQueryResults'); } /** * Grants permission to get the query results stream * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/ug/jdbc-v3-driver.html#jdbc-v3-driver-download */ toGetQueryResultsStream() { return this.to('GetQueryResultsStream'); } /** * Grants permission to get runtime statistics for the specified query execution * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryRuntimeStatistics.html */ toGetQueryRuntimeStatistics() { return this.to('GetQueryRuntimeStatistics'); } /** * Grants permission to get a Live UI/Persistence UI for a session * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetResourceDashboard.html */ toGetResourceDashboard() { return this.to('GetResourceDashboard'); } /** * Grants permission to get a session * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetSession.html */ toGetSession() { return this.to('GetSession'); } /** * Grants permission to get a connection endpoint and authentication token for a given session Id * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetSessionEndpoint.html */ toGetSessionEndpoint() { return this.to('GetSessionEndpoint'); } /** * Grants permission to get a session status * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetSessionStatus.html */ toGetSessionStatus() { return this.to('GetSessionStatus'); } /** * Grants permission to enable access to the specified table. Applies only to AWS services managed policy and principals that use an Athena JDBC driver version 1.1.0 * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/ug/connect-with-previous-jdbc.html#jdbc-prev-version-policies */ toGetTable() { return this.to('GetTable'); } /** * Grants permission to get a metadata about a table for a given datacatalog * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetTableMetadata.html */ toGetTableMetadata() { return this.to('GetTableMetadata'); } /** * Grants permission to enable access to tables. Applies only to AWS services managed policy and principals that use an Athena JDBC driver version 1.1.0 * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/ug/connect-with-previous-jdbc.html#jdbc-prev-version-policies */ toGetTables() { return this.to('GetTables'); } /** * Grants permission to get a workgroup * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_GetWorkGroup.html */ toGetWorkGroup() { return this.to('GetWorkGroup'); } /** * Grants permission to import a notebook * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ImportNotebook.html */ toImportNotebook() { return this.to('ImportNotebook'); } /** * Grants permission to return a list of ApplicationRuntimeIds * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListApplicationDPUSizes.html */ toListApplicationDPUSizes() { return this.to('ListApplicationDPUSizes'); } /** * Grants permission to return a list of calculation executions * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListCalculationExecutions.html */ toListCalculationExecutions() { return this.to('ListCalculationExecutions'); } /** * Grants permission to return a list of capacity reservations for the specified AWS account * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListCapacityReservations.html */ toListCapacityReservations() { return this.to('ListCapacityReservations'); } /** * Grants permission to return a list of datacatalogs for the specified AWS account * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListDataCatalogs.html */ toListDataCatalogs() { return this.to('ListDataCatalogs'); } /** * Grants permission to return a list of databases for a given datacatalog * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListDatabases.html */ toListDatabases() { return this.to('ListDatabases'); } /** * Grants permission to return a list of athena engine versions for the specified AWS account * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListEngineVersions.html */ toListEngineVersions() { return this.to('ListEngineVersions'); } /** * Grants permission to return a list of executors * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListExecutors.html */ toListExecutors() { return this.to('ListExecutors'); } /** * Grants permission to return a list of named queries in Amazon Athena for the specified AWS account * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListNamedQueries.html */ toListNamedQueries() { return this.to('ListNamedQueries'); } /** * Grants permission to return a list of notebooks for a given workgroup * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListNotebookMetadata.html */ toListNotebookMetadata() { return this.to('ListNotebookMetadata'); } /** * Grants permission to return a list of sessions for a given notebook * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListNotebookSessions.html */ toListNotebookSessions() { return this.to('ListNotebookSessions'); } /** * Grants permission to return a list of prepared statements for the specified workgroup * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListPreparedStatements.html */ toListPreparedStatements() { return this.to('ListPreparedStatements'); } /** * Grants permission to return a list of query executions for the specified AWS account * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListQueryExecutions.html */ toListQueryExecutions() { return this.to('ListQueryExecutions'); } /** * Grants permission to return a list of sessions for a given workgroup * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListSessions.html */ toListSessions() { return this.to('ListSessions'); } /** * Grants permission to return a list of table metadata in a database for a given datacatalog * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListTableMetadata.html */ toListTableMetadata() { return this.to('ListTableMetadata'); } /** * Grants permission to return a list of tags for a resource * * Access Level: Read * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to return a list of workgroups for the specified AWS account * * Access Level: List * * https://docs.aws.amazon.com/athena/latest/APIReference/API_ListWorkGroups.html */ toListWorkGroups() { return this.to('ListWorkGroups'); } /** * Grants permission to assign capacity from a capacity reservation to queries * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_PutCapacityAssignmentConfiguration.html */ toPutCapacityAssignmentConfiguration() { return this.to('PutCapacityAssignmentConfiguration'); } /** * Grants permission to run a query. Deprecated. Applies only to AWS services and principals that use Athena JDBC driver earlier than 1.1.0. Use StartQueryExecution otherwise * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_StartQueryExecution.html */ toRunQuery() { return this.to('RunQuery'); } /** * Grants permission to start a calculation execution * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_StartCalculationExecution.html */ toStartCalculationExecution() { return this.to('StartCalculationExecution'); } /** * Grants permission to start a query execution using an SQL query provided as a string * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_StartQueryExecution.html */ toStartQueryExecution() { return this.to('StartQueryExecution'); } /** * Grants permission to start a session * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_StartSession.html */ toStartSession() { return this.to('StartSession'); } /** * Grants permission to stop a calculation execution * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_StopCalculationExecution.html */ toStopCalculationExecution() { return this.to('StopCalculationExecution'); } /** * Grants permission to stop the specified query execution * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_StopQueryExecution.html */ toStopQueryExecution() { return this.to('StopQueryExecution'); } /** * Grants permission to add a tag to a resource * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to terminate a session * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_TerminateSession.html */ toTerminateSession() { return this.to('TerminateSession'); } /** * Grants permission to remove a tag from a resource * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update a capacity reservation * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_UpdateCapacityReservation.html */ toUpdateCapacityReservation() { return this.to('UpdateCapacityReservation'); } /** * Grants permission to update a datacatalog * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_UpdateDataCatalog.html */ toUpdateDataCatalog() { return this.to('UpdateDataCatalog'); } /** * Grants permission to update a named query specified * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_UpdateNamedQuery.html */ toUpdateNamedQuery() { return this.to('UpdateNamedQuery'); } /** * Grants permission to update a notebook * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_UpdateNotebook.html */ toUpdateNotebook() { return this.to('UpdateNotebook'); } /** * Grants permission to update notebook metadata * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_UpdateNotebookMetadata.html */ toUpdateNotebookMetadata() { return this.to('UpdateNotebookMetadata'); } /** * Grants permission to update a prepared statement * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_UpdatePreparedStatement.html */ toUpdatePreparedStatement() { return this.to('UpdatePreparedStatement'); } /** * Grants permission to update a workgroup * * Access Level: Write * * https://docs.aws.amazon.com/athena/latest/APIReference/API_UpdateWorkGroup.html */ toUpdateWorkGroup() { return this.to('UpdateWorkGroup'); } /** * Adds a resource of type capacity-reservation to the statement * * https://docs.aws.amazon.com/athena/latest/ug/example-policies-capacity-reservations.html * * @param capacityReservationName - Identifier for the capacityReservationName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onCapacityReservation(capacityReservationName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:athena:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:capacity-reservation/${capacityReservationName}`); } /** * Adds a resource of type datacatalog to the statement * * https://docs.aws.amazon.com/athena/latest/ug/datacatalogs-example-policies.html * * @param dataCatalogName - Identifier for the dataCatalogName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onDatacatalog(dataCatalogName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:athena:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:datacatalog/${dataCatalogName}`); } /** * Adds a resource of type session to the statement * * https://docs.aws.amazon.com/athena/latest/ug/example-policies-workgroup.html * * @param workGroupName - Identifier for the workGroupName. * @param sessionId - Identifier for the sessionId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onSession(workGroupName, sessionId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:athena:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:workgroup/${workGroupName}/session/${sessionId}`); } /** * Adds a resource of type workgroup to the statement * * https://docs.aws.amazon.com/athena/latest/ug/example-policies-workgroup.html * * @param workGroupName - Identifier for the workGroupName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onWorkgroup(workGroupName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:athena:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:workgroup/${workGroupName}`); } /** * Filters access by the presence of tag key-value pairs in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateCapacityReservation() * - .toCreateDataCatalog() * - .toCreateWorkGroup() * - .toStartSession() * - .toTagResource() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey, value, operator) { return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by the tag key-value pairs attached to the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to actions: * - .toBatchGetNamedQuery() * - .toBatchGetPreparedStatement() * - .toBatchGetQueryExecution() * - .toCancelCapacityReservation() * - .toCancelQueryExecution() * - .toCreateCapacityReservation() * - .toCreateDataCatalog() * - .toCreateNamedQuery() * - .toCreateNotebook() * - .toCreatePreparedStatement() * - .toCreatePresignedNotebookUrl() * - .toCreateWorkGroup() * - .toDeleteCapacityReservation() * - .toDeleteDataCatalog() * - .toDeleteNamedQuery() * - .toDeleteNotebook() * - .toDeletePreparedStatement() * - .toDeleteWorkGroup() * - .toExportNotebook() * - .toGetCalculationExecution() * - .toGetCalculationExecutionCode() * - .toGetCalculationExecutionStatus() * - .toGetCapacityAssignmentConfiguration() * - .toGetCapacityReservation() * - .toGetDataCatalog() * - .toGetDatabase() * - .toGetNamedQuery() * - .toGetNotebookMetadata() * - .toGetPreparedStatement() * - .toGetQueryExecution() * - .toGetQueryResults() * - .toGetQueryResultsStream() * - .toGetQueryRuntimeStatistics() * - .toGetResourceDashboard() * - .toGetSession() * - .toGetSessionEndpoint() * - .toGetSessionStatus() * - .toGetTableMetadata() * - .toGetWorkGroup() * - .toImportNotebook() * - .toListCalculationExecutions() * - .toListDatabases() * - .toListNamedQueries() * - .toListNotebookMetadata() * - .toListNotebookSessions() * - .toListPreparedStatements() * - .toListQueryExecutions() * - .toListSessions() * - .toListTableMetadata() * - .toListTagsForResource() * - .toPutCapacityAssignmentConfiguration() * - .toStartCalculationExecution() * - .toStartQueryExecution() * - .toStartSession() * - .toStopCalculationExecution() * - .toStopQueryExecution() * - .toTagResource() * - .toTerminateSession() * - .toUntagResource() * - .toUpdateCapacityReservation() * - .toUpdateDataCatalog() * - .toUpdateNamedQuery() * - .toUpdateNotebook() * - .toUpdateNotebookMetadata() * - .toUpdatePreparedStatement() * - .toUpdateWorkGroup() * * Applies to resource types: * - capacity-reservation * - datacatalog * - session * - workgroup * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey, value, operator) { return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by the the presence of tag keys in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateCapacityReservation() * - .toCreateDataCatalog() * - .toCreateWorkGroup() * - .toStartSession() * - .toTagResource() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value, operator) { return this.if(`aws:TagKeys`, value, operator ?? 'StringLike'); } /** * Statement provider for service [athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_athena.html). * */ constructor(props) { super(props); this.servicePrefix = 'athena'; this.accessLevelList = { Read: [ 'BatchGetNamedQuery', 'BatchGetPreparedStatement', 'BatchGetQueryExecution', 'GetCalculationExecution', 'GetCalculationExecutionCode', 'GetCalculationExecutionStatus', 'GetCapacityAssignmentConfiguration', 'GetCapacityReservation', 'GetCatalogs', 'GetDataCatalog', 'GetDatabase', 'GetExecutionEngine', 'GetExecutionEngines', 'GetNamedQuery', 'GetNamespace', 'GetNamespaces', 'GetNotebookMetadata', 'GetPreparedStatement', 'GetQueryExecution', 'GetQueryExecutions', 'GetQueryResults', 'GetQueryResultsStream', 'GetQueryRuntimeStatistics', 'GetResourceDashboard', 'GetSession', 'GetSessionStatus', 'GetTable', 'GetTableMetadata', 'GetTables', 'GetWorkGroup', 'ListEngineVersions', 'ListQueryExecutions', 'ListTableMetadata', 'ListTagsForResource' ], Write: [ 'CancelCapacityReservation', 'CancelQueryExecution', 'CreateCapacityReservation', 'CreateDataCatalog', 'CreateNamedQuery', 'CreateNotebook', 'CreatePreparedStatement', 'CreatePresignedNotebookUrl', 'CreateWorkGroup', 'DeleteCapacityReservation', 'DeleteDataCatalog', 'DeleteNamedQuery', 'DeleteNotebook', 'DeletePreparedStatement', 'DeleteWorkGroup', 'ExportNotebook', 'GetSessionEndpoint', 'ImportNotebook', 'PutCapacityAssignmentConfiguration', 'RunQuery', 'StartCalculationExecution', 'StartQueryExecution', 'StartSession', 'StopCalculationExecution', 'StopQueryExecution', 'TagResource', 'TerminateSession', 'UntagResource', 'UpdateCapacityReservation', 'UpdateDataCatalog', 'UpdateNamedQuery', 'UpdateNotebook', 'UpdateNotebookMetadata', 'UpdatePreparedStatement', 'UpdateWorkGroup' ], List: [ 'ListApplicationDPUSizes', 'ListCalculationExecutions', 'ListCapacityReservations', 'ListDataCatalogs', 'ListDatabases', 'ListExecutors', 'ListNamedQueries', 'ListNotebookMetadata', 'ListNotebookSessions', 'ListPreparedStatements', 'ListSessions', 'ListWorkGroups' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Athena = Athena; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRoZW5hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXRoZW5hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxNQUFPLFNBQVEsd0JBQWU7SUFHekM7Ozs7OztPQU1HO0lBQ0ksb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSwyQkFBMkI7UUFDaEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMkJBQTJCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDJCQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JB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