aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,142 lines • 68.6 kB
TypeScript
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