UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,051 lines (1,050 loc) 87 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { CapacityReservationReference, DataCatalogReference, ICapacityReservationRef, IDataCatalogRef, INamedQueryRef, IPreparedStatementRef, IWorkGroupRef, NamedQueryReference, PreparedStatementReference, WorkGroupReference } from "../../interfaces/generated/aws-athena-interfaces.generated"; import { aws_athena as athenaRefs } from "../../interfaces"; /** * Specifies a capacity reservation with the provided name and number of requested data processing units. * * @cloudformationResource AWS::Athena::CapacityReservation * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html */ export declare class CfnCapacityReservation extends cdk.CfnResource implements cdk.IInspectable, ICapacityReservationRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnCapacityReservation from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCapacityReservation; /** * Checks whether the given object is a CfnCapacityReservation */ static isCfnCapacityReservation(x: any): x is CfnCapacityReservation; static arnForCapacityReservation(resource: ICapacityReservationRef): string; /** * Assigns Athena workgroups (and hence their queries) to capacity reservations. */ private _capacityAssignmentConfiguration?; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The name of the capacity reservation. */ private _name; /** * An array of key-value pairs to apply to the capacity reservation. */ private _tags?; /** * The number of data processing units requested. */ private _targetDpus; /** * Create a new `AWS::Athena::CapacityReservation`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnCapacityReservationProps); get capacityReservationRef(): CapacityReservationReference; /** * Assigns Athena workgroups (and hence their queries) to capacity reservations. */ get capacityAssignmentConfiguration(): CfnCapacityReservation.CapacityAssignmentConfigurationProperty | cdk.IResolvable | undefined; /** * Assigns Athena workgroups (and hence their queries) to capacity reservations. */ set capacityAssignmentConfiguration(value: CfnCapacityReservation.CapacityAssignmentConfigurationProperty | cdk.IResolvable | undefined); /** * The name of the capacity reservation. */ get name(): string; /** * The name of the capacity reservation. */ set name(value: string); /** * An array of key-value pairs to apply to the capacity reservation. */ get tags(): Array<cdk.CfnTag> | undefined; /** * An array of key-value pairs to apply to the capacity reservation. */ set tags(value: Array<cdk.CfnTag> | undefined); /** * The number of data processing units requested. */ get targetDpus(): number; /** * The number of data processing units requested. */ set targetDpus(value: number); /** * The number of data processing units currently allocated. * * @cloudformationAttribute AllocatedDpus */ get attrAllocatedDpus(): number; /** * The ARN of the capacity reservation. * * @cloudformationAttribute Arn */ get attrArn(): string; /** * The time in UTC epoch millis when the capacity reservation was created. * * @cloudformationAttribute CreationTime */ get attrCreationTime(): string; /** * The time of the most recent capacity allocation that succeeded. * * @cloudformationAttribute LastSuccessfulAllocationTime */ get attrLastSuccessfulAllocationTime(): string; /** * The status of the capacity reservation. * * @cloudformationAttribute Status */ get attrStatus(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnCapacityReservation { /** * Assigns Athena workgroups (and hence their queries) to capacity reservations. * * A capacity reservation can have only one capacity assignment configuration, but the capacity assignment configuration can be made up of multiple individual assignments. Each assignment specifies how Athena queries can consume capacity from the capacity reservation that their workgroup is mapped to. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignmentconfiguration.html */ interface CapacityAssignmentConfigurationProperty { /** * The list of assignments that make up the capacity assignment configuration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignmentconfiguration.html#cfn-athena-capacityreservation-capacityassignmentconfiguration-capacityassignments */ readonly capacityAssignments: Array<CfnCapacityReservation.CapacityAssignmentProperty | cdk.IResolvable> | cdk.IResolvable; } /** * A mapping between one or more workgroups and a capacity reservation. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignment.html */ interface CapacityAssignmentProperty { /** * The list of workgroup names for the capacity assignment. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignment.html#cfn-athena-capacityreservation-capacityassignment-workgroupnames */ readonly workgroupNames: Array<string>; } } /** * Properties for defining a `CfnCapacityReservation` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html */ export interface CfnCapacityReservationProps { /** * Assigns Athena workgroups (and hence their queries) to capacity reservations. * * A capacity reservation can have only one capacity assignment configuration, but the capacity assignment configuration can be made up of multiple individual assignments. Each assignment specifies how Athena queries can consume capacity from the capacity reservation that their workgroup is mapped to. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-capacityassignmentconfiguration */ readonly capacityAssignmentConfiguration?: CfnCapacityReservation.CapacityAssignmentConfigurationProperty | cdk.IResolvable; /** * The name of the capacity reservation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-name */ readonly name: string; /** * An array of key-value pairs to apply to the capacity reservation. * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-tags */ readonly tags?: Array<cdk.CfnTag>; /** * The number of data processing units requested. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-targetdpus */ readonly targetDpus: number; } /** * The AWS::Athena::DataCatalog resource specifies an Amazon Athena data catalog, which contains a name, description, type, parameters, and tags. * * For more information, see [DataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html) in the *Amazon Athena API Reference* . * * @cloudformationResource AWS::Athena::DataCatalog * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html */ export declare class CfnDataCatalog extends cdk.CfnResource implements cdk.IInspectable, IDataCatalogRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDataCatalog from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDataCatalog; /** * Checks whether the given object is a CfnDataCatalog */ static isCfnDataCatalog(x: any): x is CfnDataCatalog; /** * Creates a new IDataCatalogRef from a dataCatalogName */ static fromDataCatalogName(scope: constructs.Construct, id: string, dataCatalogName: string): IDataCatalogRef; static arnForDataCatalog(resource: IDataCatalogRef): string; /** * The type of connection for a `FEDERATED` data catalog (for example, `REDSHIFT` , `MYSQL` , or `SQLSERVER` ). */ private _connectionType?; /** * A description of the data catalog. */ private _description?; /** * Text of the error that occurred during data catalog creation or deletion. */ private _error?; /** * The name of the data catalog. */ private _name; /** * Specifies the Lambda function or functions to use for creating the data catalog. */ private _parameters?; /** * The status of the creation or deletion of the data catalog. */ private _status?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tags (key-value pairs) to associate with this resource. */ private _tagsRaw?; /** * The type of data catalog: `LAMBDA` for a federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore. */ private _type; /** * Create a new `AWS::Athena::DataCatalog`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnDataCatalogProps); get dataCatalogRef(): DataCatalogReference; /** * The type of connection for a `FEDERATED` data catalog (for example, `REDSHIFT` , `MYSQL` , or `SQLSERVER` ). */ get connectionType(): string | undefined; /** * The type of connection for a `FEDERATED` data catalog (for example, `REDSHIFT` , `MYSQL` , or `SQLSERVER` ). */ set connectionType(value: string | undefined); /** * A description of the data catalog. */ get description(): string | undefined; /** * A description of the data catalog. */ set description(value: string | undefined); /** * Text of the error that occurred during data catalog creation or deletion. */ get error(): string | undefined; /** * Text of the error that occurred during data catalog creation or deletion. */ set error(value: string | undefined); /** * The name of the data catalog. */ get name(): string; /** * The name of the data catalog. */ set name(value: string); /** * Specifies the Lambda function or functions to use for creating the data catalog. */ get parameters(): cdk.IResolvable | Record<string, string> | undefined; /** * Specifies the Lambda function or functions to use for creating the data catalog. */ set parameters(value: cdk.IResolvable | Record<string, string> | undefined); /** * The status of the creation or deletion of the data catalog. */ get status(): string | undefined; /** * The status of the creation or deletion of the data catalog. */ set status(value: string | undefined); /** * The tags (key-value pairs) to associate with this resource. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * The tags (key-value pairs) to associate with this resource. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The type of data catalog: `LAMBDA` for a federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore. */ get type(): string; /** * The type of data catalog: `LAMBDA` for a federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore. */ set type(value: string); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnDataCatalog` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html */ export interface CfnDataCatalogProps { /** * The type of connection for a `FEDERATED` data catalog (for example, `REDSHIFT` , `MYSQL` , or `SQLSERVER` ). * * For information about individual connectors, see [Available data source connectors](https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-connectiontype */ readonly connectionType?: string; /** * A description of the data catalog. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-description */ readonly description?: string; /** * Text of the error that occurred during data catalog creation or deletion. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-error */ readonly error?: string; /** * The name of the data catalog. * * The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-name */ readonly name: string; /** * Specifies the Lambda function or functions to use for creating the data catalog. * * This is a mapping whose values depend on the catalog type. * * - For the `HIVE` data catalog type, use the following syntax. The `metadata-function` parameter is required. `The sdk-version` parameter is optional and defaults to the currently supported version. * * `metadata-function= *lambda_arn* , sdk-version= *version_number*` * - For the `LAMBDA` data catalog type, use one of the following sets of required parameters, but not both. * * - If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required. * * `metadata-function= *lambda_arn* , record-function= *lambda_arn*` * - If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function. * * `function= *lambda_arn*` * - The `GLUE` type takes a catalog ID parameter and is required. The `*catalog_id*` is the account ID of the AWS account to which the AWS Glue Data Catalog belongs. * * `catalog-id= *catalog_id*` * * - The `GLUE` data catalog type also applies to the default `AwsDataCatalog` that already exists in your account, of which you can have only one and cannot modify. * - The `FEDERATED` data catalog type uses one of the following parameters, but not both. Use `connection-arn` for an existing AWS Glue connection. Use `connection-type` and `connection-properties` to specify the configuration setting for a new connection. * * - `connection-arn: *<glue_connection_arn_to_reuse>*` * - `lambda-role-arn` (optional): The execution role to use for the Lambda function. If not provided, one is created. * - `connection-type:MYSQL|REDSHIFT|...., connection-properties:" *<json_string>* "` * * For *`<json_string>`* , use escaped JSON text, as in the following example. * * `"{\"spill_bucket\":\"my_spill\",\"spill_prefix\":\"athena-spill\",\"host\":\"abc12345.snowflakecomputing.com\",\"port\":\"1234\",\"warehouse\":\"DEV_WH\",\"database\":\"TEST\",\"schema\":\"PUBLIC\",\"SecretArn\":\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\"}"` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-parameters */ readonly parameters?: cdk.IResolvable | Record<string, string>; /** * The status of the creation or deletion of the data catalog. * * - The `LAMBDA` , `GLUE` , and `HIVE` data catalog types are created synchronously. Their status is either `CREATE_COMPLETE` or `CREATE_FAILED` . * - The `FEDERATED` data catalog type is created asynchronously. * * Data catalog creation status: * * - `CREATE_IN_PROGRESS` : Federated data catalog creation in progress. * - `CREATE_COMPLETE` : Data catalog creation complete. * - `CREATE_FAILED` : Data catalog could not be created. * - `CREATE_FAILED_CLEANUP_IN_PROGRESS` : Federated data catalog creation failed and is being removed. * - `CREATE_FAILED_CLEANUP_COMPLETE` : Federated data catalog creation failed and was removed. * - `CREATE_FAILED_CLEANUP_FAILED` : Federated data catalog creation failed but could not be removed. * * Data catalog deletion status: * * - `DELETE_IN_PROGRESS` : Federated data catalog deletion in progress. * - `DELETE_COMPLETE` : Federated data catalog deleted. * - `DELETE_FAILED` : Federated data catalog could not be deleted. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-status */ readonly status?: string; /** * The tags (key-value pairs) to associate with this resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-tags */ readonly tags?: Array<cdk.CfnTag>; /** * The type of data catalog: `LAMBDA` for a federated catalog, `GLUE` for AWS Glue Catalog, or `HIVE` for an external hive metastore. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-type */ readonly type: string; } /** * The `AWS::Athena::NamedQuery` resource specifies an Amazon Athena saved query, where `QueryString` contains the SQL query statements that make up the query. * * @cloudformationResource AWS::Athena::NamedQuery * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html */ export declare class CfnNamedQuery extends cdk.CfnResource implements cdk.IInspectable, INamedQueryRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnNamedQuery from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnNamedQuery; /** * Checks whether the given object is a CfnNamedQuery */ static isCfnNamedQuery(x: any): x is CfnNamedQuery; /** * The database to which the query belongs. */ private _database; /** * The query description. */ private _description?; /** * The query name. */ private _name?; /** * The SQL statements that make up the query. */ private _queryString; /** * The name of the workgroup that contains the named query. */ private _workGroup?; /** * Create a new `AWS::Athena::NamedQuery`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnNamedQueryProps); get namedQueryRef(): NamedQueryReference; /** * The database to which the query belongs. */ get database(): string; /** * The database to which the query belongs. */ set database(value: string); /** * The query description. */ get description(): string | undefined; /** * The query description. */ set description(value: string | undefined); /** * The query name. */ get name(): string | undefined; /** * The query name. */ set name(value: string | undefined); /** * The SQL statements that make up the query. */ get queryString(): string; /** * The SQL statements that make up the query. */ set queryString(value: string); /** * The name of the workgroup that contains the named query. */ get workGroup(): string | undefined; /** * The name of the workgroup that contains the named query. */ set workGroup(value: string | undefined); /** * The unique ID of the query. * * @cloudformationAttribute NamedQueryId */ get attrNamedQueryId(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnNamedQuery` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html */ export interface CfnNamedQueryProps { /** * The database to which the query belongs. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-database */ readonly database: string; /** * The query description. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-description */ readonly description?: string; /** * The query name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-name */ readonly name?: string; /** * The SQL statements that make up the query. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-querystring */ readonly queryString: string; /** * The name of the workgroup that contains the named query. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-workgroup */ readonly workGroup?: athenaRefs.IWorkGroupRef | string; } /** * Specifies a prepared statement for use with SQL queries in Athena. * * @cloudformationResource AWS::Athena::PreparedStatement * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html */ export declare class CfnPreparedStatement extends cdk.CfnResource implements cdk.IInspectable, IPreparedStatementRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnPreparedStatement from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPreparedStatement; /** * Checks whether the given object is a CfnPreparedStatement */ static isCfnPreparedStatement(x: any): x is CfnPreparedStatement; /** * The description of the prepared statement. */ private _description?; /** * The query string for the prepared statement. */ private _queryStatement; /** * The name of the prepared statement. */ private _statementName; /** * The workgroup to which the prepared statement belongs. */ private _workGroup; /** * Create a new `AWS::Athena::PreparedStatement`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnPreparedStatementProps); get preparedStatementRef(): PreparedStatementReference; /** * The description of the prepared statement. */ get description(): string | undefined; /** * The description of the prepared statement. */ set description(value: string | undefined); /** * The query string for the prepared statement. */ get queryStatement(): string; /** * The query string for the prepared statement. */ set queryStatement(value: string); /** * The name of the prepared statement. */ get statementName(): string; /** * The name of the prepared statement. */ set statementName(value: string); /** * The workgroup to which the prepared statement belongs. */ get workGroup(): string; /** * The workgroup to which the prepared statement belongs. */ set workGroup(value: string); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnPreparedStatement` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html */ export interface CfnPreparedStatementProps { /** * The description of the prepared statement. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html#cfn-athena-preparedstatement-description */ readonly description?: string; /** * The query string for the prepared statement. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html#cfn-athena-preparedstatement-querystatement */ readonly queryStatement: string; /** * The name of the prepared statement. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html#cfn-athena-preparedstatement-statementname */ readonly statementName: string; /** * The workgroup to which the prepared statement belongs. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html#cfn-athena-preparedstatement-workgroup */ readonly workGroup: athenaRefs.IWorkGroupRef | string; } /** * The AWS::Athena::WorkGroup resource specifies an Amazon Athena workgroup, which contains a name, description, creation time, state, and other configuration, listed under `WorkGroupConfiguration` . * * Each workgroup enables you to isolate queries for you or your group from other queries in the same account. For more information, see [CreateWorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateWorkGroup.html) in the *Amazon Athena API Reference* . * * @cloudformationResource AWS::Athena::WorkGroup * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html */ export declare class CfnWorkGroup extends cdk.CfnResource implements cdk.IInspectable, IWorkGroupRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnWorkGroup from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnWorkGroup; /** * Checks whether the given object is a CfnWorkGroup */ static isCfnWorkGroup(x: any): x is CfnWorkGroup; /** * Creates a new IWorkGroupRef from a workGroupName */ static fromWorkGroupName(scope: constructs.Construct, id: string, workGroupName: string): IWorkGroupRef; static arnForWorkGroup(resource: IWorkGroupRef): string; /** * The workgroup description. */ private _description?; /** * The workgroup name. */ private _name; /** * The option to delete a workgroup and its contents even if the workgroup contains any named queries. */ private _recursiveDeleteOption?; /** * The state of the workgroup: ENABLED or DISABLED. */ private _state?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tags (key-value pairs) to associate with this resource. */ private _tagsRaw?; /** * The configuration of the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether Amazon CloudWatch Metrics are enabled for the workgroup, and the limit for the amount of bytes scanned (cutoff) per query, if it is specified. */ private _workGroupConfiguration?; /** * The configuration information that will be updated for this workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, whether the workgroup settings override the client-side settings, and the data usage limit for the amount of bytes scanned per query, if it is specified. * * @deprecated this property has been deprecated */ private _workGroupConfigurationUpdates?; /** * Create a new `AWS::Athena::WorkGroup`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnWorkGroupProps); get workGroupRef(): WorkGroupReference; /** * The workgroup description. */ get description(): string | undefined; /** * The workgroup description. */ set description(value: string | undefined); /** * The workgroup name. */ get name(): string; /** * The workgroup name. */ set name(value: string); /** * The option to delete a workgroup and its contents even if the workgroup contains any named queries. */ get recursiveDeleteOption(): boolean | cdk.IResolvable | undefined; /** * The option to delete a workgroup and its contents even if the workgroup contains any named queries. */ set recursiveDeleteOption(value: boolean | cdk.IResolvable | undefined); /** * The state of the workgroup: ENABLED or DISABLED. */ get state(): string | undefined; /** * The state of the workgroup: ENABLED or DISABLED. */ set state(value: string | undefined); /** * The tags (key-value pairs) to associate with this resource. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * The tags (key-value pairs) to associate with this resource. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The configuration of the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether Amazon CloudWatch Metrics are enabled for the workgroup, and the limit for the amount of bytes scanned (cutoff) per query, if it is specified. */ get workGroupConfiguration(): cdk.IResolvable | CfnWorkGroup.WorkGroupConfigurationProperty | undefined; /** * The configuration of the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether Amazon CloudWatch Metrics are enabled for the workgroup, and the limit for the amount of bytes scanned (cutoff) per query, if it is specified. */ set workGroupConfiguration(value: cdk.IResolvable | CfnWorkGroup.WorkGroupConfigurationProperty | undefined); /** * The configuration information that will be updated for this workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, whether the workgroup settings override the client-side settings, and the data usage limit for the amount of bytes scanned per query, if it is specified. * * @deprecated this property has been deprecated */ get workGroupConfigurationUpdates(): cdk.IResolvable | CfnWorkGroup.WorkGroupConfigurationUpdatesProperty | undefined; /** * The configuration information that will be updated for this workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, whether the workgroup settings override the client-side settings, and the data usage limit for the amount of bytes scanned per query, if it is specified. * * @deprecated this property has been deprecated */ set workGroupConfigurationUpdates(value: cdk.IResolvable | CfnWorkGroup.WorkGroupConfigurationUpdatesProperty | undefined); /** * The date and time the workgroup was created, as a UNIX timestamp in seconds. For example: `1582761016` . * * @cloudformationAttribute CreationTime */ get attrCreationTime(): string; /** * Read only. The engine version on which the query runs. If the user requests a valid engine version other than Auto, the effective engine version is the same as the engine version that the user requested. If the user requests Auto, the effective engine version is chosen by Athena. When a request to update the engine version is made by a CreateWorkGroup or UpdateWorkGroup operation, the EffectiveEngineVersion field is ignored. * * @cloudformationAttribute WorkGroupConfiguration.EngineVersion.EffectiveEngineVersion */ get attrWorkGroupConfigurationEngineVersionEffectiveEngineVersion(): string; /** * Read only. The engine version on which the query runs. If the user requests a valid engine version other than Auto, the effective engine version is the same as the engine version that the user requested. If the user requests Auto, the effective engine version is chosen by Athena. When a request to update the engine version is made by a `CreateWorkGroup` or `UpdateWorkGroup` operation, the `EffectiveEngineVersion` field is ignored. * * @cloudformationAttribute WorkGroupConfigurationUpdates.EngineVersion.EffectiveEngineVersion */ get attrWorkGroupConfigurationUpdatesEngineVersionEffectiveEngineVersion(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnWorkGroup { /** * The configuration of the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether Amazon CloudWatch Metrics are enabled for the workgroup, and the limit for the amount of bytes scanned (cutoff) per query, if it is specified. * * The `EnforceWorkGroupConfiguration` option determines whether workgroup settings override client-side query settings. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html */ interface WorkGroupConfigurationProperty { /** * Specifies a user defined JSON string that is passed to the session engine. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-additionalconfiguration */ readonly additionalConfiguration?: string; /** * The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. * * No default is defined. * * > This property currently supports integer types. Support for long values is planned. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-bytesscannedcutoffperquery */ readonly bytesScannedCutoffPerQuery?: number; /** * Specifies the KMS key that is used to encrypt the user's data stores in Athena. * * This setting does not apply to Athena SQL workgroups. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-customercontentencryptionconfiguration */ readonly customerContentEncryptionConfiguration?: CfnWorkGroup.CustomerContentEncryptionConfigurationProperty | cdk.IResolvable; /** * If set to "true", the settings for the workgroup override client-side settings. * * If set to "false", client-side settings are used. For more information, see [Override client-side settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-enforceworkgroupconfiguration */ readonly enforceWorkGroupConfiguration?: boolean | cdk.IResolvable; /** * The engine configuration for running queries. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-engineconfiguration */ readonly engineConfiguration?: CfnWorkGroup.EngineConfigurationProperty | cdk.IResolvable; /** * The engine version that all queries running on the workgroup use. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-engineversion */ readonly engineVersion?: CfnWorkGroup.EngineVersionProperty | cdk.IResolvable; /** * Role used to access user resources in an Athena for Apache Spark session. * * This property applies only to Spark-enabled workgroups in Athena. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-executionrole */ readonly executionRole?: string; /** * The configuration for storing results in Athena owned storage, which includes whether this feature is enabled; * * whether encryption configuration, if any, is used for encrypting query results. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-managedqueryresultsconfiguration */ readonly managedQueryResultsConfiguration?: cdk.IResolvable | CfnWorkGroup.ManagedQueryResultsConfigurationProperty; /** * Contains the configuration settings for managed log persistence, delivering logs to Amazon S3 buckets, Amazon CloudWatch log groups etc. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-monitoringconfiguration */ readonly monitoringConfiguration?: cdk.IResolvable | CfnWorkGroup.MonitoringConfigurationProperty; /** * Indicates that the Amazon CloudWatch metrics are enabled for the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-publishcloudwatchmetricsenabled */ readonly publishCloudWatchMetricsEnabled?: boolean | cdk.IResolvable; /** * If set to `true` , allows members assigned to a workgroup to reference Amazon S3 Requester Pays buckets in queries. * * If set to `false` , workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is `false` . For more information about Requester Pays buckets, see [Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) in the *Amazon Simple Storage Service Developer Guide* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-requesterpaysenabled */ readonly requesterPaysEnabled?: boolean | cdk.IResolvable; /** * Specifies the location in Amazon S3 where query results are stored and the encryption option, if any, used for query results. * * For more information, see [Work with query results and recent queries](https://docs.aws.amazon.com/athena/latest/ug/querying.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-resultconfiguration */ readonly resultConfiguration?: cdk.IResolvable | CfnWorkGroup.ResultConfigurationProperty; } /** * The Athena engine version for running queries, or the PySpark engine version for running sessions. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html */ interface EngineVersionProperty { /** * Read only. * * The engine version on which the query runs. If the user requests a valid engine version other than Auto, the effective engine version is the same as the engine version that the user requested. If the user requests Auto, the effective engine version is chosen by Athena. When a request to update the engine version is made by a `CreateWorkGroup` or `UpdateWorkGroup` operation, the `EffectiveEngineVersion` field is ignored. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html#cfn-athena-workgroup-engineversion-effectiveengineversion */ readonly effectiveEngineVersion?: string; /** * The engine version requested by the user. * * Possible values are determined by the output of `ListEngineVersions` , including AUTO. The default is AUTO. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html#cfn-athena-workgroup-engineversion-selectedengineversion */ readonly selectedEngineVersion?: string; } /** * The location in Amazon S3 where query and calculation results are stored and the encryption option, if any, used for query and calculation results. * * These are known as "client-side settings". If workgroup settings override client-side settings, then the query uses the workgroup settings. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html */ interface ResultConfigurationProperty { /** * Indicates that an Amazon S3 canned ACL should be set to control ownership of stored query results. * * Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . This is a client-side setting. If workgroup settings override client-side settings, then the query uses the ACL configuration that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See `EnforceWorkGroupConfiguration` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-aclconfiguration */ readonly aclConfiguration?: CfnWorkGroup.AclConfigurationProperty | cdk.IResolvable; /** * If query results are encrypted in Amazon S3, indicates the encryption option used (for example, `SSE_KMS` or `CSE_KMS` ) and key information. * * This is a client-side setting. If workgroup settings override client-side settings, then the query uses the encryption configuration that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See `EnforceWorkGroupConfiguration` and [Override client-side settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-encryptionconfiguration */ readonly encryptionConfiguration?: CfnWorkGroup.EncryptionConfigurationProperty | cdk.IResolvable; /**