UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,151 lines 77.2 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { DBClusterParameterGroupReference, DBClusterReference, DBInstanceReference, DBSubnetGroupReference, EventSubscriptionReference, GlobalClusterReference, IDBClusterParameterGroupRef, IDBClusterRef, IDBInstanceRef, IDBSubnetGroupRef, IEventSubscriptionRef, IGlobalClusterRef } from "../../interfaces/generated/aws-docdb-interfaces.generated"; /** * The `AWS::DocDB::DBCluster` Amazon DocumentDB (with MongoDB compatibility) resource describes a DBCluster. * * Amazon DocumentDB is a fully managed, MongoDB-compatible document database engine. For more information, see [DBCluster](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DBCluster.html) in the *Amazon DocumentDB Developer Guide* . * * @cloudformationResource AWS::DocDB::DBCluster * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html */ export declare class CfnDBCluster extends cdk.CfnResource implements cdk.IInspectable, IDBClusterRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDBCluster 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): CfnDBCluster; /** * Checks whether the given object is a CfnDBCluster */ static isCfnDBCluster(x: any): x is CfnDBCluster; /** * A list of Amazon EC2 Availability Zones that instances in the cluster can be created in. */ private _availabilityZones?; /** * The number of days for which automated backups are retained. You must specify a minimum value of 1. */ private _backupRetentionPeriod?; /** * Set to `true` to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise `false` . */ private _copyTagsToSnapshot?; /** * The cluster identifier. This parameter is stored as a lowercase string. */ private _dbClusterIdentifier?; /** * The name of the cluster parameter group to associate with this cluster. */ private _dbClusterParameterGroupName?; /** * A subnet group to associate with this cluster. */ private _dbSubnetGroupName?; /** * Protects clusters from being accidentally deleted. */ private _deletionProtection?; /** * The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. */ private _enableCloudwatchLogsExports?; /** * The version number of the database engine to use. */ private _engineVersion?; /** * The cluster identifier of the new global cluster. */ private _globalClusterIdentifier?; /** * The AWS key identifier for an encrypted cluster. */ private _kmsKeyId?; /** * Specifies whether to manage the master user password with Amazon Web Services Secrets Manager. */ private _manageMasterUserPassword?; /** * The name of the master user for the cluster. */ private _masterUsername?; /** * The password for the master database user. */ private _masterUserPassword?; /** * The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. */ private _masterUserSecretKmsKeyId?; /** * The network type of the cluster. */ private _networkType?; /** * Specifies the port that the database engine is listening on. */ private _port?; /** * The daily time range during which automated backups are created if automated backups are enabled using the `BackupRetentionPeriod` parameter. */ private _preferredBackupWindow?; /** * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ private _preferredMaintenanceWindow?; /** * The date and time to restore the cluster to. */ private _restoreToTime?; /** * The type of restore to be performed. You can specify one of the following values:. */ private _restoreType?; /** * Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password. */ private _rotateMasterUserPassword?; /** * Contains the scaling configuration of an Amazon DocumentDB Serverless cluster. */ private _serverlessV2ScalingConfiguration?; /** * The identifier for the snapshot or cluster snapshot to restore from. */ private _snapshotIdentifier?; /** * The identifier of the source cluster from which to restore. */ private _sourceDbClusterIdentifier?; /** * Specifies whether the cluster is encrypted. */ private _storageEncrypted?; /** * The storage type to associate with the DB cluster. */ private _storageType?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tags to be assigned to the cluster. */ private _tagsRaw?; /** * A value that is set to `true` to restore the cluster to the latest restorable backup time, and `false` otherwise. */ private _useLatestRestorableTime?; /** * A list of EC2 VPC security groups to associate with this cluster. */ private _vpcSecurityGroupIds?; /** * Create a new `AWS::DocDB::DBCluster`. * * @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?: CfnDBClusterProps); get dbClusterRef(): DBClusterReference; /** * A list of Amazon EC2 Availability Zones that instances in the cluster can be created in. */ get availabilityZones(): Array<string> | undefined; /** * A list of Amazon EC2 Availability Zones that instances in the cluster can be created in. */ set availabilityZones(value: Array<string> | undefined); /** * The number of days for which automated backups are retained. You must specify a minimum value of 1. */ get backupRetentionPeriod(): number | undefined; /** * The number of days for which automated backups are retained. You must specify a minimum value of 1. */ set backupRetentionPeriod(value: number | undefined); /** * Set to `true` to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise `false` . */ get copyTagsToSnapshot(): boolean | cdk.IResolvable | undefined; /** * Set to `true` to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise `false` . */ set copyTagsToSnapshot(value: boolean | cdk.IResolvable | undefined); /** * The cluster identifier. This parameter is stored as a lowercase string. */ get dbClusterIdentifier(): string | undefined; /** * The cluster identifier. This parameter is stored as a lowercase string. */ set dbClusterIdentifier(value: string | undefined); /** * The name of the cluster parameter group to associate with this cluster. */ get dbClusterParameterGroupName(): string | undefined; /** * The name of the cluster parameter group to associate with this cluster. */ set dbClusterParameterGroupName(value: string | undefined); /** * A subnet group to associate with this cluster. */ get dbSubnetGroupName(): string | undefined; /** * A subnet group to associate with this cluster. */ set dbSubnetGroupName(value: string | undefined); /** * Protects clusters from being accidentally deleted. */ get deletionProtection(): boolean | cdk.IResolvable | undefined; /** * Protects clusters from being accidentally deleted. */ set deletionProtection(value: boolean | cdk.IResolvable | undefined); /** * The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. */ get enableCloudwatchLogsExports(): Array<string> | undefined; /** * The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. */ set enableCloudwatchLogsExports(value: Array<string> | undefined); /** * The version number of the database engine to use. */ get engineVersion(): string | undefined; /** * The version number of the database engine to use. */ set engineVersion(value: string | undefined); /** * The cluster identifier of the new global cluster. */ get globalClusterIdentifier(): string | undefined; /** * The cluster identifier of the new global cluster. */ set globalClusterIdentifier(value: string | undefined); /** * The AWS key identifier for an encrypted cluster. */ get kmsKeyId(): string | undefined; /** * The AWS key identifier for an encrypted cluster. */ set kmsKeyId(value: string | undefined); /** * Specifies whether to manage the master user password with Amazon Web Services Secrets Manager. */ get manageMasterUserPassword(): boolean | cdk.IResolvable | undefined; /** * Specifies whether to manage the master user password with Amazon Web Services Secrets Manager. */ set manageMasterUserPassword(value: boolean | cdk.IResolvable | undefined); /** * The name of the master user for the cluster. */ get masterUsername(): string | undefined; /** * The name of the master user for the cluster. */ set masterUsername(value: string | undefined); /** * The password for the master database user. */ get masterUserPassword(): string | undefined; /** * The password for the master database user. */ set masterUserPassword(value: string | undefined); /** * The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. */ get masterUserSecretKmsKeyId(): string | undefined; /** * The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. */ set masterUserSecretKmsKeyId(value: string | undefined); /** * The network type of the cluster. */ get networkType(): string | undefined; /** * The network type of the cluster. */ set networkType(value: string | undefined); /** * Specifies the port that the database engine is listening on. */ get port(): number | undefined; /** * Specifies the port that the database engine is listening on. */ set port(value: number | undefined); /** * The daily time range during which automated backups are created if automated backups are enabled using the `BackupRetentionPeriod` parameter. */ get preferredBackupWindow(): string | undefined; /** * The daily time range during which automated backups are created if automated backups are enabled using the `BackupRetentionPeriod` parameter. */ set preferredBackupWindow(value: string | undefined); /** * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ get preferredMaintenanceWindow(): string | undefined; /** * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ set preferredMaintenanceWindow(value: string | undefined); /** * The date and time to restore the cluster to. */ get restoreToTime(): string | undefined; /** * The date and time to restore the cluster to. */ set restoreToTime(value: string | undefined); /** * The type of restore to be performed. You can specify one of the following values:. */ get restoreType(): string | undefined; /** * The type of restore to be performed. You can specify one of the following values:. */ set restoreType(value: string | undefined); /** * Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password. */ get rotateMasterUserPassword(): boolean | cdk.IResolvable | undefined; /** * Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password. */ set rotateMasterUserPassword(value: boolean | cdk.IResolvable | undefined); /** * Contains the scaling configuration of an Amazon DocumentDB Serverless cluster. */ get serverlessV2ScalingConfiguration(): cdk.IResolvable | CfnDBCluster.ServerlessV2ScalingConfigurationProperty | undefined; /** * Contains the scaling configuration of an Amazon DocumentDB Serverless cluster. */ set serverlessV2ScalingConfiguration(value: cdk.IResolvable | CfnDBCluster.ServerlessV2ScalingConfigurationProperty | undefined); /** * The identifier for the snapshot or cluster snapshot to restore from. */ get snapshotIdentifier(): string | undefined; /** * The identifier for the snapshot or cluster snapshot to restore from. */ set snapshotIdentifier(value: string | undefined); /** * The identifier of the source cluster from which to restore. */ get sourceDbClusterIdentifier(): string | undefined; /** * The identifier of the source cluster from which to restore. */ set sourceDbClusterIdentifier(value: string | undefined); /** * Specifies whether the cluster is encrypted. */ get storageEncrypted(): boolean | cdk.IResolvable | undefined; /** * Specifies whether the cluster is encrypted. */ set storageEncrypted(value: boolean | cdk.IResolvable | undefined); /** * The storage type to associate with the DB cluster. */ get storageType(): string | undefined; /** * The storage type to associate with the DB cluster. */ set storageType(value: string | undefined); /** * The tags to be assigned to the cluster. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * The tags to be assigned to the cluster. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * A value that is set to `true` to restore the cluster to the latest restorable backup time, and `false` otherwise. */ get useLatestRestorableTime(): boolean | cdk.IResolvable | undefined; /** * A value that is set to `true` to restore the cluster to the latest restorable backup time, and `false` otherwise. */ set useLatestRestorableTime(value: boolean | cdk.IResolvable | undefined); /** * A list of EC2 VPC security groups to associate with this cluster. */ get vpcSecurityGroupIds(): Array<string> | undefined; /** * A list of EC2 VPC security groups to associate with this cluster. */ set vpcSecurityGroupIds(value: Array<string> | undefined); /** * The resource id for the cluster; for example: `cluster-ABCD1234EFGH5678IJKL90MNOP` . The cluster ID uniquely identifies the cluster and is used in things like IAM authentication policies. * * @cloudformationAttribute ClusterResourceId */ get attrClusterResourceId(): string; /** * The connection endpoint for the cluster, such as `sample-cluster.cluster-cozrlsfrcjoc.us-east-1.docdb.amazonaws.com` . * * @cloudformationAttribute Endpoint */ get attrEndpoint(): string; /** * @cloudformationAttribute Id */ get attrId(): string; /** * The port number on which the cluster accepts connections. For example: `27017` . * * @cloudformationAttribute Port */ get attrPort(): string; /** * The reader endpoint for the cluster. For example: `sample-cluster.cluster-ro-cozrlsfrcjoc.us-east-1.docdb.amazonaws.com` . * * @cloudformationAttribute ReadEndpoint */ get attrReadEndpoint(): 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 CfnDBCluster { /** * Sets the scaling configuration of an Amazon DocumentDB Serverless cluster. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-docdb-dbcluster-serverlessv2scalingconfiguration.html */ interface ServerlessV2ScalingConfigurationProperty { /** * The maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. * * You can specify DCU values in half-step increments, such as 32, 32.5, 33, and so on. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-docdb-dbcluster-serverlessv2scalingconfiguration.html#cfn-docdb-dbcluster-serverlessv2scalingconfiguration-maxcapacity */ readonly maxCapacity: number; /** * The minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. * * You can specify DCU values in half-step increments, such as 8, 8.5, 9, and so on. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-docdb-dbcluster-serverlessv2scalingconfiguration.html#cfn-docdb-dbcluster-serverlessv2scalingconfiguration-mincapacity */ readonly minCapacity: number; } } /** * Properties for defining a `CfnDBCluster` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html */ export interface CfnDBClusterProps { /** * A list of Amazon EC2 Availability Zones that instances in the cluster can be created in. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-availabilityzones */ readonly availabilityZones?: Array<string>; /** * The number of days for which automated backups are retained. You must specify a minimum value of 1. * * Default: 1 * * Constraints: * * - Must be a value from 1 to 35. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-backupretentionperiod */ readonly backupRetentionPeriod?: number; /** * Set to `true` to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise `false` . * * The default is `false` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-copytagstosnapshot */ readonly copyTagsToSnapshot?: boolean | cdk.IResolvable; /** * The cluster identifier. This parameter is stored as a lowercase string. * * Constraints: * * - Must contain from 1 to 63 letters, numbers, or hyphens. * - The first character must be a letter. * - Cannot end with a hyphen or contain two consecutive hyphens. * * Example: `my-cluster` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusteridentifier */ readonly dbClusterIdentifier?: string; /** * The name of the cluster parameter group to associate with this cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusterparametergroupname */ readonly dbClusterParameterGroupName?: string; /** * A subnet group to associate with this cluster. * * Constraints: Must match the name of an existing `DBSubnetGroup` . Must not be default. * * Example: `mySubnetgroup` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbsubnetgroupname */ readonly dbSubnetGroupName?: string; /** * Protects clusters from being accidentally deleted. * * If enabled, the cluster cannot be deleted unless it is modified and `DeletionProtection` is disabled. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-deletionprotection */ readonly deletionProtection?: boolean | cdk.IResolvable; /** * The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. * * You can enable audit logs or profiler logs. For more information, see [Auditing Amazon DocumentDB Events](https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html) and [Profiling Amazon DocumentDB Operations](https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-enablecloudwatchlogsexports */ readonly enableCloudwatchLogsExports?: Array<string>; /** * The version number of the database engine to use. * * The `--engine-version` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version. * * If you intend to trigger an in-place upgrade, please refer to [Amazon DocumentDB in-place major version upgrade](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html) . Note that for an in-place engine version upgrade, you need to remove other cluster properties changes (e.g. SecurityGroupId) from the CFN template. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-engineversion */ readonly engineVersion?: string; /** * The cluster identifier of the new global cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-globalclusteridentifier */ readonly globalClusterIdentifier?: string; /** * The AWS key identifier for an encrypted cluster. * * The AWS key identifier is the Amazon Resource Name (ARN) for the AWS encryption key. If you are creating a cluster using the same AWS account that owns the AWS encryption key that is used to encrypt the new cluster, you can use the AWS key alias instead of the ARN for the AWS encryption key. * * If an encryption key is not specified in `KmsKeyId` : * * - If the `StorageEncrypted` parameter is `true` , Amazon DocumentDB uses your default encryption key. * * AWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-kmskeyid */ readonly kmsKeyId?: string; /** * Specifies whether to manage the master user password with Amazon Web Services Secrets Manager. * * Constraint: You can't manage the master user password with Amazon Web Services Secrets Manager if `MasterUserPassword` is specified. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-managemasteruserpassword */ readonly manageMasterUserPassword?: boolean | cdk.IResolvable; /** * The name of the master user for the cluster. * * Constraints: * * - Must be from 1 to 63 letters or numbers. * - The first character must be a letter. * - Cannot be a reserved word for the chosen database engine. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusername */ readonly masterUsername?: string; /** * The password for the master database user. * * This password can contain any printable ASCII character except forward slash (/), double quote ("), or the "at" symbol (@). * * Constraints: Must contain from 8 to 100 characters. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masteruserpassword */ readonly masterUserPassword?: string; /** * The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. * * This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the DB cluster. * * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. * * If you don't specify `MasterUserSecretKmsKeyId` , then the `aws/secretsmanager` KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the `aws/secretsmanager` KMS key to encrypt the secret, and you must use a customer managed KMS key. * * There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusersecretkmskeyid */ readonly masterUserSecretKmsKeyId?: string; /** * The network type of the cluster. * * The network type is determined by the `DBSubnetGroup` specified for the cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and the IPv6 protocols ( `DUAL` ). * * For more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide. * * Valid Values: `IPV4` | `DUAL` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-networktype */ readonly networkType?: string; /** * Specifies the port that the database engine is listening on. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-port */ readonly port?: number; /** * The daily time range during which automated backups are created if automated backups are enabled using the `BackupRetentionPeriod` parameter. * * The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region . * * Constraints: * * - Must be in the format `hh24:mi-hh24:mi` . * - Must be in Universal Coordinated Time (UTC). * - Must not conflict with the preferred maintenance window. * - Must be at least 30 minutes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredbackupwindow */ readonly preferredBackupWindow?: string; /** * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). * * Format: `ddd:hh24:mi-ddd:hh24:mi` * * The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week. * * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun * * Constraints: Minimum 30-minute window. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredmaintenancewindow */ readonly preferredMaintenanceWindow?: string; /** * The date and time to restore the cluster to. * * Valid values: A time in Universal Coordinated Time (UTC) format. * * Constraints: * * - Must be before the latest restorable time for the instance. * - Must be specified if the `UseLatestRestorableTime` parameter is not provided. * - Cannot be specified if the `UseLatestRestorableTime` parameter is `true` . * - Cannot be specified if the `RestoreType` parameter is `copy-on-write` . * * Example: `2015-03-07T23:45:00Z` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-restoretotime */ readonly restoreToTime?: string; /** * The type of restore to be performed. You can specify one of the following values:. * * - `full-copy` - The new DB cluster is restored as a full copy of the source DB cluster. * - `copy-on-write` - The new DB cluster is restored as a clone of the source DB cluster. * * Constraints: You can't specify `copy-on-write` if the engine version of the source DB cluster is earlier than 1.11. * * If you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-restoretype */ readonly restoreType?: string; /** * Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password. * * This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the cluster. The secret value contains the updated password. * * Constraint: You must apply the change immediately when rotating the master user password. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-rotatemasteruserpassword */ readonly rotateMasterUserPassword?: boolean | cdk.IResolvable; /** * Contains the scaling configuration of an Amazon DocumentDB Serverless cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-serverlessv2scalingconfiguration */ readonly serverlessV2ScalingConfiguration?: cdk.IResolvable | CfnDBCluster.ServerlessV2ScalingConfigurationProperty; /** * The identifier for the snapshot or cluster snapshot to restore from. * * You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot. * * Constraints: * * - Must match the identifier of an existing snapshot. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-snapshotidentifier */ readonly snapshotIdentifier?: string; /** * The identifier of the source cluster from which to restore. * * Constraints: * * - Must match the identifier of an existing `DBCluster` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-sourcedbclusteridentifier */ readonly sourceDbClusterIdentifier?: string; /** * Specifies whether the cluster is encrypted. * * If you specify `SourceDBClusterIdentifier` or `SnapshotIdentifier` and don’t specify `StorageEncrypted` , the encryption property is inherited from the source cluster or snapshot (unless `KMSKeyId` is specified, in which case the restored cluster will be encrypted with that KMS key). If the source is encrypted and `StorageEncrypted` is specified to be true, the restored cluster will be encrypted (if you want to use a different KMS key, specify the `KMSKeyId` property as well). If the source is unencrypted and `StorageEncrypted` is specified to be true, then the `KMSKeyId` property must be specified. If the source is encrypted, don’t specify `StorageEncrypted` to be false as opting out of encryption is not allowed. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storageencrypted */ readonly storageEncrypted?: boolean | cdk.IResolvable; /** * The storage type to associate with the DB cluster. * * For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the *Amazon DocumentDB Developer Guide* . * * Valid values for storage type - `standard | iopt1` * * Default value is `standard` * * > When you create an Amazon DocumentDB cluster with the storage type set to `iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `standard` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storagetype */ readonly storageType?: string; /** * The tags to be assigned to the cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-tags */ readonly tags?: Array<cdk.CfnTag>; /** * A value that is set to `true` to restore the cluster to the latest restorable backup time, and `false` otherwise. * * Default: `false` * * Constraints: Cannot be specified if the `RestoreToTime` parameter is provided. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-uselatestrestorabletime */ readonly useLatestRestorableTime?: boolean | cdk.IResolvable; /** * A list of EC2 VPC security groups to associate with this cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-vpcsecuritygroupids */ readonly vpcSecurityGroupIds?: Array<string>; } /** * The `AWS::DocDB::DBClusterParameterGroup` Amazon DocumentDB (with MongoDB compatibility) resource describes a DBClusterParameterGroup. * * For more information, see [DBClusterParameterGroup](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DBClusterParameterGroup.html) in the *Amazon DocumentDB Developer Guide* . * * Parameters in a cluster parameter group apply to all of the instances in a cluster. * * A cluster parameter group is initially created with the default parameters for the database engine used by instances in the cluster. To provide custom values for any of the parameters, you must modify the group after you create it. After you create a DB cluster parameter group, you must associate it with your cluster. For the new cluster parameter group and associated settings to take effect, you must then reboot the DB instances in the cluster without failover. * * > After you create a cluster parameter group, you should wait at least 5 minutes before creating your first cluster that uses that cluster parameter group as the default parameter group. This allows Amazon DocumentDB to fully complete the create action before the cluster parameter group is used as the default for a new cluster. This step is especially important for parameters that are critical when creating the default database for a cluster, such as the character set for the default database defined by the `character_set_database` parameter. * * @cloudformationResource AWS::DocDB::DBClusterParameterGroup * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html */ export declare class CfnDBClusterParameterGroup extends cdk.CfnResource implements cdk.IInspectable, IDBClusterParameterGroupRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDBClusterParameterGroup 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): CfnDBClusterParameterGroup; /** * Checks whether the given object is a CfnDBClusterParameterGroup */ static isCfnDBClusterParameterGroup(x: any): x is CfnDBClusterParameterGroup; /** * The description for the cluster parameter group. */ private _description; /** * The cluster parameter group family name. */ private _family; /** * The name of the DB cluster parameter group. */ private _name?; /** * Provides a list of parameters for the cluster parameter group. */ private _parameters; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tags to be assigned to the cluster parameter group. */ private _tagsRaw?; /** * Create a new `AWS::DocDB::DBClusterParameterGroup`. * * @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: CfnDBClusterParameterGroupProps); get dbClusterParameterGroupRef(): DBClusterParameterGroupReference; /** * The description for the cluster parameter group. */ get description(): string; /** * The description for the cluster parameter group. */ set description(value: string); /** * The cluster parameter group family name. */ get family(): string; /** * The cluster parameter group family name. */ set family(value: string); /** * The name of the DB cluster parameter group. */ get name(): string | undefined; /** * The name of the DB cluster parameter group. */ set name(value: string | undefined); /** * Provides a list of parameters for the cluster parameter group. */ get parameters(): any | cdk.IResolvable; /** * Provides a list of parameters for the cluster parameter group. */ set parameters(value: any | cdk.IResolvable); /** * The tags to be assigned to the cluster parameter group. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * The tags to be assigned to the cluster parameter group. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * @cloudformationAttribute Id */ get attrId(): 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 `CfnDBClusterParameterGroup` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html */ export interface CfnDBClusterParameterGroupProps { /** * The description for the cluster parameter group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-description */ readonly description: string; /** * The cluster parameter group family name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-family */ readonly family: string; /** * The name of the DB cluster parameter group. * * Constraints: * * - Must not match the name of an existing `DBClusterParameterGroup` . * * > This value is stored as a lowercase string. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-name */ readonly name?: string; /** * Provides a list of parameters for the cluster parameter group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-parameters */ readonly parameters: any | cdk.IResolvable; /** * The tags to be assigned to the cluster parameter group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The `AWS::DocDB::DBInstance` Amazon DocumentDB (with MongoDB compatibility) resource describes a DBInstance. * * For more information, see [DBInstance](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DBInstance.html) in the *Amazon DocumentDB Developer Guide* . * * @cloudformationResource AWS::DocDB::DBInstance * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html */ export declare class CfnDBInstance extends cdk.CfnResource implements cdk.IInspectable, IDBInstanceRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDBInstance 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): CfnDBInstance; /** * Checks whether the given object is a CfnDBInstance */ static isCfnDBInstance(x: any): x is CfnDBInstance; /** * Creates a new IDBInstanceRef from a dbInstanceId */ static fromDBInstanceId(scope: constructs.Construct, id: string, dbInstanceId: string): IDBInstanceRef; static arnForDBInstance(resource: IDBInstanceRef): string; /** * This parameter does not apply to Amazon DocumentDB. */ private _autoMinorVersionUpgrade?; /** * The Amazon EC2 Availability Zone that the instance is created in. */ private _availabilityZone?; /** * The identifier of the CA certificate for this DB instance. */ private _caCertificateIdentifier?; /** * Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate. */ private _certificateRotationRestart?; /** * The identifier of the cluster that the instance will belong to. */ private _dbClusterIdentifier; /** * The compute and memory capacity of the instance; */ private _dbInstanceClass; /** * The instance identifier. This parameter is stored as a lowercase string. */ private _dbInstanceIdentifier?; /** * A value that indicates whether to enable Performance Insights for the DB Instance. */ private _enablePerformanceInsights?; /** * The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). */ private _preferredMaintenanceWindow?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tags to be assigned to the instance. */ private _tagsRaw?; /** * Create a new `AWS::DocDB::DBInstance`. * * @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: CfnDBInstanceProps); get dbInstanceRef(): DBInstanceReference; /** * This parameter does not apply to Amazon DocumentDB. */ get autoMinorVersionUpgrade(): boolean | cdk.IResolvable | undefined; /** * This parameter does not apply to Amazon DocumentDB. */ set autoMinorVersionUpgrade(value: boolean | cdk.IResolvable | undefined); /** * The Amazon EC2 Availability Zone that the instance is created in. */ get availabilityZone(): string | undefined; /** * The Amazon EC2 Availability Zone that the instance is created in. */ set availabilityZone(value: string | undefined); /** * The identifier of the CA certificate for this DB instance. */ get caCertificateIdentifier(): string | undefined; /** * The identifier of the CA certificate for this DB instance. */ set caCertificateIdentifier(value: string | undefined); /** * Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate. */ get certificateRotationRestart(): boolean | cdk.IResolvable | undefined; /** * Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate. */ set certificateRotationRestart(value: boolean | cdk.IResolvable | undefined); /** * The identifier of the cluster that the instance will belong to. */ get dbClusterIdentifier(): string; /** * The identifier of the cluster that the instance will belong to. */ set dbClusterIdentifier(value: string); /** * The compute and memory capacity of the instance; */ get dbInstanceClass(): string; /** * The compute and memory capacity of the instance; */ set dbInstanceClass(value: string); /** * The instance identifier. This parameter is stored as a lowercase string. */ get dbInstanceIdentifier(): string | undefined; /** * The instance identifier. This parameter is stored as a lowercase string. */ set dbInstanceIdentifier(value: string | undefined); /** * A value that indicates whether to enable Performance Insights for the DB Instance. */ get enablePerformanceInsights(): boolean | cdk.IResolvable | undefined; /** * A value that indicates whether to enable Performance Insights for the DB Instance. */ set enablePerformanceInsights(value: boolean | cdk.IResolvable | undefined); /** * The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). */ get preferredMaintenanceWindow(): string | undefined; /** * The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). */ set preferredMaintenanceWindow(value: string | undefined); /** * The tags to be assigned to the instance. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * The tags to be assigned to the instance. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The connection endpoint for the instance. For example: `sample-cluster.cluster-abcdefghijkl.us-east-1.docdb.amazonaws.com` . * * @cloudformationAttribute Endpoint */ get attrEndpoint(): string; /** * @cloudformationAttribute Id */ get attrId(): string; /** * The port number on which the database accepts connections, such as `27017` . * * @cloudformationAttribute Port */ get attrPort(): 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 `CfnDBInstance` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html */ export interface CfnDBInstanceProps { /** * This parameter does not apply to Amazon DocumentDB. * * Amazon Docu