Class CfnDBCluster

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:41.887Z") @Stability(Stable) public class CfnDBCluster extends CfnResource implements IInspectable
A CloudFormation AWS::DocDB::DBCluster.

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 in the Amazon DocumentDB Developer Guide .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.docdb.*;
 CfnDBCluster cfnDBCluster = CfnDBCluster.Builder.create(this, "MyCfnDBCluster")
         .availabilityZones(List.of("availabilityZones"))
         .backupRetentionPeriod(123)
         .copyTagsToSnapshot(false)
         .dbClusterIdentifier("dbClusterIdentifier")
         .dbClusterParameterGroupName("dbClusterParameterGroupName")
         .dbSubnetGroupName("dbSubnetGroupName")
         .deletionProtection(false)
         .enableCloudwatchLogsExports(List.of("enableCloudwatchLogsExports"))
         .engineVersion("engineVersion")
         .kmsKeyId("kmsKeyId")
         .masterUsername("masterUsername")
         .masterUserPassword("masterUserPassword")
         .port(123)
         .preferredBackupWindow("preferredBackupWindow")
         .preferredMaintenanceWindow("preferredMaintenanceWindow")
         .restoreToTime("restoreToTime")
         .restoreType("restoreType")
         .snapshotIdentifier("snapshotIdentifier")
         .sourceDbClusterIdentifier("sourceDbClusterIdentifier")
         .storageEncrypted(false)
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .useLatestRestorableTime(false)
         .vpcSecurityGroupIds(List.of("vpcSecurityGroupIds"))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnDBCluster

      protected CfnDBCluster(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnDBCluster

      protected CfnDBCluster(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnDBCluster

      @Stability(Stable) public CfnDBCluster(@NotNull Construct scope, @NotNull String id, @Nullable CfnDBClusterProps props)
      Create a new AWS::DocDB::DBCluster.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
    • CfnDBCluster

      @Stability(Stable) public CfnDBCluster(@NotNull Construct scope, @NotNull String id)
      Create a new AWS::DocDB::DBCluster.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrClusterResourceId

      @Stability(Stable) @NotNull public String getAttrClusterResourceId()
      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.

    • getAttrEndpoint

      @Stability(Stable) @NotNull public String getAttrEndpoint()
      The connection endpoint for the cluster, such as sample-cluster.cluster-cozrlsfrcjoc.us-east-1.docdb.amazonaws.com .
    • getAttrPort

      @Stability(Stable) @NotNull public String getAttrPort()
      The port number on which the cluster accepts connections.

      For example: 27017 .

    • getAttrReadEndpoint

      @Stability(Stable) @NotNull public String getAttrReadEndpoint()
      The reader endpoint for the cluster.

      For example: sample-cluster.cluster-ro-cozrlsfrcjoc.us-east-1.docdb.amazonaws.com .

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      The tags to be assigned to the cluster.
    • getAvailabilityZones

      @Stability(Stable) @Nullable public List<String> getAvailabilityZones()
      A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.
    • setAvailabilityZones

      @Stability(Stable) public void setAvailabilityZones(@Nullable List<String> value)
      A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.
    • getBackupRetentionPeriod

      @Stability(Stable) @Nullable public Number getBackupRetentionPeriod()
      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.
    • setBackupRetentionPeriod

      @Stability(Stable) public void setBackupRetentionPeriod(@Nullable Number value)
      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.
    • getCopyTagsToSnapshot

      @Stability(Stable) @Nullable public Object getCopyTagsToSnapshot()
      AWS::DocDB::DBCluster.CopyTagsToSnapshot.
    • setCopyTagsToSnapshot

      @Stability(Stable) public void setCopyTagsToSnapshot(@Nullable Boolean value)
      AWS::DocDB::DBCluster.CopyTagsToSnapshot.
    • setCopyTagsToSnapshot

      @Stability(Stable) public void setCopyTagsToSnapshot(@Nullable IResolvable value)
      AWS::DocDB::DBCluster.CopyTagsToSnapshot.
    • getDbClusterIdentifier

      @Stability(Stable) @Nullable public String getDbClusterIdentifier()
      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

    • setDbClusterIdentifier

      @Stability(Stable) public void setDbClusterIdentifier(@Nullable String value)
      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

    • getDbClusterParameterGroupName

      @Stability(Stable) @Nullable public String getDbClusterParameterGroupName()
      The name of the cluster parameter group to associate with this cluster.
    • setDbClusterParameterGroupName

      @Stability(Stable) public void setDbClusterParameterGroupName(@Nullable String value)
      The name of the cluster parameter group to associate with this cluster.
    • getDbSubnetGroupName

      @Stability(Stable) @Nullable public String getDbSubnetGroupName()
      A subnet group to associate with this cluster.

      Constraints: Must match the name of an existing DBSubnetGroup . Must not be default.

      Example: mySubnetgroup

    • setDbSubnetGroupName

      @Stability(Stable) public void setDbSubnetGroupName(@Nullable String value)
      A subnet group to associate with this cluster.

      Constraints: Must match the name of an existing DBSubnetGroup . Must not be default.

      Example: mySubnetgroup

    • getDeletionProtection

      @Stability(Stable) @Nullable public Object getDeletionProtection()
      Protects clusters from being accidentally deleted.

      If enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled.

    • setDeletionProtection

      @Stability(Stable) public void setDeletionProtection(@Nullable Boolean value)
      Protects clusters from being accidentally deleted.

      If enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled.

    • setDeletionProtection

      @Stability(Stable) public void setDeletionProtection(@Nullable IResolvable value)
      Protects clusters from being accidentally deleted.

      If enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled.

    • getEnableCloudwatchLogsExports

      @Stability(Stable) @Nullable public List<String> getEnableCloudwatchLogsExports()
      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 and Profiling Amazon DocumentDB Operations .

    • setEnableCloudwatchLogsExports

      @Stability(Stable) public void setEnableCloudwatchLogsExports(@Nullable List<String> value)
      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 and Profiling Amazon DocumentDB Operations .

    • getEngineVersion

      @Stability(Stable) @Nullable public String getEngineVersion()
      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.

    • setEngineVersion

      @Stability(Stable) public void setEngineVersion(@Nullable String value)
      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.

    • getKmsKeyId

      @Stability(Stable) @Nullable public String getKmsKeyId()
      The AWS KMS key identifier for an encrypted cluster.

      The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are creating a cluster using the same AWS account that owns the AWS KMS encryption key that is used to encrypt the new cluster, you can use the AWS KMS key alias instead of the ARN for the AWS KMS 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 KMS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .

    • setKmsKeyId

      @Stability(Stable) public void setKmsKeyId(@Nullable String value)
      The AWS KMS key identifier for an encrypted cluster.

      The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are creating a cluster using the same AWS account that owns the AWS KMS encryption key that is used to encrypt the new cluster, you can use the AWS KMS key alias instead of the ARN for the AWS KMS 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 KMS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .

    • getMasterUsername

      @Stability(Stable) @Nullable public String getMasterUsername()
      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.
    • setMasterUsername

      @Stability(Stable) public void setMasterUsername(@Nullable String value)
      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.
    • getMasterUserPassword

      @Stability(Stable) @Nullable public String getMasterUserPassword()
      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.

    • setMasterUserPassword

      @Stability(Stable) public void setMasterUserPassword(@Nullable String value)
      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.

    • getPort

      @Stability(Stable) @Nullable public Number getPort()
      Specifies the port that the database engine is listening on.
    • setPort

      @Stability(Stable) public void setPort(@Nullable Number value)
      Specifies the port that the database engine is listening on.
    • getPreferredBackupWindow

      @Stability(Stable) @Nullable public String getPreferredBackupWindow()
      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.
    • setPreferredBackupWindow

      @Stability(Stable) public void setPreferredBackupWindow(@Nullable String value)
      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.
    • getPreferredMaintenanceWindow

      @Stability(Stable) @Nullable public String getPreferredMaintenanceWindow()
      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.

    • setPreferredMaintenanceWindow

      @Stability(Stable) public void setPreferredMaintenanceWindow(@Nullable String value)
      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.

    • getRestoreToTime

      @Stability(Stable) @Nullable public String getRestoreToTime()
      AWS::DocDB::DBCluster.RestoreToTime.
    • setRestoreToTime

      @Stability(Stable) public void setRestoreToTime(@Nullable String value)
      AWS::DocDB::DBCluster.RestoreToTime.
    • getRestoreType

      @Stability(Stable) @Nullable public String getRestoreType()
      AWS::DocDB::DBCluster.RestoreType.
    • setRestoreType

      @Stability(Stable) public void setRestoreType(@Nullable String value)
      AWS::DocDB::DBCluster.RestoreType.
    • getSnapshotIdentifier

      @Stability(Stable) @Nullable public String getSnapshotIdentifier()
      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.
    • setSnapshotIdentifier

      @Stability(Stable) public void setSnapshotIdentifier(@Nullable String value)
      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.
    • getSourceDbClusterIdentifier

      @Stability(Stable) @Nullable public String getSourceDbClusterIdentifier()
      AWS::DocDB::DBCluster.SourceDBClusterIdentifier.
    • setSourceDbClusterIdentifier

      @Stability(Stable) public void setSourceDbClusterIdentifier(@Nullable String value)
      AWS::DocDB::DBCluster.SourceDBClusterIdentifier.
    • getStorageEncrypted

      @Stability(Stable) @Nullable public Object getStorageEncrypted()
      Specifies whether the cluster is encrypted.
    • setStorageEncrypted

      @Stability(Stable) public void setStorageEncrypted(@Nullable Boolean value)
      Specifies whether the cluster is encrypted.
    • setStorageEncrypted

      @Stability(Stable) public void setStorageEncrypted(@Nullable IResolvable value)
      Specifies whether the cluster is encrypted.
    • getUseLatestRestorableTime

      @Stability(Stable) @Nullable public Object getUseLatestRestorableTime()
      AWS::DocDB::DBCluster.UseLatestRestorableTime.
    • setUseLatestRestorableTime

      @Stability(Stable) public void setUseLatestRestorableTime(@Nullable Boolean value)
      AWS::DocDB::DBCluster.UseLatestRestorableTime.
    • setUseLatestRestorableTime

      @Stability(Stable) public void setUseLatestRestorableTime(@Nullable IResolvable value)
      AWS::DocDB::DBCluster.UseLatestRestorableTime.
    • getVpcSecurityGroupIds

      @Stability(Stable) @Nullable public List<String> getVpcSecurityGroupIds()
      A list of EC2 VPC security groups to associate with this cluster.
    • setVpcSecurityGroupIds

      @Stability(Stable) public void setVpcSecurityGroupIds(@Nullable List<String> value)
      A list of EC2 VPC security groups to associate with this cluster.