UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

965 lines 291 kB
import * as cdk from "../../core"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; /** * Creates a custom DB engine version (CEV). * * @cloudformationResource AWS::RDS::CustomDBEngineVersion * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html */ export declare class CfnCustomDBEngineVersion extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnCustomDBEngineVersion 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): CfnCustomDBEngineVersion; /** * The ARN of the custom engine version. * * @cloudformationAttribute DBEngineVersionArn */ readonly attrDbEngineVersionArn: string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The name of an Amazon S3 bucket that contains database installation files for your CEV. */ databaseInstallationFilesS3BucketName?: string; /** * The Amazon S3 directory that contains the database installation files for your CEV. */ databaseInstallationFilesS3Prefix?: string; /** * An optional description of your CEV. */ description?: string; /** * The database engine to use for your custom engine version (CEV). */ engine: string; /** * The name of your CEV. */ engineVersion: string; /** * A value that indicates the ID of the AMI. */ imageId?: string; /** * The AWS KMS key identifier for an encrypted CEV. */ kmsKeyId?: string; /** * The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed. */ manifest?: string; /** * The ARN of a CEV to use as a source for creating a new CEV. */ sourceCustomDbEngineVersionIdentifier?: string; /** * A value that indicates the status of a custom engine version (CEV). */ status?: string; /** * A list of tags. */ tags?: Array<cdk.CfnTag>; /** * Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. */ useAwsProvidedLatestImage?: boolean | cdk.IResolvable; /** * @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: CfnCustomDBEngineVersionProps); 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 `CfnCustomDBEngineVersion` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html */ export interface CfnCustomDBEngineVersionProps { /** * The name of an Amazon S3 bucket that contains database installation files for your CEV. * * For example, a valid bucket name is `my-custom-installation-files` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-databaseinstallationfiless3bucketname */ readonly databaseInstallationFilesS3BucketName?: string; /** * The Amazon S3 directory that contains the database installation files for your CEV. * * For example, a valid bucket name is `123456789012/cev1` . If this setting isn't specified, no prefix is assumed. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-databaseinstallationfiless3prefix */ readonly databaseInstallationFilesS3Prefix?: string; /** * An optional description of your CEV. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-description */ readonly description?: string; /** * The database engine to use for your custom engine version (CEV). * * Valid values: * * - `custom-oracle-ee` * - `custom-oracle-ee-cdb` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-engine */ readonly engine: string; /** * The name of your CEV. * * The name format is `major version.customized_string` . For example, a valid CEV name is `19.my_cev1` . This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of `Engine` and `EngineVersion` is unique per customer per Region. * * *Constraints:* Minimum length is 1. Maximum length is 60. * * *Pattern:* `^[a-z0-9_.-]{1,60$` } * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-engineversion */ readonly engineVersion: string; /** * A value that indicates the ID of the AMI. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-imageid */ readonly imageId?: string; /** * The AWS KMS key identifier for an encrypted CEV. * * A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS. * * If you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in [Creating a symmetric encryption KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) in the *AWS Key Management Service Developer Guide* . * * You can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-kmskeyid */ readonly kmsKeyId?: string; /** * The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed. * * The following JSON fields are valid: * * - **MediaImportTemplateVersion** - Version of the CEV manifest. The date is in the format `YYYY-MM-DD` . * - **databaseInstallationFileNames** - Ordered list of installation files for the CEV. * - **opatchFileNames** - Ordered list of OPatch installers used for the Oracle DB engine. * - **psuRuPatchFileNames** - The PSU and RU patches for this CEV. * - **OtherPatchFileNames** - The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches. * * For more information, see [Creating the CEV manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) in the *Amazon RDS User Guide* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-manifest */ readonly manifest?: string; /** * The ARN of a CEV to use as a source for creating a new CEV. * * You can specify a different Amazon Machine Imagine (AMI) by using either `Source` or `UseAwsProvidedLatestImage` . You can't specify a different JSON manifest when you specify `SourceCustomDbEngineVersionIdentifier` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-sourcecustomdbengineversionidentifier */ readonly sourceCustomDbEngineVersionIdentifier?: string; /** * A value that indicates the status of a custom engine version (CEV). * * @default - "available" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-status */ readonly status?: string; /** * A list of tags. * * For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-tags */ readonly tags?: Array<cdk.CfnTag>; /** * Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. * * If you specify `UseAwsProvidedLatestImage` , you can't also specify `ImageId` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-useawsprovidedlatestimage */ readonly useAwsProvidedLatestImage?: boolean | cdk.IResolvable; } /** * The `AWS::RDS::DBCluster` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster. * * For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide* . * * For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide* . * * > You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported. * * *Updating DB clusters* * * When properties labeled " *Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) " are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster. * * > We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure: * > * > - Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance. * > - Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html) . * > - If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the `SnapshotIdentifier` property with the ID of the DB cluster snapshot that you want to use. * > * > After you restore a DB cluster with a `SnapshotIdentifier` property, you must specify the same `SnapshotIdentifier` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the `SnapshotIdentifier` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified `SnapshotIdentifier` property, and the original DB cluster is deleted. * > - Update the stack. * * Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: `PreferredBackupWindow` , `PreferredMaintenanceWindow` , and `Port` . This limitation doesn't apply to provisioned DB clusters. * * For more information about updating other properties of this resource, see `[ModifyDBCluster](https://docs.aws.amazon.com//AmazonRDS/latest/APIReference/API_ModifyDBCluster.html)` . For more information about updating stacks, see [AWS CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) . * * *Deleting DB clusters* * * The default `DeletionPolicy` for `AWS::RDS::DBCluster` resources is `Snapshot` . For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) . * * @cloudformationResource AWS::RDS::DBCluster * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html */ export declare class CfnDBCluster extends cdk.CfnResource implements cdk.IInspectable, 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; /** * The Amazon Resource Name (ARN) for the DB cluster. * * @cloudformationAttribute DBClusterArn */ readonly attrDbClusterArn: string; /** * The AWS Region -unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB cluster is accessed. * * @cloudformationAttribute DBClusterResourceId */ readonly attrDbClusterResourceId: string; /** * The ``Endpoint`` return value specifies the connection endpoint for the primary instance of the DB cluster. * * @cloudformationAttribute Endpoint */ readonly attrEndpoint: cdk.IResolvable; /** * The connection endpoint for the DB cluster. For example: `mystack-mydbcluster-123456789012.us-east-2.rds.amazonaws.com` * * @cloudformationAttribute Endpoint.Address */ readonly attrEndpointAddress: string; /** * The port number that will accept connections on this DB cluster. For example: `3306` * * @cloudformationAttribute Endpoint.Port */ readonly attrEndpointPort: string; /** * The Amazon Resource Name (ARN) of the secret. * * @cloudformationAttribute MasterUserSecret.SecretArn */ readonly attrMasterUserSecretSecretArn: string; /** * The ``ReadEndpoint`` return value specifies the reader endpoint for the DB cluster. * The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster. * If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint. * For more information about Aurora endpoints, see [Amazon Aurora connection management](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html) in the *Amazon Aurora User Guide*. * * @cloudformationAttribute ReadEndpoint */ readonly attrReadEndpoint: cdk.IResolvable; /** * The reader endpoint for the DB cluster. For example: `mystack-mydbcluster-ro-123456789012.us-east-2.rds.amazonaws.com` * * @cloudformationAttribute ReadEndpoint.Address */ readonly attrReadEndpointAddress: string; /** * The storage throughput for the DB cluster. The throughput is automatically set based on the IOPS that you provision, and is not configurable. * * This setting is only for non-Aurora Multi-AZ DB clusters. * * @cloudformationAttribute StorageThroughput */ readonly attrStorageThroughput: number; /** * The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. */ allocatedStorage?: number; /** * Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. */ associatedRoles?: Array<CfnDBCluster.DBClusterRoleProperty | cdk.IResolvable> | cdk.IResolvable; /** * Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. */ autoMinorVersionUpgrade?: boolean | cdk.IResolvable; /** * A list of Availability Zones (AZs) where instances in the DB cluster can be created. */ availabilityZones?: Array<string>; /** * The target backtrack window, in seconds. To disable backtracking, set this value to `0` . */ backtrackWindow?: number; /** * The number of days for which automated backups are retained. */ backupRetentionPeriod?: number; /** * Specifies the scalability mode of the Aurora DB cluster. */ clusterScalabilityType?: string; /** * A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. */ copyTagsToSnapshot?: boolean | cdk.IResolvable; /** * The mode of Database Insights to enable for the DB cluster. */ databaseInsightsMode?: string; /** * The name of your database. */ databaseName?: string; /** * The DB cluster identifier. This parameter is stored as a lowercase string. */ dbClusterIdentifier?: string; /** * The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6gd.xlarge` . Not all DB instance classes are available in all AWS Regions , or for all database engines. */ dbClusterInstanceClass?: string; /** * The name of the DB cluster parameter group to associate with this DB cluster. */ dbClusterParameterGroupName?: string; /** * The name of the DB parameter group to apply to all instances of the DB cluster. */ dbInstanceParameterGroupName?: string; /** * A DB subnet group that you want to associate with this DB cluster. */ dbSubnetGroupName?: string; /** * Reserved for future use. */ dbSystemId?: string; /** * A value that indicates whether the DB cluster has deletion protection enabled. */ deletionProtection?: boolean | cdk.IResolvable; /** * Indicates the directory ID of the Active Directory to create the DB cluster. */ domain?: string; /** * Specifies the name of the IAM role to use when making API calls to the Directory Service. */ domainIamRoleName?: string; /** * The list of log types that need to be enabled for exporting to CloudWatch Logs. */ enableCloudwatchLogsExports?: Array<string>; /** * Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). */ enableGlobalWriteForwarding?: boolean | cdk.IResolvable; /** * Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled. */ enableHttpEndpoint?: boolean | cdk.IResolvable; /** * A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. */ enableIamDatabaseAuthentication?: boolean | cdk.IResolvable; /** * Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. */ enableLocalWriteForwarding?: boolean | cdk.IResolvable; /** * The name of the database engine to be used for this DB cluster. */ engine?: string; /** * The life cycle type for this DB cluster. */ engineLifecycleSupport?: string; /** * The DB engine mode of the DB cluster, either `provisioned` or `serverless` . */ engineMode?: string; /** * The version number of the database engine to use. */ engineVersion?: string; /** * If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. */ globalClusterIdentifier?: string; /** * The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. */ iops?: number; /** * The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . */ kmsKeyId?: string; /** * Specifies whether to manage the master user password with AWS Secrets Manager. */ manageMasterUserPassword?: boolean | cdk.IResolvable; /** * The name of the master user for the DB cluster. */ masterUsername?: string; /** * The master password for the DB instance. */ masterUserPassword?: string; /** * The secret managed by RDS in AWS Secrets Manager for the master user password. */ masterUserSecret?: cdk.IResolvable | CfnDBCluster.MasterUserSecretProperty; /** * The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. */ monitoringInterval?: number; /** * The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. */ monitoringRoleArn?: string; /** * The network type of the DB cluster. */ networkType?: string; /** * Specifies whether to turn on Performance Insights for the DB cluster. */ performanceInsightsEnabled?: boolean | cdk.IResolvable; /** * The AWS KMS key identifier for encryption of Performance Insights data. */ performanceInsightsKmsKeyId?: string; /** * The number of days to retain Performance Insights data. */ performanceInsightsRetentionPeriod?: number; /** * The port number on which the DB instances in the DB cluster accept connections. */ port?: number; /** * The daily time range during which automated backups are created. */ preferredBackupWindow?: string; /** * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ preferredMaintenanceWindow?: string; /** * Specifies whether the DB cluster is publicly accessible. */ publiclyAccessible?: boolean | cdk.IResolvable; /** * The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica. */ replicationSourceIdentifier?: string; /** * The date and time to restore the DB cluster to. */ restoreToTime?: string; /** * The type of restore to be performed. You can specify one of the following values:. */ restoreType?: string; /** * The scaling configuration of an Aurora Serverless v1 DB cluster. */ scalingConfiguration?: cdk.IResolvable | CfnDBCluster.ScalingConfigurationProperty; /** * The scaling configuration of an Aurora Serverless V2 DB cluster. */ serverlessV2ScalingConfiguration?: cdk.IResolvable | CfnDBCluster.ServerlessV2ScalingConfigurationProperty; /** * The identifier for the DB snapshot or DB cluster snapshot to restore from. */ snapshotIdentifier?: string; /** * When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore. */ sourceDbClusterIdentifier?: string; /** * The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, `us-east-1` . */ sourceRegion?: string; /** * Indicates whether the DB cluster is encrypted. */ storageEncrypted?: boolean | cdk.IResolvable; /** * The storage type to associate with the DB cluster. */ storageType?: string; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * Tags to assign to the DB cluster. */ tagsRaw?: Array<cdk.CfnTag>; /** * A value that indicates whether to restore the DB cluster to the latest restorable backup time. */ useLatestRestorableTime?: boolean | cdk.IResolvable; /** * A list of EC2 VPC security groups to associate with this DB cluster. */ vpcSecurityGroupIds?: Array<string>; /** * @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); 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 { /** * The `ServerlessV2ScalingConfiguration` property type specifies the scaling configuration of an Aurora Serverless V2 DB cluster. * * For more information, see [Using Amazon Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html) in the *Amazon Aurora User Guide* . * * If you have an Aurora cluster, you must set this attribute before you add a DB instance that uses the `db.serverless` DB instance class. For more information, see [Clusters that use Aurora Serverless v2 must have a capacity range specified](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html#aurora-serverless-v2.requirements.capacity-range) in the *Amazon Aurora User Guide* . * * This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, use the `ScalingConfiguration` property. * * Valid for: Aurora Serverless v2 DB clusters * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-serverlessv2scalingconfiguration.html */ interface ServerlessV2ScalingConfigurationProperty { /** * The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. * * You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128. * * The maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide* . * * Aurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the `ParameterApplyStatus` value for the DB instance changes to `pending-reboot` . You can update the parameter values by rebooting the DB instance after changing the capacity range. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-serverlessv2scalingconfiguration.html#cfn-rds-dbcluster-serverlessv2scalingconfiguration-maxcapacity */ readonly maxCapacity?: number; /** * The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. * * You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-serverlessv2scalingconfiguration.html#cfn-rds-dbcluster-serverlessv2scalingconfiguration-mincapacity */ readonly minCapacity?: number; /** * Specifies the number of seconds an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it. * * Specify a value between 300 seconds (five minutes) and 86,400 seconds (one day). The default is 300 seconds. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-serverlessv2scalingconfiguration.html#cfn-rds-dbcluster-serverlessv2scalingconfiguration-secondsuntilautopause */ readonly secondsUntilAutoPause?: number; } /** * The `MasterUserSecret` return value specifies the secret managed by RDS in AWS Secrets Manager for the master user password. * * For more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.* * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html */ interface MasterUserSecretProperty { /** * The AWS KMS key identifier that is used to encrypt the secret. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html#cfn-rds-dbcluster-masterusersecret-kmskeyid */ readonly kmsKeyId?: string; /** * The Amazon Resource Name (ARN) of the secret. * * This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#aws-resource-rds-dbcluster-return-values) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html#cfn-rds-dbcluster-masterusersecret-secretarn */ readonly secretArn?: string; } /** * The `ScalingConfiguration` property type specifies the scaling configuration of an Aurora Serverless v1 DB cluster. * * For more information, see [Using Amazon Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) in the *Amazon Aurora User Guide* . * * This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the `ServerlessV2ScalingConfiguration` property. * * Valid for: Aurora Serverless v1 DB clusters only * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html */ interface ScalingConfigurationProperty { /** * Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in `serverless` DB engine mode. * * A DB cluster can be paused only when it's idle (it has no connections). * * > If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-autopause */ readonly autoPause?: boolean | cdk.IResolvable; /** * The maximum capacity for an Aurora DB cluster in `serverless` DB engine mode. * * For Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` . * * For Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` . * * The maximum capacity must be greater than or equal to the minimum capacity. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-maxcapacity */ readonly maxCapacity?: number; /** * The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. * * For Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` . * * For Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` . * * The minimum capacity must be less than or equal to the maximum capacity. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-mincapacity */ readonly minCapacity?: number; /** * The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. * * The default is 300. * * Specify a value between 60 and 600 seconds. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-secondsbeforetimeout */ readonly secondsBeforeTimeout?: number; /** * The time, in seconds, before an Aurora DB cluster in `serverless` mode is paused. * * Specify a value between 300 and 86,400 seconds. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-secondsuntilautopause */ readonly secondsUntilAutoPause?: number; /** * The action to take when the timeout is reached, either `ForceApplyCapacityChange` or `RollbackCapacityChange` . * * `ForceApplyCapacityChange` sets the capacity to the specified value as soon as possible. * * `RollbackCapacityChange` , the default, ignores the capacity change if a scaling point isn't found in the timeout period. * * > If you specify `ForceApplyCapacityChange` , connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped. * * For more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-timeoutaction */ readonly timeoutAction?: string; } /** * Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html */ interface DBClusterRoleProperty { /** * The name of the feature associated with the AWS Identity and Access Management (IAM) role. * * IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-featurename */ readonly featureName?: string; /** * The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-rolearn */ readonly roleArn: string; } /** * The `Endpoint` return value specifies the connection endpoint for the primary instance of the DB cluster. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-endpoint.html */ interface EndpointProperty { /** * Specifies the connection endpoint for the primary instance of the DB cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-endpoint.html#cfn-rds-dbcluster-endpoint-address */ readonly address?: string; /** * Specifies the port that the database engine is listening on. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-endpoint.html#cfn-rds-dbcluster-endpoint-port */ readonly port?: string; } /** * The `ReadEndpoint` return value specifies the reader endpoint for the DB cluster. * * The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster. * * If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint. * * For more information about Aurora endpoints, see [Amazon Aurora connection management](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html) in the *Amazon Aurora User Guide* . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-readendpoint.html */ interface ReadEndpointProperty { /** * The host address of the reader endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-readendpoint.html#cfn-rds-dbcluster-readendpoint-address */ readonly address?: string; } } /** * Properties for defining a `CfnDBCluster` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html */ export interface CfnDBClusterProps { /** * The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * * Valid for Cluster Type: Multi-AZ DB clusters only * * This setting is required to create a Multi-AZ DB cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-allocatedstorage */ readonly allocatedStorage?: number; /** * Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. * * IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf. * * Valid for: Aurora DB clusters and Multi-AZ DB clusters * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-associatedroles */ readonly associatedRoles?: Array<CfnDBCluster.DBClusterRoleProperty | cdk.IResolvable> | cdk.IResolvable; /** * Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. * * By default, minor engine upgrades are applied automatically. * * Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB cluster * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-autominorversionupgrade */ readonly autoMinorVersionUpgrade?: boolean | cdk.IResolvable; /** * A list of Availability Zones (AZs) where instances in the DB cluster can be created. * * For information on AWS Regions and Availability Zones, see [Choosing the Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) in the *Amazon Aurora User Guide* . * * Valid for: Aurora DB clusters only * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-availabilityzones */ readonly availabilityZones?: Array<string>; /** * The target backtrack window, in seconds. To disable backtracking, set this value to `0` . * * Valid for Cluster Type: Aurora MySQL DB clusters only * * Default: `0` * * Constraints: * * - If specified, this value must be set to a number from 0 to 259,200 (72 hours). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-backtrackwindow */ readonly backtrackWindow?: number; /** * The number of days for which automated backups are retained. * * Default: 1 * * Constraints: * * - Must be a value from 1 to 35 * * Valid for: Aurora DB clusters and Multi-AZ DB clusters * * @default - 1 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-backupretentionperiod */ readonly backupRetentionPeriod?: number; /** * Specifies the scalability mode of the Aurora DB cluster. * * When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-clusterscalabilitytype */ readonly clusterScalabilityType?: string; /** * A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. * * The default is not to copy them. * * Valid for: Aurora DB clusters and Multi-AZ DB clusters * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-copytagstosnapshot */ readonly copyTagsToSnapshot?: boolean | cdk.IResolvable; /** * The mode of Database Insights to enable for the DB cluster. * * If you set this value to `advanced` , you must also set the `PerformanceInsightsEnabled` parameter to `true` and the `PerformanceInsightsRetentionPeriod` parameter to 465. * * Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-databaseinsightsmode */ readonly databaseInsightsMode?: string; /** * The name of your database. * * If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see [Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon Aurora User Guide* . * * Valid for: Aurora DB clusters and Multi-AZ DB clusters * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-databasename */ readonly databaseName?: string; /** * The DB cluster identifier. This parameter is stored as a lowercase string. * * Constraints: * * - Must contain from 1 to 63 letters, numbers, or hyphens. * - First character must be a letter. * - Can't end with a hyphen or contain two consecutive hyphens. * * Example: `my-cluster1` * * Valid for: Aurora DB clusters and Multi-AZ DB clusters * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusteridentifier */ readonly dbClusterIdentifier?: string; /** * The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6gd.xlarge` . Not all DB instance classes are available in all AWS Regions , or for all database engines. * * For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* . * * This setting is required to create a Multi-AZ DB cluster. * * Valid for Cluster Type: Multi-AZ DB clusters only * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusterinstanceclass */ readonly dbClusterInstanceClass?: string; /** * The name of the DB cluster parameter group to associate with this DB cluster. * * > If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting. * > * > If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started. * * To list all of the available DB cluster parameter group names, use the following command: * * `aws rds describe-db-cluster-parameter-groups --query "DBClusterParameterGroups[].DBClusterParameterGroupName" --output text` * * Valid for: Aurora DB clusters and Multi-AZ DB clusters * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusterparametergroupname */ readonly dbClusterParameterGroupName?: string; /** * The name of the DB parameter group to apply to all instances of the DB cluster. * * > When you apply a parameter group using the `DBInstanceParameterGroupName` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window. * * Valid for Cluster Type: Aurora DB clusters only * * Default: The existing name setting * * Constraints: * * - The DB parameter group must be in the same DB par