UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,142 lines 68.6 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { aws_ec2 as ec2Refs, aws_iam as iamRefs, aws_kms as kmsRefs } from "../../interfaces"; import { INamespaceRef, ISnapshotRef, IWorkgroupRef, NamespaceReference, SnapshotReference, WorkgroupReference } from "../../interfaces/generated/aws-redshiftserverless-interfaces.generated"; /** * A collection of database objects and users. * * @cloudformationResource AWS::RedshiftServerless::Namespace * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html */ export declare class CfnNamespace extends cdk.CfnResource implements cdk.IInspectable, INamespaceRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnNamespace 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): CfnNamespace; /** * Checks whether the given object is a CfnNamespace */ static isCfnNamespace(x: any): x is CfnNamespace; /** * The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. */ private _adminPasswordSecretKmsKeyId?; /** * The username of the administrator for the primary database created in the namespace. */ private _adminUsername?; /** * The password of the administrator for the primary database created in the namespace. */ private _adminUserPassword?; /** * The name of the primary database created in the namespace. */ private _dbName?; /** * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. */ private _defaultIamRoleArn?; /** * The name of the snapshot to be created before the namespace is deleted. */ private _finalSnapshotName?; /** * How long to retain the final snapshot. */ private _finalSnapshotRetentionPeriod?; /** * A list of IAM roles to associate with the namespace. */ private _iamRoles?; /** * The ID of the AWS Key Management Service key used to encrypt your data. */ private _kmsKeyId?; /** * The types of logs the namespace can export. */ private _logExports?; /** * If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. */ private _manageAdminPassword?; /** * The name of the namespace. */ private _namespaceName; /** * The resource policy that will be attached to the namespace. */ private _namespaceResourcePolicy?; /** * The ARN for the Redshift application that integrates with IAM Identity Center. */ private _redshiftIdcApplicationArn?; /** * The snapshot copy configurations for the namespace. */ private _snapshotCopyConfigurations?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The map of the key-value pairs used to tag the namespace. */ private _tagsRaw?; /** * Create a new `AWS::RedshiftServerless::Namespace`. * * @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: CfnNamespaceProps); get namespaceRef(): NamespaceReference; /** * The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. */ get adminPasswordSecretKmsKeyId(): string | undefined; /** * The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. */ set adminPasswordSecretKmsKeyId(value: string | undefined); /** * The username of the administrator for the primary database created in the namespace. */ get adminUsername(): string | undefined; /** * The username of the administrator for the primary database created in the namespace. */ set adminUsername(value: string | undefined); /** * The password of the administrator for the primary database created in the namespace. */ get adminUserPassword(): string | undefined; /** * The password of the administrator for the primary database created in the namespace. */ set adminUserPassword(value: string | undefined); /** * The name of the primary database created in the namespace. */ get dbName(): string | undefined; /** * The name of the primary database created in the namespace. */ set dbName(value: string | undefined); /** * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. */ get defaultIamRoleArn(): string | undefined; /** * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. */ set defaultIamRoleArn(value: string | undefined); /** * The name of the snapshot to be created before the namespace is deleted. */ get finalSnapshotName(): string | undefined; /** * The name of the snapshot to be created before the namespace is deleted. */ set finalSnapshotName(value: string | undefined); /** * How long to retain the final snapshot. */ get finalSnapshotRetentionPeriod(): number | undefined; /** * How long to retain the final snapshot. */ set finalSnapshotRetentionPeriod(value: number | undefined); /** * A list of IAM roles to associate with the namespace. */ get iamRoles(): Array<string> | undefined; /** * A list of IAM roles to associate with the namespace. */ set iamRoles(value: Array<string> | undefined); /** * The ID of the AWS Key Management Service key used to encrypt your data. */ get kmsKeyId(): string | undefined; /** * The ID of the AWS Key Management Service key used to encrypt your data. */ set kmsKeyId(value: string | undefined); /** * The types of logs the namespace can export. */ get logExports(): Array<string> | undefined; /** * The types of logs the namespace can export. */ set logExports(value: Array<string> | undefined); /** * If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. */ get manageAdminPassword(): boolean | cdk.IResolvable | undefined; /** * If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. */ set manageAdminPassword(value: boolean | cdk.IResolvable | undefined); /** * The name of the namespace. */ get namespaceName(): string; /** * The name of the namespace. */ set namespaceName(value: string); /** * The resource policy that will be attached to the namespace. */ get namespaceResourcePolicy(): any | cdk.IResolvable | undefined; /** * The resource policy that will be attached to the namespace. */ set namespaceResourcePolicy(value: any | cdk.IResolvable | undefined); /** * The ARN for the Redshift application that integrates with IAM Identity Center. */ get redshiftIdcApplicationArn(): string | undefined; /** * The ARN for the Redshift application that integrates with IAM Identity Center. */ set redshiftIdcApplicationArn(value: string | undefined); /** * The snapshot copy configurations for the namespace. */ get snapshotCopyConfigurations(): Array<cdk.IResolvable | CfnNamespace.SnapshotCopyConfigurationProperty> | cdk.IResolvable | undefined; /** * The snapshot copy configurations for the namespace. */ set snapshotCopyConfigurations(value: Array<cdk.IResolvable | CfnNamespace.SnapshotCopyConfigurationProperty> | cdk.IResolvable | undefined); /** * The map of the key-value pairs used to tag the namespace. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * The map of the key-value pairs used to tag the namespace. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * @cloudformationAttribute Namespace */ get attrNamespace(): cdk.IResolvable; /** * The username of the administrator for the first database created in the namespace. * * @cloudformationAttribute Namespace.AdminUsername */ get attrNamespaceAdminUsername(): string; /** * The date of when the namespace was created. * * @cloudformationAttribute Namespace.CreationDate */ get attrNamespaceCreationDate(): string; /** * The name of the first database created in the namespace. * * @cloudformationAttribute Namespace.DbName */ get attrNamespaceDbName(): string; /** * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. * * @cloudformationAttribute Namespace.DefaultIamRoleArn */ get attrNamespaceDefaultIamRoleArn(): string; /** * A list of IAM roles to associate with the namespace. * * @cloudformationAttribute Namespace.IamRoles */ get attrNamespaceIamRoles(): Array<string>; /** * The ID of the AWS Key Management Service key used to encrypt your data. * * @cloudformationAttribute Namespace.KmsKeyId */ get attrNamespaceKmsKeyId(): string; /** * The types of logs the namespace can export. Available export types are `User log` , `Connection log` , and `User activity log` . * * @cloudformationAttribute Namespace.LogExports */ get attrNamespaceLogExports(): Array<string>; /** * The Amazon Resource Name (ARN) associated with a namespace. * * @cloudformationAttribute Namespace.NamespaceArn */ get attrNamespaceNamespaceArn(): string; /** * The unique identifier of a namespace. * * @cloudformationAttribute Namespace.NamespaceId */ get attrNamespaceNamespaceId(): string; /** * The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide. * * @cloudformationAttribute Namespace.NamespaceName */ get attrNamespaceNamespaceName(): string; /** * The status of the namespace. * * @cloudformationAttribute Namespace.Status */ get attrNamespaceStatus(): 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 CfnNamespace { /** * The object that you configure to copy snapshots from one namespace to a namespace in another AWS Region . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-snapshotcopyconfiguration.html */ interface SnapshotCopyConfigurationProperty { /** * The ID of the KMS key to use to encrypt your snapshots in the destination AWS Region . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-snapshotcopyconfiguration.html#cfn-redshiftserverless-namespace-snapshotcopyconfiguration-destinationkmskeyid */ readonly destinationKmsKeyId?: string; /** * The destination AWS Region to copy snapshots to. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-snapshotcopyconfiguration.html#cfn-redshiftserverless-namespace-snapshotcopyconfiguration-destinationregion */ readonly destinationRegion: string; /** * The retention period of snapshots that are copied to the destination AWS Region . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-snapshotcopyconfiguration.html#cfn-redshiftserverless-namespace-snapshotcopyconfiguration-snapshotretentionperiod */ readonly snapshotRetentionPeriod?: number; } /** * A collection of database objects and users. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html */ interface NamespaceProperty { /** * The Amazon Resource Name (ARN) for the namespace's admin user credentials secret. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-adminpasswordsecretarn */ readonly adminPasswordSecretArn?: string; /** * The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-adminpasswordsecretkmskeyid */ readonly adminPasswordSecretKmsKeyId?: string; /** * The username of the administrator for the first database created in the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-adminusername */ readonly adminUsername?: string; /** * The date of when the namespace was created. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-creationdate */ readonly creationDate?: string; /** * The name of the first database created in the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-dbname */ readonly dbName?: string; /** * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-defaultiamrolearn */ readonly defaultIamRoleArn?: string; /** * A list of IAM roles to associate with the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-iamroles */ readonly iamRoles?: Array<string>; /** * The ID of the AWS Key Management Service key used to encrypt your data. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-kmskeyid */ readonly kmsKeyId?: string; /** * The types of logs the namespace can export. * * Available export types are User log, Connection log, and User activity log. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-logexports */ readonly logExports?: Array<string>; /** * The Amazon Resource Name (ARN) associated with a namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-namespacearn */ readonly namespaceArn?: string; /** * The unique identifier of a namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-namespaceid */ readonly namespaceId?: string; /** * The name of the namespace. * * Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-namespacename */ readonly namespaceName?: string; /** * The status of the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespace.html#cfn-redshiftserverless-namespace-namespace-status */ readonly status?: string; } } /** * Properties for defining a `CfnNamespace` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html */ export interface CfnNamespaceProps { /** * The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. * * You can only use this parameter if `ManageAdminPassword` is `true` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-adminpasswordsecretkmskeyid */ readonly adminPasswordSecretKmsKeyId?: string; /** * The username of the administrator for the primary database created in the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-adminusername */ readonly adminUsername?: string; /** * The password of the administrator for the primary database created in the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-adminuserpassword */ readonly adminUserPassword?: string; /** * The name of the primary database created in the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-dbname */ readonly dbName?: string; /** * The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-defaultiamrolearn */ readonly defaultIamRoleArn?: iamRefs.IRoleRef | string; /** * The name of the snapshot to be created before the namespace is deleted. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-finalsnapshotname */ readonly finalSnapshotName?: string; /** * How long to retain the final snapshot. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-finalsnapshotretentionperiod */ readonly finalSnapshotRetentionPeriod?: number; /** * A list of IAM roles to associate with the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-iamroles */ readonly iamRoles?: Array<iamRefs.IRoleRef | string>; /** * The ID of the AWS Key Management Service key used to encrypt your data. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-kmskeyid */ readonly kmsKeyId?: kmsRefs.IKeyRef | string; /** * The types of logs the namespace can export. * * Available export types are `userlog` , `connectionlog` , and `useractivitylog` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-logexports */ readonly logExports?: Array<string>; /** * If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. * * You can't use `AdminUserPassword` if `ManageAdminPassword` is true. If `ManageAdminPassword` is `false` or not set, Amazon Redshift uses `AdminUserPassword` for the admin user account's password. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-manageadminpassword */ readonly manageAdminPassword?: boolean | cdk.IResolvable; /** * The name of the namespace. * * Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-namespacename */ readonly namespaceName: string; /** * The resource policy that will be attached to the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-namespaceresourcepolicy */ readonly namespaceResourcePolicy?: any | cdk.IResolvable; /** * The ARN for the Redshift application that integrates with IAM Identity Center. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-redshiftidcapplicationarn */ readonly redshiftIdcApplicationArn?: string; /** * The snapshot copy configurations for the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-snapshotcopyconfigurations */ readonly snapshotCopyConfigurations?: Array<cdk.IResolvable | CfnNamespace.SnapshotCopyConfigurationProperty> | cdk.IResolvable; /** * The map of the key-value pairs used to tag the namespace. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html#cfn-redshiftserverless-namespace-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The collection of compute resources in Amazon Redshift Serverless. * * @cloudformationResource AWS::RedshiftServerless::Workgroup * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-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; /** * The base compute capacity of the workgroup in Redshift Processing Units (RPUs). */ private _baseCapacity?; /** * The key of the parameter. */ private _configParameters?; /** * The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC. */ private _enhancedVpcRouting?; /** * The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. */ private _maxCapacity?; /** * The namespace the workgroup is associated with. */ private _namespaceName?; /** * The custom port to use when connecting to a workgroup. */ private _port?; /** * An object that represents the price performance target settings for the workgroup. */ private _pricePerformanceTarget?; /** * A value that specifies whether the workgroup can be accessible from a public network. */ private _publiclyAccessible?; /** * The recovery point id to restore from. */ private _recoveryPointId?; /** * A list of security group IDs to associate with the workgroup. */ private _securityGroupIds?; /** * The Amazon Resource Name (ARN) of the snapshot to restore from. */ private _snapshotArn?; /** * The snapshot name to restore from. */ private _snapshotName?; /** * The Amazon Web Services account that owns the snapshot. */ private _snapshotOwnerAccount?; /** * A list of subnet IDs the workgroup is associated with. */ private _subnetIds?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The map of the key-value pairs used to tag the workgroup. */ private _tagsRaw?; /** * An optional parameter for the name of the track for the workgroup. */ private _trackName?; /** * The collection of computing resources from which an endpoint is created. */ private _workgroup?; /** * The name of the workgroup. */ private _workgroupName; /** * Create a new `AWS::RedshiftServerless::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 base compute capacity of the workgroup in Redshift Processing Units (RPUs). */ get baseCapacity(): number | undefined; /** * The base compute capacity of the workgroup in Redshift Processing Units (RPUs). */ set baseCapacity(value: number | undefined); /** * The key of the parameter. */ get configParameters(): Array<CfnWorkgroup.ConfigParameterProperty | cdk.IResolvable> | cdk.IResolvable | undefined; /** * The key of the parameter. */ set configParameters(value: Array<CfnWorkgroup.ConfigParameterProperty | cdk.IResolvable> | cdk.IResolvable | undefined); /** * The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC. */ get enhancedVpcRouting(): boolean | cdk.IResolvable | undefined; /** * The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC. */ set enhancedVpcRouting(value: boolean | cdk.IResolvable | undefined); /** * The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. */ get maxCapacity(): number | undefined; /** * The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. */ set maxCapacity(value: number | undefined); /** * The namespace the workgroup is associated with. */ get namespaceName(): string | undefined; /** * The namespace the workgroup is associated with. */ set namespaceName(value: string | undefined); /** * The custom port to use when connecting to a workgroup. */ get port(): number | undefined; /** * The custom port to use when connecting to a workgroup. */ set port(value: number | undefined); /** * An object that represents the price performance target settings for the workgroup. */ get pricePerformanceTarget(): cdk.IResolvable | CfnWorkgroup.PerformanceTargetProperty | undefined; /** * An object that represents the price performance target settings for the workgroup. */ set pricePerformanceTarget(value: cdk.IResolvable | CfnWorkgroup.PerformanceTargetProperty | undefined); /** * A value that specifies whether the workgroup can be accessible from a public network. */ get publiclyAccessible(): boolean | cdk.IResolvable | undefined; /** * A value that specifies whether the workgroup can be accessible from a public network. */ set publiclyAccessible(value: boolean | cdk.IResolvable | undefined); /** * The recovery point id to restore from. */ get recoveryPointId(): string | undefined; /** * The recovery point id to restore from. */ set recoveryPointId(value: string | undefined); /** * A list of security group IDs to associate with the workgroup. */ get securityGroupIds(): Array<string> | undefined; /** * A list of security group IDs to associate with the workgroup. */ set securityGroupIds(value: Array<string> | undefined); /** * The Amazon Resource Name (ARN) of the snapshot to restore from. */ get snapshotArn(): string | undefined; /** * The Amazon Resource Name (ARN) of the snapshot to restore from. */ set snapshotArn(value: string | undefined); /** * The snapshot name to restore from. */ get snapshotName(): string | undefined; /** * The snapshot name to restore from. */ set snapshotName(value: string | undefined); /** * The Amazon Web Services account that owns the snapshot. */ get snapshotOwnerAccount(): string | undefined; /** * The Amazon Web Services account that owns the snapshot. */ set snapshotOwnerAccount(value: string | undefined); /** * A list of subnet IDs the workgroup is associated with. */ get subnetIds(): Array<string> | undefined; /** * A list of subnet IDs the workgroup is associated with. */ set subnetIds(value: Array<string> | undefined); /** * The map of the key-value pairs used to tag the workgroup. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * The map of the key-value pairs used to tag the workgroup. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * An optional parameter for the name of the track for the workgroup. */ get trackName(): string | undefined; /** * An optional parameter for the name of the track for the workgroup. */ set trackName(value: string | undefined); /** * The collection of computing resources from which an endpoint is created. */ get workgroup(): cdk.IResolvable | CfnWorkgroup.WorkgroupProperty | undefined; /** * The collection of computing resources from which an endpoint is created. */ set workgroup(value: cdk.IResolvable | CfnWorkgroup.WorkgroupProperty | undefined); /** * The name of the workgroup. */ get workgroupName(): string; /** * The name of the workgroup. */ set workgroupName(value: string); /** * @cloudformationAttribute Workgroup */ get attrWorkgroup(): cdk.IResolvable; /** * The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). * * @cloudformationAttribute Workgroup.BaseCapacity */ get attrWorkgroupBaseCapacity(): number; /** * @cloudformationAttribute Workgroup.ConfigParameters */ get attrWorkgroupConfigParameters(): cdk.IResolvable; /** * The creation date of the workgroup. * * @cloudformationAttribute Workgroup.CreationDate */ get attrWorkgroupCreationDate(): string; /** * @cloudformationAttribute Workgroup.Endpoint */ get attrWorkgroupEndpoint(): cdk.IResolvable; /** * The DNS address of the VPC endpoint. * * @cloudformationAttribute Workgroup.Endpoint.Address */ get attrWorkgroupEndpointAddress(): string; /** * The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439. * * @cloudformationAttribute Workgroup.Endpoint.Port */ get attrWorkgroupEndpointPort(): number; /** * @cloudformationAttribute Workgroup.Endpoint.VpcEndpoints */ get attrWorkgroupEndpointVpcEndpoints(): cdk.IResolvable; /** * The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC. * * @cloudformationAttribute Workgroup.EnhancedVpcRouting */ get attrWorkgroupEnhancedVpcRouting(): cdk.IResolvable; /** * The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs. * * @cloudformationAttribute Workgroup.MaxCapacity */ get attrWorkgroupMaxCapacity(): number; /** * The namespace the workgroup is associated with. * * @cloudformationAttribute Workgroup.NamespaceName */ get attrWorkgroupNamespaceName(): string; /** * A value that specifies whether the workgroup can be accessible from a public network. * * @cloudformationAttribute Workgroup.PubliclyAccessible */ get attrWorkgroupPubliclyAccessible(): cdk.IResolvable; /** * An array of security group IDs to associate with the workgroup. * * @cloudformationAttribute Workgroup.SecurityGroupIds */ get attrWorkgroupSecurityGroupIds(): Array<string>; /** * The status of the workgroup. * * @cloudformationAttribute Workgroup.Status */ get attrWorkgroupStatus(): string; /** * An array of subnet IDs the workgroup is associated with. * * @cloudformationAttribute Workgroup.SubnetIds */ get attrWorkgroupSubnetIds(): Array<string>; /** * The name of the track for the workgroup. * * @cloudformationAttribute Workgroup.TrackName */ get attrWorkgroupTrackName(): string; /** * The Amazon Resource Name (ARN) that links to the workgroup. * * @cloudformationAttribute Workgroup.WorkgroupArn */ get attrWorkgroupWorkgroupArn(): string; /** * The unique identifier of the workgroup. * * @cloudformationAttribute Workgroup.WorkgroupId */ get attrWorkgroupWorkgroupId(): string; /** * The name of the workgroup. * * @cloudformationAttribute Workgroup.WorkgroupName */ get attrWorkgroupWorkgroupName(): 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 { /** * A array of parameters to set for more control over a serverless database. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-configparameter.html */ interface ConfigParameterProperty { /** * The key of the parameter. * * The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-configparameter.html#cfn-redshiftserverless-workgroup-configparameter-parameterkey */ readonly parameterKey?: string; /** * The value of the parameter to set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-configparameter.html#cfn-redshiftserverless-workgroup-configparameter-parametervalue */ readonly parameterValue?: string; } /** * An object that represents the price performance target settings for the workgroup. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-performancetarget.html */ interface PerformanceTargetProperty { /** * The target price performance level for the workgroup. * * Valid values include 1, 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, ECONOMICAL, BALANCED, RESOURCEFUL, and HIGH_PERFORMANCE. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-performancetarget.html#cfn-redshiftserverless-workgroup-performancetarget-level */ readonly level?: number; /** * Whether the price performance target is enabled for the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-performancetarget.html#cfn-redshiftserverless-workgroup-performancetarget-status */ readonly status?: string; } /** * The collection of computing resources from which an endpoint is created. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html */ interface WorkgroupProperty { /** * The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-basecapacity */ readonly baseCapacity?: number; /** * An array of parameters to set for advanced control over a database. * * The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-configparameters */ readonly configParameters?: Array<CfnWorkgroup.ConfigParameterProperty | cdk.IResolvable> | cdk.IResolvable; /** * The creation date of the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-creationdate */ readonly creationDate?: string; /** * The endpoint that is created from the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-endpoint */ readonly endpoint?: CfnWorkgroup.EndpointProperty | cdk.IResolvable; /** * The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-enhancedvpcrouting */ readonly enhancedVpcRouting?: boolean | cdk.IResolvable; /** * The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. * * The max capacity is specified in RPUs. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-maxcapacity */ readonly maxCapacity?: number; /** * The namespace the workgroup is associated with. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-namespacename */ readonly namespaceName?: string; /** * An object that represents the price performance target settings for the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-priceperformancetarget */ readonly pricePerformanceTarget?: cdk.IResolvable | CfnWorkgroup.PerformanceTargetProperty; /** * A value that specifies whether the workgroup can be accessible from a public network. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-publiclyaccessible */ readonly publiclyAccessible?: boolean | cdk.IResolvable; /** * An array of security group IDs to associate with the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-securitygroupids */ readonly securityGroupIds?: Array<string>; /** * The status of the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-status */ readonly status?: string; /** * An array of subnet IDs the workgroup is associated with. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-subnetids */ readonly subnetIds?: Array<string>; /** * The name of the track for the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-trackname */ readonly trackName?: string; /** * The Amazon Resource Name (ARN) that links to the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-workgrouparn */ readonly workgroupArn?: string; /** * The unique identifier of the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-workgroupid */ readonly workgroupId?: string; /** * The name of the workgroup. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-workgroupname */ readonly workgroupName?: string; } /** * The VPC endpoint object. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-endpoint.html */ interface EndpointProperty { /** * The DNS address of the VPC endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-endpoint.html#cfn-redshiftserverless-workgroup-endpoint-address */ readonly address?: string; /** * The port that Amazon Redshift Serverless listens on. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-endpoint.html#cfn-redshiftserverless-workgroup-endpoint-port */ readonly port?: number; /** * An array of `VpcEndpoint` objects. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-endpoint.html#cfn-redshiftserverless-workgroup-endpoint-vpcendpoints */ readonly vpcEndpoints?: Array<cdk.IResolvable | CfnWorkgroup.VpcEndpointProperty> | cdk.IResolvable; } /** * The connection endpoint for connecting to Amazon Redshift Serverless through the proxy. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-vpcendpoint.html */ interface VpcEndpointProperty { /** * One or more network interfaces of the endpoint. * * Also known as an interface endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-vpcendpoint.html#cfn-redshiftserverless-workgroup-vpcendpoint-networkinterfaces */ readonly networkInterfaces?: Array<cdk.IResolvable | CfnWorkgroup.NetworkInterfaceProperty> | cdk.IResolvable; /** * The connection endpoint ID for connecting to Amazon Redshift Serverless. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-vpcendpoint.html#cfn-redshiftserverless-workgroup-vpcendpoint-vpcendpointid */ readonly vpcEndpointId?: string; /** * The VPC identifier that the endpoint is associated with. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-vpcendpoint.html#cfn-redshiftserverless-workgroup-vpcendpoint-vpcid */ readonly vpcId?: string; } /** * Contains information about a network interface in an Amazon Redshift Serverless managed VPC endpoint. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-networkinterface.html */ interface NetworkInterfaceProperty { /** * The availability Zone. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGui