Class: AWSCDK::DocDB::CfnDBClusterProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
doc_db/cfn_db_cluster_props.rb

Overview

Properties for defining a CfnDBCluster.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(availability_zones: nil, backup_retention_period: nil, copy_tags_to_snapshot: nil, db_cluster_identifier: nil, db_cluster_parameter_group_name: nil, db_subnet_group_name: nil, deletion_protection: nil, enable_cloudwatch_logs_exports: nil, engine_version: nil, global_cluster_identifier: nil, kms_key_id: nil, manage_master_user_password: nil, master_username: nil, master_user_password: nil, master_user_secret_kms_key_id: nil, network_type: nil, port: nil, preferred_backup_window: nil, preferred_maintenance_window: nil, restore_to_time: nil, restore_type: nil, rotate_master_user_password: nil, serverless_v2_scaling_configuration: nil, snapshot_identifier: nil, source_db_cluster_identifier: nil, storage_encrypted: nil, storage_type: nil, tags: nil, use_latest_restorable_time: nil, vpc_security_group_ids: nil) ⇒ CfnDBClusterProps

Returns a new instance of CfnDBClusterProps.

Parameters:

  • availability_zones (Array<String>, nil) (defaults to: nil)

    A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.

  • backup_retention_period (Numeric, nil) (defaults to: nil)

    The number of days for which automated backups are retained. You must specify a minimum value of 1.

  • copy_tags_to_snapshot (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Set to true to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise false .

  • db_cluster_identifier (String, nil) (defaults to: nil)

    The cluster identifier. This parameter is stored as a lowercase string.

  • db_cluster_parameter_group_name (String, nil) (defaults to: nil)

    The name of the cluster parameter group to associate with this cluster.

  • db_subnet_group_name (String, nil) (defaults to: nil)

    A subnet group to associate with this cluster.

  • deletion_protection (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Protects clusters from being accidentally deleted.

  • enable_cloudwatch_logs_exports (Array<String>, nil) (defaults to: nil)

    The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs.

  • engine_version (String, nil) (defaults to: nil)

    The version number of the database engine to use.

  • global_cluster_identifier (String, nil) (defaults to: nil)

    The cluster identifier of the new global cluster.

  • kms_key_id (String, nil) (defaults to: nil)

    The AWS key identifier for an encrypted cluster.

  • manage_master_user_password (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.

  • master_username (String, nil) (defaults to: nil)

    The name of the master user for the cluster.

  • master_user_password (String, nil) (defaults to: nil)

    The password for the master database user.

  • master_user_secret_kms_key_id (String, nil) (defaults to: nil)

    The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.

  • network_type (String, nil) (defaults to: nil)

    The network type of the cluster.

  • port (Numeric, nil) (defaults to: nil)

    Specifies the port that the database engine is listening on.

  • preferred_backup_window (String, nil) (defaults to: nil)

    The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

  • preferred_maintenance_window (String, nil) (defaults to: nil)

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

  • restore_to_time (String, nil) (defaults to: nil)

    The date and time to restore the cluster to.

  • restore_type (String, nil) (defaults to: nil)

    The type of restore to be performed. You can specify one of the following values:.

  • rotate_master_user_password (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.

  • serverless_v2_scaling_configuration (AWSCDK::IResolvable, AWSCDK::DocDB::CfnDBCluster::ServerlessV2ScalingConfigurationProperty, nil) (defaults to: nil)

    Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.

  • snapshot_identifier (String, nil) (defaults to: nil)

    The identifier for the snapshot or cluster snapshot to restore from.

  • source_db_cluster_identifier (String, nil) (defaults to: nil)

    The identifier of the source cluster from which to restore.

  • storage_encrypted (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether the cluster is encrypted.

  • storage_type (String, nil) (defaults to: nil)

    The storage type to associate with the DB cluster.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The tags to be assigned to the cluster.

  • use_latest_restorable_time (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A value that is set to true to restore the cluster to the latest restorable backup time, and false otherwise.

  • vpc_security_group_ids (Array<String>, nil) (defaults to: nil)

    A list of EC2 VPC security groups to associate with this cluster.



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'doc_db/cfn_db_cluster_props.rb', line 39

def initialize(availability_zones: nil, backup_retention_period: nil, copy_tags_to_snapshot: nil, db_cluster_identifier: nil, db_cluster_parameter_group_name: nil, db_subnet_group_name: nil, deletion_protection: nil, enable_cloudwatch_logs_exports: nil, engine_version: nil, global_cluster_identifier: nil, kms_key_id: nil, manage_master_user_password: nil, master_username: nil, master_user_password: nil, master_user_secret_kms_key_id: nil, network_type: nil, port: nil, preferred_backup_window: nil, preferred_maintenance_window: nil, restore_to_time: nil, restore_type: nil, rotate_master_user_password: nil, serverless_v2_scaling_configuration: nil, snapshot_identifier: nil, source_db_cluster_identifier: nil, storage_encrypted: nil, storage_type: nil, tags: nil, use_latest_restorable_time: nil, vpc_security_group_ids: nil)
  @availability_zones = availability_zones
  Jsii::Type.check_type(@availability_zones, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "availabilityZones") unless @availability_zones.nil?
  @backup_retention_period = backup_retention_period
  Jsii::Type.check_type(@backup_retention_period, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "backupRetentionPeriod") unless @backup_retention_period.nil?
  @copy_tags_to_snapshot = copy_tags_to_snapshot
  Jsii::Type.check_type(@copy_tags_to_snapshot, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "copyTagsToSnapshot") unless @copy_tags_to_snapshot.nil?
  @db_cluster_identifier = db_cluster_identifier
  Jsii::Type.check_type(@db_cluster_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbClusterIdentifier") unless @db_cluster_identifier.nil?
  @db_cluster_parameter_group_name = db_cluster_parameter_group_name
  Jsii::Type.check_type(@db_cluster_parameter_group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbClusterParameterGroupName") unless @db_cluster_parameter_group_name.nil?
  @db_subnet_group_name = db_subnet_group_name
  Jsii::Type.check_type(@db_subnet_group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbSubnetGroupName") unless @db_subnet_group_name.nil?
  @deletion_protection = deletion_protection
  Jsii::Type.check_type(@deletion_protection, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "deletionProtection") unless @deletion_protection.nil?
  @enable_cloudwatch_logs_exports = enable_cloudwatch_logs_exports
  Jsii::Type.check_type(@enable_cloudwatch_logs_exports, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "enableCloudwatchLogsExports") unless @enable_cloudwatch_logs_exports.nil?
  @engine_version = engine_version
  Jsii::Type.check_type(@engine_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engineVersion") unless @engine_version.nil?
  @global_cluster_identifier = global_cluster_identifier
  Jsii::Type.check_type(@global_cluster_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "globalClusterIdentifier") unless @global_cluster_identifier.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
  @manage_master_user_password = manage_master_user_password
  Jsii::Type.check_type(@manage_master_user_password, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "manageMasterUserPassword") unless @manage_master_user_password.nil?
  @master_username = master_username
  Jsii::Type.check_type(@master_username, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterUsername") unless @master_username.nil?
  @master_user_password = master_user_password
  Jsii::Type.check_type(@master_user_password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterUserPassword") unless @master_user_password.nil?
  @master_user_secret_kms_key_id = master_user_secret_kms_key_id
  Jsii::Type.check_type(@master_user_secret_kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterUserSecretKmsKeyId") unless @master_user_secret_kms_key_id.nil?
  @network_type = network_type
  Jsii::Type.check_type(@network_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkType") unless @network_type.nil?
  @port = port
  Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.nil?
  @preferred_backup_window = preferred_backup_window
  Jsii::Type.check_type(@preferred_backup_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredBackupWindow") unless @preferred_backup_window.nil?
  @preferred_maintenance_window = preferred_maintenance_window
  Jsii::Type.check_type(@preferred_maintenance_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredMaintenanceWindow") unless @preferred_maintenance_window.nil?
  @restore_to_time = restore_to_time
  Jsii::Type.check_type(@restore_to_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "restoreToTime") unless @restore_to_time.nil?
  @restore_type = restore_type
  Jsii::Type.check_type(@restore_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "restoreType") unless @restore_type.nil?
  @rotate_master_user_password = rotate_master_user_password
  Jsii::Type.check_type(@rotate_master_user_password, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "rotateMasterUserPassword") unless @rotate_master_user_password.nil?
  @serverless_v2_scaling_configuration = serverless_v2_scaling_configuration.is_a?(Hash) ? ::AWSCDK::DocDB::CfnDBCluster::ServerlessV2ScalingConfigurationProperty.new(**serverless_v2_scaling_configuration.transform_keys(&:to_sym)) : serverless_v2_scaling_configuration
  Jsii::Type.check_type(@serverless_v2_scaling_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kb2NkYi5DZm5EQkNsdXN0ZXIuU2VydmVybGVzc1YyU2NhbGluZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "serverlessV2ScalingConfiguration") unless @serverless_v2_scaling_configuration.nil?
  @snapshot_identifier = snapshot_identifier
  Jsii::Type.check_type(@snapshot_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotIdentifier") unless @snapshot_identifier.nil?
  @source_db_cluster_identifier = source_db_cluster_identifier
  Jsii::Type.check_type(@source_db_cluster_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceDbClusterIdentifier") unless @source_db_cluster_identifier.nil?
  @storage_encrypted = storage_encrypted
  Jsii::Type.check_type(@storage_encrypted, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "storageEncrypted") unless @storage_encrypted.nil?
  @storage_type = storage_type
  Jsii::Type.check_type(@storage_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "storageType") unless @storage_type.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @use_latest_restorable_time = use_latest_restorable_time
  Jsii::Type.check_type(@use_latest_restorable_time, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "useLatestRestorableTime") unless @use_latest_restorable_time.nil?
  @vpc_security_group_ids = vpc_security_group_ids
  Jsii::Type.check_type(@vpc_security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "vpcSecurityGroupIds") unless @vpc_security_group_ids.nil?
end

Instance Attribute Details

#availability_zonesArray<String>? (readonly)

A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.



106
107
108
# File 'doc_db/cfn_db_cluster_props.rb', line 106

def availability_zones
  @availability_zones
end

#backup_retention_periodNumeric? (readonly)

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.


117
118
119
# File 'doc_db/cfn_db_cluster_props.rb', line 117

def backup_retention_period
  @backup_retention_period
end

#copy_tags_to_snapshotBoolean, ... (readonly)

Set to true to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise false .

The default is false .



124
125
126
# File 'doc_db/cfn_db_cluster_props.rb', line 124

def copy_tags_to_snapshot
  @copy_tags_to_snapshot
end

#db_cluster_identifierString? (readonly)

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



137
138
139
# File 'doc_db/cfn_db_cluster_props.rb', line 137

def db_cluster_identifier
  @db_cluster_identifier
end

#db_cluster_parameter_group_nameString? (readonly)

The name of the cluster parameter group to associate with this cluster.



142
143
144
# File 'doc_db/cfn_db_cluster_props.rb', line 142

def db_cluster_parameter_group_name
  @db_cluster_parameter_group_name
end

#db_subnet_group_nameString? (readonly)

A subnet group to associate with this cluster.

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

Example: my_subnetgroup



151
152
153
# File 'doc_db/cfn_db_cluster_props.rb', line 151

def db_subnet_group_name
  @db_subnet_group_name
end

#deletion_protectionBoolean, ... (readonly)

Protects clusters from being accidentally deleted.

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



158
159
160
# File 'doc_db/cfn_db_cluster_props.rb', line 158

def deletion_protection
  @deletion_protection
end

#enable_cloudwatch_logs_exportsArray<String>? (readonly)

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 .



165
166
167
# File 'doc_db/cfn_db_cluster_props.rb', line 165

def enable_cloudwatch_logs_exports
  @enable_cloudwatch_logs_exports
end

#engine_versionString? (readonly)

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 . Note that for an in-place engine version upgrade, you need to remove other cluster properties changes (e.g. SecurityGroupId) from the CFN template.



174
175
176
# File 'doc_db/cfn_db_cluster_props.rb', line 174

def engine_version
  @engine_version
end

#global_cluster_identifierString? (readonly)

The cluster identifier of the new global cluster.



179
180
181
# File 'doc_db/cfn_db_cluster_props.rb', line 179

def global_cluster_identifier
  @global_cluster_identifier
end

#kms_key_idString? (readonly)

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 .



192
193
194
# File 'doc_db/cfn_db_cluster_props.rb', line 192

def kms_key_id
  @kms_key_id
end

#manage_master_user_passwordBoolean, ... (readonly)

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.



199
200
201
# File 'doc_db/cfn_db_cluster_props.rb', line 199

def manage_master_user_password
  @manage_master_user_password
end

#master_user_passwordString? (readonly)

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.



219
220
221
# File 'doc_db/cfn_db_cluster_props.rb', line 219

def master_user_password
  @master_user_password
end

#master_user_secret_kms_key_idString? (readonly)

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.



232
233
234
# File 'doc_db/cfn_db_cluster_props.rb', line 232

def master_user_secret_kms_key_id
  @master_user_secret_kms_key_id
end

#master_usernameString? (readonly)

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.


210
211
212
# File 'doc_db/cfn_db_cluster_props.rb', line 210

def master_username
  @master_username
end

#network_typeString? (readonly)

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

Valid Values: IPV4 | DUAL



243
244
245
# File 'doc_db/cfn_db_cluster_props.rb', line 243

def network_type
  @network_type
end

#portNumeric? (readonly)

Specifies the port that the database engine is listening on.



248
249
250
# File 'doc_db/cfn_db_cluster_props.rb', line 248

def port
  @port
end

#preferred_backup_windowString? (readonly)

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.


262
263
264
# File 'doc_db/cfn_db_cluster_props.rb', line 262

def preferred_backup_window
  @preferred_backup_window
end

#preferred_maintenance_windowString? (readonly)

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.



275
276
277
# File 'doc_db/cfn_db_cluster_props.rb', line 275

def preferred_maintenance_window
  @preferred_maintenance_window
end

#restore_to_timeString? (readonly)

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



291
292
293
# File 'doc_db/cfn_db_cluster_props.rb', line 291

def restore_to_time
  @restore_to_time
end

#restore_typeString? (readonly)

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.



303
304
305
# File 'doc_db/cfn_db_cluster_props.rb', line 303

def restore_type
  @restore_type
end

#rotate_master_user_passwordBoolean, ... (readonly)

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.



312
313
314
# File 'doc_db/cfn_db_cluster_props.rb', line 312

def rotate_master_user_password
  @rotate_master_user_password
end

#serverless_v2_scaling_configurationAWSCDK::IResolvable, ... (readonly)

Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.



317
318
319
# File 'doc_db/cfn_db_cluster_props.rb', line 317

def serverless_v2_scaling_configuration
  @serverless_v2_scaling_configuration
end

#snapshot_identifierString? (readonly)

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.


328
329
330
# File 'doc_db/cfn_db_cluster_props.rb', line 328

def snapshot_identifier
  @snapshot_identifier
end

#source_db_cluster_identifierString? (readonly)

The identifier of the source cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster .


337
338
339
# File 'doc_db/cfn_db_cluster_props.rb', line 337

def source_db_cluster_identifier
  @source_db_cluster_identifier
end

#storage_encryptedBoolean, ... (readonly)

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.



344
345
346
# File 'doc_db/cfn_db_cluster_props.rb', line 344

def storage_encrypted
  @storage_encrypted
end

#storage_typeString? (readonly)

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 .



357
358
359
# File 'doc_db/cfn_db_cluster_props.rb', line 357

def storage_type
  @storage_type
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The tags to be assigned to the cluster.



362
363
364
# File 'doc_db/cfn_db_cluster_props.rb', line 362

def tags
  @tags
end

#use_latest_restorable_timeBoolean, ... (readonly)

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.



371
372
373
# File 'doc_db/cfn_db_cluster_props.rb', line 371

def use_latest_restorable_time
  @use_latest_restorable_time
end

#vpc_security_group_idsArray<String>? (readonly)

A list of EC2 VPC security groups to associate with this cluster.



376
377
378
# File 'doc_db/cfn_db_cluster_props.rb', line 376

def vpc_security_group_ids
  @vpc_security_group_ids
end

Class Method Details

.jsii_propertiesObject



378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
# File 'doc_db/cfn_db_cluster_props.rb', line 378

def self.jsii_properties
  {
    :availability_zones => "availabilityZones",
    :backup_retention_period => "backupRetentionPeriod",
    :copy_tags_to_snapshot => "copyTagsToSnapshot",
    :db_cluster_identifier => "dbClusterIdentifier",
    :db_cluster_parameter_group_name => "dbClusterParameterGroupName",
    :db_subnet_group_name => "dbSubnetGroupName",
    :deletion_protection => "deletionProtection",
    :enable_cloudwatch_logs_exports => "enableCloudwatchLogsExports",
    :engine_version => "engineVersion",
    :global_cluster_identifier => "globalClusterIdentifier",
    :kms_key_id => "kmsKeyId",
    :manage_master_user_password => "manageMasterUserPassword",
    :master_username => "masterUsername",
    :master_user_password => "masterUserPassword",
    :master_user_secret_kms_key_id => "masterUserSecretKmsKeyId",
    :network_type => "networkType",
    :port => "port",
    :preferred_backup_window => "preferredBackupWindow",
    :preferred_maintenance_window => "preferredMaintenanceWindow",
    :restore_to_time => "restoreToTime",
    :restore_type => "restoreType",
    :rotate_master_user_password => "rotateMasterUserPassword",
    :serverless_v2_scaling_configuration => "serverlessV2ScalingConfiguration",
    :snapshot_identifier => "snapshotIdentifier",
    :source_db_cluster_identifier => "sourceDbClusterIdentifier",
    :storage_encrypted => "storageEncrypted",
    :storage_type => "storageType",
    :tags => "tags",
    :use_latest_restorable_time => "useLatestRestorableTime",
    :vpc_security_group_ids => "vpcSecurityGroupIds",
  }
end

Instance Method Details

#to_jsiiObject



413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
# File 'doc_db/cfn_db_cluster_props.rb', line 413

def to_jsii
  result = {}
  result.merge!({
    "availabilityZones" => @availability_zones,
    "backupRetentionPeriod" => @backup_retention_period,
    "copyTagsToSnapshot" => @copy_tags_to_snapshot,
    "dbClusterIdentifier" => @db_cluster_identifier,
    "dbClusterParameterGroupName" => @db_cluster_parameter_group_name,
    "dbSubnetGroupName" => @db_subnet_group_name,
    "deletionProtection" => @deletion_protection,
    "enableCloudwatchLogsExports" => @enable_cloudwatch_logs_exports,
    "engineVersion" => @engine_version,
    "globalClusterIdentifier" => @global_cluster_identifier,
    "kmsKeyId" => @kms_key_id,
    "manageMasterUserPassword" => @manage_master_user_password,
    "masterUsername" => @master_username,
    "masterUserPassword" => @master_user_password,
    "masterUserSecretKmsKeyId" => @master_user_secret_kms_key_id,
    "networkType" => @network_type,
    "port" => @port,
    "preferredBackupWindow" => @preferred_backup_window,
    "preferredMaintenanceWindow" => @preferred_maintenance_window,
    "restoreToTime" => @restore_to_time,
    "restoreType" => @restore_type,
    "rotateMasterUserPassword" => @rotate_master_user_password,
    "serverlessV2ScalingConfiguration" => @serverless_v2_scaling_configuration,
    "snapshotIdentifier" => @snapshot_identifier,
    "sourceDbClusterIdentifier" => @source_db_cluster_identifier,
    "storageEncrypted" => @storage_encrypted,
    "storageType" => @storage_type,
    "tags" => @tags,
    "useLatestRestorableTime" => @use_latest_restorable_time,
    "vpcSecurityGroupIds" => @vpc_security_group_ids,
  })
  result.compact
end