UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

539 lines (538 loc) 17.9 kB
import { AccessLevelList } from '../../shared/access-level'; import { PolicyStatement, Operator } from '../../shared'; import { aws_iam as iam } from "aws-cdk-lib"; /** * Statement provider for service [timestream](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontimestream.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class Timestream extends PolicyStatement { servicePrefix: string; /** * Grants permission to cancel queries in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_query_CancelQuery.html */ toCancelQuery(): this; /** * Grants permission to create a batch load task in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * - timestream:WriteRecords * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_CreateBatchLoadTask.html */ toCreateBatchLoadTask(): this; /** * Grants permission to create a database in your account * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_CreateDatabase.html */ toCreateDatabase(): this; /** * Grants permission to create a scheduled query in your account * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - iam:PassRole * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_CreateScheduledQuery.html */ toCreateScheduledQuery(): this; /** * Grants permission to create a table in your account * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_CreateTable.html */ toCreateTable(): this; /** * Grants permission to delete a database in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_DeleteDatabase.html */ toDeleteDatabase(): this; /** * Grants permission to delete a scheduled query in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_DeleteScheduledQuery.html */ toDeleteScheduledQuery(): this; /** * Grants permission to delete a table in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_DeleteTable.html */ toDeleteTable(): this; /** * Grants permission to describe your account settings * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_query_DescribeAccountSettings.html */ toDescribeAccountSettings(): this; /** * Grants permission to describe a batch load task in your account * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeBatchLoadTask.html */ toDescribeBatchLoadTask(): this; /** * Grants permission to describe a database in your account * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeDatabase.html */ toDescribeDatabase(): this; /** * Grants permission to describe timestream endpoints * * Access Level: List * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeEndpoints.html */ toDescribeEndpoints(): this; /** * Grants permission to describe a scheduled query in your account * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeScheduledQuery.html */ toDescribeScheduledQuery(): this; /** * Grants permission to describe a table in your account * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeTable.html */ toDescribeTable(): this; /** * Grants permission to execute a scheduled query in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_ExecuteScheduledQuery.html */ toExecuteScheduledQuery(): this; /** * Grants permission to get Status of a Timestream Table Backup * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/backups.html */ toGetAwsBackupStatus(): this; /** * Grants permission to get Status of a Timestream Table Restore * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/backups.html */ toGetAwsRestoreStatus(): this; /** * Grants permission to list batch load tasks in your account * * Access Level: List * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_ListBatchLoadTasks.html */ toListBatchLoadTasks(): this; /** * Grants permission to list databases in your account * * Access Level: List * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_ListDatabases.html */ toListDatabases(): this; /** * Grants permission to list measures of a table in your account * * Access Level: List * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_query_Query.html */ toListMeasures(): this; /** * Grants permission to list scheduled queries in your account * * Access Level: List * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_ListScheduledQueries.html */ toListScheduledQueries(): this; /** * Grants permission to list tables in your account * * Access Level: List * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_ListTables.html */ toListTables(): this; /** * Grants permission to list tags of a resource in your account * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to issue prepare queries * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * - timestream:Select * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_query_PrepareQuery.html */ toPrepareQuery(): this; /** * Grants permission to resume a batch load task in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * - timestream:WriteRecords * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_ResumeBatchLoadTask.html */ toResumeBatchLoadTask(): this; /** * Grants permission to issue 'select from table' queries * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_query_Query.html */ toSelect(): this; /** * Grants permission to issue 'select 1' queries * * Access Level: Read * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_query_Query.html */ toSelectValues(): this; /** * Grants permission to start a Backup Job for a Timestream Table * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/backups.html */ toStartAwsBackupJob(): this; /** * Grants permission to start Restore Job for a Backup of Timestream Table * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/backups.html */ toStartAwsRestoreJob(): this; /** * Grants permission to add tags to a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_TagResource.html */ toTagResource(): this; /** * Grants permission to issue Unload queries * * Access Level: Write * * Dependent actions: * - s3:AbortMultipartUpload * - s3:GetObject * - s3:PutObject * - timestream:DescribeEndpoints * - timestream:Select * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_query_Query.html */ toUnload(): this; /** * Grants permission to remove a tag from a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to update your account settings * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_query_UpdateAccountSettings.html */ toUpdateAccountSettings(): this; /** * Grants permission to update a database in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_UpdateDatabase.html */ toUpdateDatabase(): this; /** * Grants permission to update a scheduled query in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_UpdateScheduledQuery.html */ toUpdateScheduledQuery(): this; /** * Grants permission to update a table in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_UpdateTable.html */ toUpdateTable(): this; /** * Grants permission to ingest data to a table in your account * * Access Level: Write * * Dependent actions: * - timestream:DescribeEndpoints * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_WriteRecords.html */ toWriteRecords(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type database to the statement * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_Database.html * * @param databaseName - Identifier for the databaseName. * @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() */ onDatabase(databaseName: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type table to the statement * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_Table.html * * @param databaseName - Identifier for the databaseName. * @param tableName - Identifier for the tableName. * @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() */ onTable(databaseName: string, tableName: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type scheduled-query to the statement * * https://docs.aws.amazon.com/timestream/latest/developerguide/API_ScheduledQuery.html * * @param scheduledQueryName - Identifier for the scheduledQueryName. * @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() */ onScheduledQuery(scheduledQueryName: string, account?: string, region?: string, partition?: string): this; /** * Filters access by the presence of tag key-value pairs in the request * * https://docs.aws.amazon.com/timestream/latest/developerguide/security_iam_service-with-iam.html#security_iam_service-with-iam-tags * * Applies to actions: * - .toCreateDatabase() * - .toCreateScheduledQuery() * - .toCreateTable() * - .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: string, value: string | string[], operator?: Operator | string): this; /** * Filters access by tag key-value pairs attached to the resource * * https://docs.aws.amazon.com/timestream/latest/developerguide/security_iam_service-with-iam.html#security_iam_service-with-iam-tags * * Applies to resource types: * - database * - table * - scheduled-query * * @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: string, value: string | string[], operator?: Operator | string): this; /** * Filters access by the presence of tag keys in the request * * https://docs.aws.amazon.com/timestream/latest/developerguide/security_iam_service-with-iam.html#security_iam_service-with-iam-tags * * Applies to actions: * - .toCreateDatabase() * - .toCreateScheduledQuery() * - .toCreateTable() * - .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: string | string[], operator?: Operator | string): this; /** * Statement provider for service [timestream](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontimestream.html). * */ constructor(props?: iam.PolicyStatementProps); }