Class: AWSCDK::RDS::DatabaseClusterProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
rds/database_cluster_props.rb

Overview

Properties for a new database cluster.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(engine:, auto_minor_version_upgrade: nil, backtrack_window: nil, backup: nil, cloudwatch_logs_exports: nil, cloudwatch_logs_retention: nil, cloudwatch_logs_retention_role: nil, cluster_identifier: nil, cluster_scailability_type: nil, cluster_scalability_type: nil, copy_tags_to_snapshot: nil, credentials: nil, database_insights_mode: nil, default_database_name: nil, delete_automated_backups: nil, deletion_protection: nil, domain: nil, domain_role: nil, enable_cluster_level_enhanced_monitoring: nil, enable_data_api: nil, enable_local_write_forwarding: nil, enable_performance_insights: nil, engine_lifecycle_support: nil, iam_authentication: nil, instance_identifier_base: nil, instance_props: nil, instances: nil, instance_update_behaviour: nil, manage_master_user_password: nil, monitoring_interval: nil, monitoring_role: nil, network_type: nil, parameter_group: nil, parameters: nil, performance_insight_encryption_key: nil, performance_insight_retention: nil, port: nil, preferred_maintenance_window: nil, readers: nil, removal_policy: nil, replication_source_identifier: nil, s3_export_buckets: nil, s3_export_role: nil, s3_import_buckets: nil, s3_import_role: nil, security_groups: nil, serverless_v2_auto_pause_duration: nil, serverless_v2_max_capacity: nil, serverless_v2_min_capacity: nil, storage_encrypted: nil, storage_encryption_key: nil, storage_type: nil, subnet_group: nil, vpc: nil, vpc_subnets: nil, writer: nil) ⇒ DatabaseClusterProps

Returns a new instance of DatabaseClusterProps.

Parameters:

  • engine (AWSCDK::RDS::IClusterEngine)

    What kind of database to start.

  • auto_minor_version_upgrade (Boolean, nil) (defaults to: nil)

    Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window.

  • backtrack_window (AWSCDK::Duration, nil) (defaults to: nil)

    The number of seconds to set a cluster's target backtrack window to.

  • backup (AWSCDK::RDS::BackupProps, nil) (defaults to: nil)

    Backup settings.

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

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

  • cloudwatch_logs_retention (AWSCDK::Logs::RetentionDays, nil) (defaults to: nil)

    The number of days log events are kept in CloudWatch Logs.

  • cloudwatch_logs_retention_role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    The IAM role for the Lambda function associated with the custom resource that sets the retention policy.

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

    An optional identifier for the cluster.

  • cluster_scailability_type (AWSCDK::RDS::ClusterScailabilityType, nil) (defaults to: nil)

    [Misspelled] Specifies the scalability mode of the Aurora DB cluster.

  • cluster_scalability_type (AWSCDK::RDS::ClusterScalabilityType, nil) (defaults to: nil)

    Specifies the scalability mode of the Aurora DB cluster.

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

    Whether to copy tags to the snapshot when a snapshot is created.

  • credentials (AWSCDK::RDS::Credentials, nil) (defaults to: nil)

    Credentials for the administrative user.

  • database_insights_mode (AWSCDK::RDS::DatabaseInsightsMode, nil) (defaults to: nil)

    The database insights mode.

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

    Name of a database which is automatically created inside the cluster.

  • delete_automated_backups (Boolean, nil) (defaults to: nil)

    Specifies whether to remove automated backups immediately after the DB cluster is deleted.

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

    Indicates whether the DB cluster should have deletion protection enabled.

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

    Directory ID for associating the DB cluster with a specific Active Directory.

  • domain_role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    The IAM role to be used when making API calls to the Directory Service.

  • enable_cluster_level_enhanced_monitoring (Boolean, nil) (defaults to: nil)

    Whether to enable enhanced monitoring at the cluster level.

  • enable_data_api (Boolean, nil) (defaults to: nil)

    Whether to enable the Data API for the cluster.

  • enable_local_write_forwarding (Boolean, nil) (defaults to: nil)

    Whether read replicas can forward write operations to the writer DB instance in the DB cluster.

  • enable_performance_insights (Boolean, nil) (defaults to: nil)

    Whether to enable Performance Insights for the DB cluster.

  • engine_lifecycle_support (AWSCDK::RDS::EngineLifecycleSupport, nil) (defaults to: nil)

    The life cycle type for this DB cluster.

  • iam_authentication (Boolean, nil) (defaults to: nil)

    Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.

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

    Base identifier for instances.

  • instance_props (AWSCDK::RDS::InstanceProps, nil) (defaults to: nil)

    Settings for the individual instances that are launched.

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

    How many replicas/instances to create.

  • instance_update_behaviour (AWSCDK::RDS::InstanceUpdateBehaviour, nil) (defaults to: nil)

    The ordering of updates for instances.

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

    Whether to use RDS native integration with AWS Secrets Manager for master user password management.

  • monitoring_interval (AWSCDK::Duration, nil) (defaults to: nil)

    The interval between points when Amazon RDS collects enhanced monitoring metrics.

  • monitoring_role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    Role that will be used to manage DB monitoring.

  • network_type (AWSCDK::RDS::NetworkType, nil) (defaults to: nil)

    The network type of the DB instance.

  • parameter_group (AWSCDK::RDS::IParameterGroup, nil) (defaults to: nil)

    Additional parameters to pass to the database engine.

  • parameters (Hash{String => String}, nil) (defaults to: nil)

    The parameters in the DBClusterParameterGroup to create automatically.

  • performance_insight_encryption_key (AWSCDK::KMS::IKey, nil) (defaults to: nil)

    The AWS KMS key for encryption of Performance Insights data.

  • performance_insight_retention (AWSCDK::RDS::PerformanceInsightRetention, nil) (defaults to: nil)

    The amount of time, in days, to retain Performance Insights data.

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

    What port to listen on.

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

    A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC).

  • readers (Array<AWSCDK::RDS::IClusterInstance>, nil) (defaults to: nil)

    A list of instances to create as cluster reader instances.

  • removal_policy (AWSCDK::RemovalPolicy, nil) (defaults to: nil)

    The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update.

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

    The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.

  • s3_export_buckets (Array<AWSCDK::S3::IBucket>, nil) (defaults to: nil)

    S3 buckets that you want to load data into. This feature is only supported by the Aurora database engine.

  • s3_export_role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    Role that will be associated with this DB cluster to enable S3 export.

  • s3_import_buckets (Array<AWSCDK::S3::IBucket>, nil) (defaults to: nil)

    S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine.

  • s3_import_role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    Role that will be associated with this DB cluster to enable S3 import.

  • security_groups (Array<AWSCDK::EC2::ISecurityGroup>, nil) (defaults to: nil)

    Security group.

  • serverless_v2_auto_pause_duration (AWSCDK::Duration, nil) (defaults to: nil)

    Specifies the duration an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it.

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

    The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster.

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

    The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster.

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

    Whether to enable storage encryption.

  • storage_encryption_key (AWSCDK::Interfaces::AWSKMS::IKeyRef, nil) (defaults to: nil)

    The KMS key for storage encryption.

  • storage_type (AWSCDK::RDS::DBClusterStorageType, nil) (defaults to: nil)

    The storage type to be associated with the DB cluster.

  • subnet_group (AWSCDK::Interfaces::AWSRDS::IDBSubnetGroupRef, nil) (defaults to: nil)

    Existing subnet group for the cluster.

  • vpc (AWSCDK::EC2::IVPC, nil) (defaults to: nil)

    What subnets to run the RDS instances in.

  • vpc_subnets (AWSCDK::EC2::SubnetSelection, nil) (defaults to: nil)

    Where to place the instances within the VPC.

  • writer (AWSCDK::RDS::IClusterInstance, nil) (defaults to: nil)

    The instance to use for the cluster writer.



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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# File 'rds/database_cluster_props.rb', line 63

def initialize(engine:, auto_minor_version_upgrade: nil, backtrack_window: nil, backup: nil, cloudwatch_logs_exports: nil, cloudwatch_logs_retention: nil, cloudwatch_logs_retention_role: nil, cluster_identifier: nil, cluster_scailability_type: nil, cluster_scalability_type: nil, copy_tags_to_snapshot: nil, credentials: nil, database_insights_mode: nil, default_database_name: nil, delete_automated_backups: nil, deletion_protection: nil, domain: nil, domain_role: nil, enable_cluster_level_enhanced_monitoring: nil, enable_data_api: nil, enable_local_write_forwarding: nil, enable_performance_insights: nil, engine_lifecycle_support: nil, iam_authentication: nil, instance_identifier_base: nil, instance_props: nil, instances: nil, instance_update_behaviour: nil, manage_master_user_password: nil, monitoring_interval: nil, monitoring_role: nil, network_type: nil, parameter_group: nil, parameters: nil, performance_insight_encryption_key: nil, performance_insight_retention: nil, port: nil, preferred_maintenance_window: nil, readers: nil, removal_policy: nil, replication_source_identifier: nil, s3_export_buckets: nil, s3_export_role: nil, s3_import_buckets: nil, s3_import_role: nil, security_groups: nil, serverless_v2_auto_pause_duration: nil, serverless_v2_max_capacity: nil, serverless_v2_min_capacity: nil, storage_encrypted: nil, storage_encryption_key: nil, storage_type: nil, subnet_group: nil, vpc: nil, vpc_subnets: nil, writer: nil)
  @engine = engine
  Jsii::Type.check_type(@engine, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLklDbHVzdGVyRW5naW5lIn0=")), "engine")
  @auto_minor_version_upgrade = auto_minor_version_upgrade
  Jsii::Type.check_type(@auto_minor_version_upgrade, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "autoMinorVersionUpgrade") unless @auto_minor_version_upgrade.nil?
  @backtrack_window = backtrack_window
  Jsii::Type.check_type(@backtrack_window, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "backtrackWindow") unless @backtrack_window.nil?
  @backup = backup.is_a?(Hash) ? ::AWSCDK::RDS::BackupProps.new(**backup.transform_keys(&:to_sym)) : backup
  Jsii::Type.check_type(@backup, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkJhY2t1cFByb3BzIn0=")), "backup") unless @backup.nil?
  @cloudwatch_logs_exports = cloudwatch_logs_exports
  Jsii::Type.check_type(@cloudwatch_logs_exports, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "cloudwatchLogsExports") unless @cloudwatch_logs_exports.nil?
  @cloudwatch_logs_retention = cloudwatch_logs_retention
  Jsii::Type.check_type(@cloudwatch_logs_retention, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbG9ncy5SZXRlbnRpb25EYXlzIn0=")), "cloudwatchLogsRetention") unless @cloudwatch_logs_retention.nil?
  @cloudwatch_logs_retention_role = cloudwatch_logs_retention_role
  Jsii::Type.check_type(@cloudwatch_logs_retention_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "cloudwatchLogsRetentionRole") unless @cloudwatch_logs_retention_role.nil?
  @cluster_identifier = cluster_identifier
  Jsii::Type.check_type(@cluster_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterIdentifier") unless @cluster_identifier.nil?
  @cluster_scailability_type = cluster_scailability_type
  Jsii::Type.check_type(@cluster_scailability_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkNsdXN0ZXJTY2FpbGFiaWxpdHlUeXBlIn0=")), "clusterScailabilityType") unless @cluster_scailability_type.nil?
  @cluster_scalability_type = cluster_scalability_type
  Jsii::Type.check_type(@cluster_scalability_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkNsdXN0ZXJTY2FsYWJpbGl0eVR5cGUifQ==")), "clusterScalabilityType") unless @cluster_scalability_type.nil?
  @copy_tags_to_snapshot = copy_tags_to_snapshot
  Jsii::Type.check_type(@copy_tags_to_snapshot, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "copyTagsToSnapshot") unless @copy_tags_to_snapshot.nil?
  @credentials = credentials
  Jsii::Type.check_type(@credentials, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkNyZWRlbnRpYWxzIn0=")), "credentials") unless @credentials.nil?
  @database_insights_mode = database_insights_mode
  Jsii::Type.check_type(@database_insights_mode, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkRhdGFiYXNlSW5zaWdodHNNb2RlIn0=")), "databaseInsightsMode") unless @database_insights_mode.nil?
  @default_database_name = default_database_name
  Jsii::Type.check_type(@default_database_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultDatabaseName") unless @default_database_name.nil?
  @delete_automated_backups = delete_automated_backups
  Jsii::Type.check_type(@delete_automated_backups, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "deleteAutomatedBackups") unless @delete_automated_backups.nil?
  @deletion_protection = deletion_protection
  Jsii::Type.check_type(@deletion_protection, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "deletionProtection") unless @deletion_protection.nil?
  @domain = domain
  Jsii::Type.check_type(@domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domain") unless @domain.nil?
  @domain_role = domain_role
  Jsii::Type.check_type(@domain_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "domainRole") unless @domain_role.nil?
  @enable_cluster_level_enhanced_monitoring = enable_cluster_level_enhanced_monitoring
  Jsii::Type.check_type(@enable_cluster_level_enhanced_monitoring, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableClusterLevelEnhancedMonitoring") unless @enable_cluster_level_enhanced_monitoring.nil?
  @enable_data_api = enable_data_api
  Jsii::Type.check_type(@enable_data_api, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableDataApi") unless @enable_data_api.nil?
  @enable_local_write_forwarding = enable_local_write_forwarding
  Jsii::Type.check_type(@enable_local_write_forwarding, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableLocalWriteForwarding") unless @enable_local_write_forwarding.nil?
  @enable_performance_insights = enable_performance_insights
  Jsii::Type.check_type(@enable_performance_insights, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enablePerformanceInsights") unless @enable_performance_insights.nil?
  @engine_lifecycle_support = engine_lifecycle_support
  Jsii::Type.check_type(@engine_lifecycle_support, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkVuZ2luZUxpZmVjeWNsZVN1cHBvcnQifQ==")), "engineLifecycleSupport") unless @engine_lifecycle_support.nil?
  @iam_authentication = iam_authentication
  Jsii::Type.check_type(@iam_authentication, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "iamAuthentication") unless @iam_authentication.nil?
  @instance_identifier_base = instance_identifier_base
  Jsii::Type.check_type(@instance_identifier_base, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceIdentifierBase") unless @instance_identifier_base.nil?
  @instance_props = instance_props.is_a?(Hash) ? ::AWSCDK::RDS::InstanceProps.new(**instance_props.transform_keys(&:to_sym)) : instance_props
  Jsii::Type.check_type(@instance_props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkluc3RhbmNlUHJvcHMifQ==")), "instanceProps") unless @instance_props.nil?
  @instances = instances
  Jsii::Type.check_type(@instances, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "instances") unless @instances.nil?
  @instance_update_behaviour = instance_update_behaviour
  Jsii::Type.check_type(@instance_update_behaviour, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkluc3RhbmNlVXBkYXRlQmVoYXZpb3VyIn0=")), "instanceUpdateBehaviour") unless @instance_update_behaviour.nil?
  @manage_master_user_password = manage_master_user_password
  Jsii::Type.check_type(@manage_master_user_password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "manageMasterUserPassword") unless @manage_master_user_password.nil?
  @monitoring_interval = monitoring_interval
  Jsii::Type.check_type(@monitoring_interval, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "monitoringInterval") unless @monitoring_interval.nil?
  @monitoring_role = monitoring_role
  Jsii::Type.check_type(@monitoring_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "monitoringRole") unless @monitoring_role.nil?
  @network_type = network_type
  Jsii::Type.check_type(@network_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLk5ldHdvcmtUeXBlIn0=")), "networkType") unless @network_type.nil?
  @parameter_group = parameter_group
  Jsii::Type.check_type(@parameter_group, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLklQYXJhbWV0ZXJHcm91cCJ9")), "parameterGroup") unless @parameter_group.nil?
  @parameters = parameters
  Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "parameters") unless @parameters.nil?
  @performance_insight_encryption_key = performance_insight_encryption_key
  Jsii::Type.check_type(@performance_insight_encryption_key, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa21zLklLZXkifQ==")), "performanceInsightEncryptionKey") unless @performance_insight_encryption_key.nil?
  @performance_insight_retention = performance_insight_retention
  Jsii::Type.check_type(@performance_insight_retention, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLlBlcmZvcm1hbmNlSW5zaWdodFJldGVudGlvbiJ9")), "performanceInsightRetention") unless @performance_insight_retention.nil?
  @port = port
  Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.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?
  @readers = readers
  Jsii::Type.check_type(@readers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZHMuSUNsdXN0ZXJJbnN0YW5jZSJ9LCJraW5kIjoiYXJyYXkifX0=")), "readers") unless @readers.nil?
  @removal_policy = removal_policy
  Jsii::Type.check_type(@removal_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "removalPolicy") unless @removal_policy.nil?
  @replication_source_identifier = replication_source_identifier
  Jsii::Type.check_type(@replication_source_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationSourceIdentifier") unless @replication_source_identifier.nil?
  @s3_export_buckets = s3_export_buckets
  Jsii::Type.check_type(@s3_export_buckets, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5JQnVja2V0In0sImtpbmQiOiJhcnJheSJ9fQ==")), "s3ExportBuckets") unless @s3_export_buckets.nil?
  @s3_export_role = s3_export_role
  Jsii::Type.check_type(@s3_export_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "s3ExportRole") unless @s3_export_role.nil?
  @s3_import_buckets = s3_import_buckets
  Jsii::Type.check_type(@s3_import_buckets, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5JQnVja2V0In0sImtpbmQiOiJhcnJheSJ9fQ==")), "s3ImportBuckets") unless @s3_import_buckets.nil?
  @s3_import_role = s3_import_role
  Jsii::Type.check_type(@s3_import_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "s3ImportRole") unless @s3_import_role.nil?
  @security_groups = security_groups
  Jsii::Type.check_type(@security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuSVNlY3VyaXR5R3JvdXAifSwia2luZCI6ImFycmF5In19")), "securityGroups") unless @security_groups.nil?
  @serverless_v2_auto_pause_duration = serverless_v2_auto_pause_duration
  Jsii::Type.check_type(@serverless_v2_auto_pause_duration, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "serverlessV2AutoPauseDuration") unless @serverless_v2_auto_pause_duration.nil?
  @serverless_v2_max_capacity = serverless_v2_max_capacity
  Jsii::Type.check_type(@serverless_v2_max_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "serverlessV2MaxCapacity") unless @serverless_v2_max_capacity.nil?
  @serverless_v2_min_capacity = serverless_v2_min_capacity
  Jsii::Type.check_type(@serverless_v2_min_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "serverlessV2MinCapacity") unless @serverless_v2_min_capacity.nil?
  @storage_encrypted = storage_encrypted
  Jsii::Type.check_type(@storage_encrypted, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "storageEncrypted") unless @storage_encrypted.nil?
  @storage_encryption_key = storage_encryption_key
  Jsii::Type.check_type(@storage_encryption_key, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19rbXMuSUtleVJlZiJ9")), "storageEncryptionKey") unless @storage_encryption_key.nil?
  @storage_type = storage_type
  Jsii::Type.check_type(@storage_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkRCQ2x1c3RlclN0b3JhZ2VUeXBlIn0=")), "storageType") unless @storage_type.nil?
  @subnet_group = subnet_group
  Jsii::Type.check_type(@subnet_group, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19yZHMuSURCU3VibmV0R3JvdXBSZWYifQ==")), "subnetGroup") unless @subnet_group.nil?
  @vpc = vpc
  Jsii::Type.check_type(@vpc, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLklWcGMifQ==")), "vpc") unless @vpc.nil?
  @vpc_subnets = vpc_subnets.is_a?(Hash) ? ::AWSCDK::EC2::SubnetSelection.new(**vpc_subnets.transform_keys(&:to_sym)) : vpc_subnets
  Jsii::Type.check_type(@vpc_subnets, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLlN1Ym5ldFNlbGVjdGlvbiJ9")), "vpcSubnets") unless @vpc_subnets.nil?
  @writer = writer
  Jsii::Type.check_type(@writer, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLklDbHVzdGVySW5zdGFuY2UifQ==")), "writer") unless @writer.nil?
end

Instance Attribute Details

#auto_minor_version_upgradeBoolean? (readonly)

Note:

Default: true

Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window.

Returns:

  • (Boolean, nil)


186
187
188
# File 'rds/database_cluster_props.rb', line 186

def auto_minor_version_upgrade
  @auto_minor_version_upgrade
end

#backtrack_windowAWSCDK::Duration? (readonly)

Note:

Default: 0 seconds (no backtrack)

The number of seconds to set a cluster's target backtrack window to.

This feature is only supported by the Aurora MySQL database engine and cannot be enabled on existing clusters.



195
196
197
# File 'rds/database_cluster_props.rb', line 195

def backtrack_window
  @backtrack_window
end

#backupAWSCDK::RDS::BackupProps? (readonly)

Note:

Default: - Backup retention period for automated backups is 1 day. Backup preferred window is set to 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.

Backup settings.



201
202
203
# File 'rds/database_cluster_props.rb', line 201

def backup
  @backup
end

#cloudwatch_logs_exportsArray<String>? (readonly)

Note:

Default: - no log exports

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

Returns:

  • (Array<String>, nil)


206
207
208
# File 'rds/database_cluster_props.rb', line 206

def cloudwatch_logs_exports
  @cloudwatch_logs_exports
end

#cloudwatch_logs_retentionAWSCDK::Logs::RetentionDays? (readonly)

Note:

Default: - logs never expire

The number of days log events are kept in CloudWatch Logs.

When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to Infinity.

Returns:



215
216
217
# File 'rds/database_cluster_props.rb', line 215

def cloudwatch_logs_retention
  @cloudwatch_logs_retention
end

#cloudwatch_logs_retention_roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - a new role is created.

The IAM role for the Lambda function associated with the custom resource that sets the retention policy.

Returns:



220
221
222
# File 'rds/database_cluster_props.rb', line 220

def cloudwatch_logs_retention_role
  @cloudwatch_logs_retention_role
end

#cluster_identifierString? (readonly)

Note:

Default: - A name is automatically generated.

An optional identifier for the cluster.

Returns:

  • (String, nil)


225
226
227
# File 'rds/database_cluster_props.rb', line 225

def cluster_identifier
  @cluster_identifier
end

#cluster_scailability_typeAWSCDK::RDS::ClusterScailabilityType? (readonly)

Deprecated.

Use clusterScalabilityType instead. This will be removed in the next major version.

Note:

Default: ClusterScailabilityType.STANDARD

[Misspelled] Specifies the scalability mode of the Aurora DB cluster.

Set LIMITLESS if you want to use a limitless database; otherwise, set it to STANDARD.



233
234
235
# File 'rds/database_cluster_props.rb', line 233

def cluster_scailability_type
  @cluster_scailability_type
end

#cluster_scalability_typeAWSCDK::RDS::ClusterScalabilityType? (readonly)

Note:

Default: ClusterScalabilityType.STANDARD

Specifies the scalability mode of the Aurora DB cluster.

Set LIMITLESS if you want to use a limitless database; otherwise, set it to STANDARD.



240
241
242
# File 'rds/database_cluster_props.rb', line 240

def cluster_scalability_type
  @cluster_scalability_type
end

#copy_tags_to_snapshotBoolean? (readonly)

Note:

Default: - true

Whether to copy tags to the snapshot when a snapshot is created.

Returns:

  • (Boolean, nil)


245
246
247
# File 'rds/database_cluster_props.rb', line 245

def copy_tags_to_snapshot
  @copy_tags_to_snapshot
end

#credentialsAWSCDK::RDS::Credentials? (readonly)

Note:

Default: - A username of 'admin' (or 'postgres' for PostgreSQL) and SecretsManager-generated password

Credentials for the administrative user.

Returns:



250
251
252
# File 'rds/database_cluster_props.rb', line 250

def credentials
  @credentials
end

#database_insights_modeAWSCDK::RDS::DatabaseInsightsMode? (readonly)

Note:

Default: - DatabaseInsightsMode.STANDARD when performance insights are enabled and Amazon Aurora engine is used, otherwise not set.

The database insights mode.



255
256
257
# File 'rds/database_cluster_props.rb', line 255

def database_insights_mode
  @database_insights_mode
end

#default_database_nameString? (readonly)

Note:

Default: - Database is not created in cluster.

Name of a database which is automatically created inside the cluster.

Returns:

  • (String, nil)


260
261
262
# File 'rds/database_cluster_props.rb', line 260

def default_database_name
  @default_database_name
end

#delete_automated_backupsBoolean? (readonly)

Note:

Default: undefined - AWS RDS default is to remove automated backups immediately after the DB cluster is deleted, unless the AWS Backup policy specifies a point-in-time restore rule.

Specifies whether to remove automated backups immediately after the DB cluster is deleted.

Returns:

  • (Boolean, nil)


265
266
267
# File 'rds/database_cluster_props.rb', line 265

def delete_automated_backups
  @delete_automated_backups
end

#deletion_protectionBoolean? (readonly)

Note:

Default: - true if removalPolicy is RETAIN, undefined otherwise, which will not enable deletion protection. To disable deletion protection after it has been enabled, you must explicitly set this value to false.

Indicates whether the DB cluster should have deletion protection enabled.

Returns:

  • (Boolean, nil)


270
271
272
# File 'rds/database_cluster_props.rb', line 270

def deletion_protection
  @deletion_protection
end

#domainString? (readonly)

Note:

Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled.

Directory ID for associating the DB cluster with a specific Active Directory.

Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled.

Returns:

  • (String, nil)


278
279
280
# File 'rds/database_cluster_props.rb', line 278

def domain
  @domain
end

#domain_roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - If DatabaseClusterBaseProps.domain is specified, a role with the AmazonRDSDirectoryServiceAccess policy is automatically created.

The IAM role to be used when making API calls to the Directory Service.

The role needs the AWS-managed policy AmazonRDSDirectoryServiceAccess or equivalent.

Returns:



286
287
288
# File 'rds/database_cluster_props.rb', line 286

def domain_role
  @domain_role
end

#enable_cluster_level_enhanced_monitoringBoolean? (readonly)

Note:

Default: - When the monitoringInterval is set, enhanced monitoring is enabled for each instance.

Whether to enable enhanced monitoring at the cluster level.

If set to true, monitoring_interval and monitoring_role are applied to not the instances, but the cluster. monitoring_interval is required to be set if enable_cluster_level_enhanced_monitoring is set to true.

Returns:

  • (Boolean, nil)


294
295
296
# File 'rds/database_cluster_props.rb', line 294

def enable_cluster_level_enhanced_monitoring
  @enable_cluster_level_enhanced_monitoring
end

#enable_data_apiBoolean? (readonly)

Note:

Default: - false

Whether to enable the Data API for the cluster.

Returns:

  • (Boolean, nil)


299
300
301
# File 'rds/database_cluster_props.rb', line 299

def enable_data_api
  @enable_data_api
end

#enable_local_write_forwardingBoolean? (readonly)

Note:

Default: false

Whether read replicas can forward write operations to the writer DB instance in the DB cluster.

This setting can only be enabled for Aurora MySQL 3.04 or higher, and for Aurora PostgreSQL 16.4 or higher (for version 16), 15.8 or higher (for version 15), and 14.13 or higher (for version 14).



308
309
310
# File 'rds/database_cluster_props.rb', line 308

def enable_local_write_forwarding
  @enable_local_write_forwarding
end

#enable_performance_insightsBoolean? (readonly)

Note:

Default: - false, unless performanceInsightRetention or performanceInsightEncryptionKey is set, or databaseInsightsMode is set to DatabaseInsightsMode.ADVANCED.

Whether to enable Performance Insights for the DB cluster.

Returns:

  • (Boolean, nil)


313
314
315
# File 'rds/database_cluster_props.rb', line 313

def enable_performance_insights
  @enable_performance_insights
end

#engineAWSCDK::RDS::IClusterEngine (readonly)

What kind of database to start.



181
182
183
# File 'rds/database_cluster_props.rb', line 181

def engine
  @engine
end

#engine_lifecycle_supportAWSCDK::RDS::EngineLifecycleSupport? (readonly)

Note:

Default: undefined - AWS RDS default setting is EngineLifecycleSupport.OPEN_SOURCE_RDS_EXTENDED_SUPPORT

The life cycle type for this DB cluster.



319
320
321
# File 'rds/database_cluster_props.rb', line 319

def engine_lifecycle_support
  @engine_lifecycle_support
end

#iam_authenticationBoolean? (readonly)

Note:

Default: false

Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.

Returns:

  • (Boolean, nil)


324
325
326
# File 'rds/database_cluster_props.rb', line 324

def iam_authentication
  @iam_authentication
end

#instance_identifier_baseString? (readonly)

Note:

Default: - clusterIdentifier is used with the word "Instance" appended. If clusterIdentifier is not provided, the identifier is automatically generated.

Base identifier for instances.

Every replica is named by appending the replica number to this string, 1-based.

Returns:

  • (String, nil)


331
332
333
# File 'rds/database_cluster_props.rb', line 331

def instance_identifier_base
  @instance_identifier_base
end

#instance_propsAWSCDK::RDS::InstanceProps? (readonly)

Deprecated.
  • use writer and readers instead

Settings for the individual instances that are launched.

Returns:



336
337
338
# File 'rds/database_cluster_props.rb', line 336

def instance_props
  @instance_props
end

#instance_update_behaviourAWSCDK::RDS::InstanceUpdateBehaviour? (readonly)

Note:

Default: InstanceUpdateBehaviour.BULK

The ordering of updates for instances.



349
350
351
# File 'rds/database_cluster_props.rb', line 349

def instance_update_behaviour
  @instance_update_behaviour
end

#instancesNumeric? (readonly)

Deprecated.
  • use writer and readers instead
Note:

Default: 2

How many replicas/instances to create.

Has to be at least 1.

Returns:

  • (Numeric, nil)


344
345
346
# File 'rds/database_cluster_props.rb', line 344

def instances
  @instances
end

#manage_master_user_passwordBoolean? (readonly)

Note:

Default: false

Whether to use RDS native integration with AWS Secrets Manager for master user password management.

When enabled, RDS generates and manages the master user password in Secrets Manager. Cannot be used together with credentials containing a password.



358
359
360
# File 'rds/database_cluster_props.rb', line 358

def manage_master_user_password
  @manage_master_user_password
end

#monitoring_intervalAWSCDK::Duration? (readonly)

Note:

Default: - no enhanced monitoring

The interval between points when Amazon RDS collects enhanced monitoring metrics.

If you enable enable_cluster_level_enhanced_monitoring, this property is applied to the cluster, otherwise it is applied to the instances.

Returns:



366
367
368
# File 'rds/database_cluster_props.rb', line 366

def monitoring_interval
  @monitoring_interval
end

#monitoring_roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - A role is automatically created for you

Role that will be used to manage DB monitoring.

If you enable enable_cluster_level_enhanced_monitoring, this property is applied to the cluster, otherwise it is applied to the instances.

Returns:



374
375
376
# File 'rds/database_cluster_props.rb', line 374

def monitoring_role
  @monitoring_role
end

#network_typeAWSCDK::RDS::NetworkType? (readonly)

Note:

Default: - IPV4

The network type of the DB instance.

Returns:



379
380
381
# File 'rds/database_cluster_props.rb', line 379

def network_type
  @network_type
end

#parameter_groupAWSCDK::RDS::IParameterGroup? (readonly)

Note:

Default: - No parameter group.

Additional parameters to pass to the database engine.



384
385
386
# File 'rds/database_cluster_props.rb', line 384

def parameter_group
  @parameter_group
end

#parametersHash{String => String}? (readonly)

Note:

Default: - None

The parameters in the DBClusterParameterGroup to create automatically.

You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBClusterParameterGroup.

Returns:

  • (Hash{String => String}, nil)


392
393
394
# File 'rds/database_cluster_props.rb', line 392

def parameters
  @parameters
end

#performance_insight_encryption_keyAWSCDK::KMS::IKey? (readonly)

Note:

Default: - default master key

The AWS KMS key for encryption of Performance Insights data.

Returns:



397
398
399
# File 'rds/database_cluster_props.rb', line 397

def performance_insight_encryption_key
  @performance_insight_encryption_key
end

#performance_insight_retentionAWSCDK::RDS::PerformanceInsightRetention? (readonly)

Note:

Default: - 7

The amount of time, in days, to retain Performance Insights data.

If you set database_insights_mode to DatabaseInsightsMode.ADVANCED, you must set this property to PerformanceInsightRetention.MONTHS_15.



404
405
406
# File 'rds/database_cluster_props.rb', line 404

def performance_insight_retention
  @performance_insight_retention
end

#portNumeric? (readonly)

Note:

Default: - The default for the engine is used.

What port to listen on.

Returns:

  • (Numeric, nil)


409
410
411
# File 'rds/database_cluster_props.rb', line 409

def port
  @port
end

#preferred_maintenance_windowString? (readonly)

Note:

Default: - 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.

A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC).

Example: 'Sun:23:45-Mon:00:15'



417
418
419
# File 'rds/database_cluster_props.rb', line 417

def preferred_maintenance_window
  @preferred_maintenance_window
end

#readersArray<AWSCDK::RDS::IClusterInstance>? (readonly)

Note:

Default: - no readers are created. The cluster will have a single writer/reader

A list of instances to create as cluster reader instances.

Returns:



422
423
424
# File 'rds/database_cluster_props.rb', line 422

def readers
  @readers
end

#removal_policyAWSCDK::RemovalPolicy? (readonly)

Note:

Default: - RemovalPolicy.SNAPSHOT (remove the cluster and instances, but retain a snapshot of the data)

The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update.

Returns:



427
428
429
# File 'rds/database_cluster_props.rb', line 427

def removal_policy
  @removal_policy
end

#replication_source_identifierString? (readonly)

Note:

Default: - This DB Cluster is not a read replica

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.

Cannot be used with credentials.

Returns:

  • (String, nil)


434
435
436
# File 'rds/database_cluster_props.rb', line 434

def replication_source_identifier
  @replication_source_identifier
end

#s3_export_bucketsArray<AWSCDK::S3::IBucket>? (readonly)

Note:

Default: - None

S3 buckets that you want to load data into. This feature is only supported by the Aurora database engine.

This property must not be used if s3_export_role is used.

For MySQL:



444
445
446
# File 'rds/database_cluster_props.rb', line 444

def s3_export_buckets
  @s3_export_buckets
end

#s3_export_roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - New role is created if s3ExportBuckets is set, no role is defined otherwise

Role that will be associated with this DB cluster to enable S3 export.

This feature is only supported by the Aurora database engine.

This property must not be used if s3_export_buckets is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 export feature enabled when creating the DatabaseClusterEngine For MySQL:



456
457
458
# File 'rds/database_cluster_props.rb', line 456

def s3_export_role
  @s3_export_role
end

#s3_import_bucketsArray<AWSCDK::S3::IBucket>? (readonly)

Note:

Default: - None

S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine.

This property must not be used if s3_import_role is used.

For MySQL:



466
467
468
# File 'rds/database_cluster_props.rb', line 466

def s3_import_buckets
  @s3_import_buckets
end

#s3_import_roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - New role is created if s3ImportBuckets is set, no role is defined otherwise

Role that will be associated with this DB cluster to enable S3 import.

This feature is only supported by the Aurora database engine.

This property must not be used if s3_import_buckets is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine For MySQL:



478
479
480
# File 'rds/database_cluster_props.rb', line 478

def s3_import_role
  @s3_import_role
end

#security_groupsArray<AWSCDK::EC2::ISecurityGroup>? (readonly)

Note:

Default: - a new security group is created.

Security group.

Returns:



483
484
485
# File 'rds/database_cluster_props.rb', line 483

def security_groups
  @security_groups
end

#serverless_v2_auto_pause_durationAWSCDK::Duration? (readonly)

Note:

Default: - The default is 300 seconds (5 minutes).

Specifies the duration an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it.

The duration must be between 300 seconds (5 minutes) and 86,400 seconds (24 hours).



491
492
493
# File 'rds/database_cluster_props.rb', line 491

def serverless_v2_auto_pause_duration
  @serverless_v2_auto_pause_duration
end

#serverless_v2_max_capacityNumeric? (readonly)

Note:

Default: 2

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 256.

The maximum capacity must be higher than 0.5 ACUs.



502
503
504
# File 'rds/database_cluster_props.rb', line 502

def serverless_v2_max_capacity
  @serverless_v2_max_capacity
end

#serverless_v2_min_capacityNumeric? (readonly)

Note:

Default: 0.5

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. The smallest value that you can use is 0.

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.



514
515
516
# File 'rds/database_cluster_props.rb', line 514

def serverless_v2_min_capacity
  @serverless_v2_min_capacity
end

#storage_encryptedBoolean? (readonly)

Note:

Default: - true if storageEncryptionKey is provided, false otherwise

Whether to enable storage encryption.

Returns:

  • (Boolean, nil)


519
520
521
# File 'rds/database_cluster_props.rb', line 519

def storage_encrypted
  @storage_encrypted
end

#storage_encryption_keyAWSCDK::Interfaces::AWSKMS::IKeyRef? (readonly)

Note:

Default: - if storageEncrypted is true then the default master key, no key otherwise

The KMS key for storage encryption.

If specified, storage_encrypted will be set to true.



526
527
528
# File 'rds/database_cluster_props.rb', line 526

def storage_encryption_key
  @storage_encryption_key
end

#storage_typeAWSCDK::RDS::DBClusterStorageType? (readonly)

Note:

Default: - DBClusterStorageType.AURORA

The storage type to be associated with the DB cluster.



531
532
533
# File 'rds/database_cluster_props.rb', line 531

def storage_type
  @storage_type
end

#subnet_groupAWSCDK::Interfaces::AWSRDS::IDBSubnetGroupRef? (readonly)

Note:

Default: - a new subnet group will be created.

Existing subnet group for the cluster.



536
537
538
# File 'rds/database_cluster_props.rb', line 536

def subnet_group
  @subnet_group
end

#vpcAWSCDK::EC2::IVPC? (readonly)

What subnets to run the RDS instances in.

Must be at least 2 subnets in two different AZs.

Returns:



542
543
544
# File 'rds/database_cluster_props.rb', line 542

def vpc
  @vpc
end

#vpc_subnetsAWSCDK::EC2::SubnetSelection? (readonly)

Note:

Default: - the Vpc default strategy if not specified.

Where to place the instances within the VPC.



547
548
549
# File 'rds/database_cluster_props.rb', line 547

def vpc_subnets
  @vpc_subnets
end

#writerAWSCDK::RDS::IClusterInstance? (readonly)

Note:

Default: - required if instanceProps is not provided

The instance to use for the cluster writer.



552
553
554
# File 'rds/database_cluster_props.rb', line 552

def writer
  @writer
end

Class Method Details

.jsii_propertiesObject



554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
# File 'rds/database_cluster_props.rb', line 554

def self.jsii_properties
  {
    :engine => "engine",
    :auto_minor_version_upgrade => "autoMinorVersionUpgrade",
    :backtrack_window => "backtrackWindow",
    :backup => "backup",
    :cloudwatch_logs_exports => "cloudwatchLogsExports",
    :cloudwatch_logs_retention => "cloudwatchLogsRetention",
    :cloudwatch_logs_retention_role => "cloudwatchLogsRetentionRole",
    :cluster_identifier => "clusterIdentifier",
    :cluster_scailability_type => "clusterScailabilityType",
    :cluster_scalability_type => "clusterScalabilityType",
    :copy_tags_to_snapshot => "copyTagsToSnapshot",
    :credentials => "credentials",
    :database_insights_mode => "databaseInsightsMode",
    :default_database_name => "defaultDatabaseName",
    :delete_automated_backups => "deleteAutomatedBackups",
    :deletion_protection => "deletionProtection",
    :domain => "domain",
    :domain_role => "domainRole",
    :enable_cluster_level_enhanced_monitoring => "enableClusterLevelEnhancedMonitoring",
    :enable_data_api => "enableDataApi",
    :enable_local_write_forwarding => "enableLocalWriteForwarding",
    :enable_performance_insights => "enablePerformanceInsights",
    :engine_lifecycle_support => "engineLifecycleSupport",
    :iam_authentication => "iamAuthentication",
    :instance_identifier_base => "instanceIdentifierBase",
    :instance_props => "instanceProps",
    :instances => "instances",
    :instance_update_behaviour => "instanceUpdateBehaviour",
    :manage_master_user_password => "manageMasterUserPassword",
    :monitoring_interval => "monitoringInterval",
    :monitoring_role => "monitoringRole",
    :network_type => "networkType",
    :parameter_group => "parameterGroup",
    :parameters => "parameters",
    :performance_insight_encryption_key => "performanceInsightEncryptionKey",
    :performance_insight_retention => "performanceInsightRetention",
    :port => "port",
    :preferred_maintenance_window => "preferredMaintenanceWindow",
    :readers => "readers",
    :removal_policy => "removalPolicy",
    :replication_source_identifier => "replicationSourceIdentifier",
    :s3_export_buckets => "s3ExportBuckets",
    :s3_export_role => "s3ExportRole",
    :s3_import_buckets => "s3ImportBuckets",
    :s3_import_role => "s3ImportRole",
    :security_groups => "securityGroups",
    :serverless_v2_auto_pause_duration => "serverlessV2AutoPauseDuration",
    :serverless_v2_max_capacity => "serverlessV2MaxCapacity",
    :serverless_v2_min_capacity => "serverlessV2MinCapacity",
    :storage_encrypted => "storageEncrypted",
    :storage_encryption_key => "storageEncryptionKey",
    :storage_type => "storageType",
    :subnet_group => "subnetGroup",
    :vpc => "vpc",
    :vpc_subnets => "vpcSubnets",
    :writer => "writer",
  }
end

Instance Method Details

#to_jsiiObject



615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
# File 'rds/database_cluster_props.rb', line 615

def to_jsii
  result = {}
  result.merge!({
    "engine" => @engine,
    "autoMinorVersionUpgrade" => @auto_minor_version_upgrade,
    "backtrackWindow" => @backtrack_window,
    "backup" => @backup,
    "cloudwatchLogsExports" => @cloudwatch_logs_exports,
    "cloudwatchLogsRetention" => @cloudwatch_logs_retention,
    "cloudwatchLogsRetentionRole" => @cloudwatch_logs_retention_role,
    "clusterIdentifier" => @cluster_identifier,
    "clusterScailabilityType" => @cluster_scailability_type,
    "clusterScalabilityType" => @cluster_scalability_type,
    "copyTagsToSnapshot" => @copy_tags_to_snapshot,
    "credentials" => @credentials,
    "databaseInsightsMode" => @database_insights_mode,
    "defaultDatabaseName" => @default_database_name,
    "deleteAutomatedBackups" => @delete_automated_backups,
    "deletionProtection" => @deletion_protection,
    "domain" => @domain,
    "domainRole" => @domain_role,
    "enableClusterLevelEnhancedMonitoring" => @enable_cluster_level_enhanced_monitoring,
    "enableDataApi" => @enable_data_api,
    "enableLocalWriteForwarding" => @enable_local_write_forwarding,
    "enablePerformanceInsights" => @enable_performance_insights,
    "engineLifecycleSupport" => @engine_lifecycle_support,
    "iamAuthentication" => @iam_authentication,
    "instanceIdentifierBase" => @instance_identifier_base,
    "instanceProps" => @instance_props,
    "instances" => @instances,
    "instanceUpdateBehaviour" => @instance_update_behaviour,
    "manageMasterUserPassword" => @manage_master_user_password,
    "monitoringInterval" => @monitoring_interval,
    "monitoringRole" => @monitoring_role,
    "networkType" => @network_type,
    "parameterGroup" => @parameter_group,
    "parameters" => @parameters,
    "performanceInsightEncryptionKey" => @performance_insight_encryption_key,
    "performanceInsightRetention" => @performance_insight_retention,
    "port" => @port,
    "preferredMaintenanceWindow" => @preferred_maintenance_window,
    "readers" => @readers,
    "removalPolicy" => @removal_policy,
    "replicationSourceIdentifier" => @replication_source_identifier,
    "s3ExportBuckets" => @s3_export_buckets,
    "s3ExportRole" => @s3_export_role,
    "s3ImportBuckets" => @s3_import_buckets,
    "s3ImportRole" => @s3_import_role,
    "securityGroups" => @security_groups,
    "serverlessV2AutoPauseDuration" => @serverless_v2_auto_pause_duration,
    "serverlessV2MaxCapacity" => @serverless_v2_max_capacity,
    "serverlessV2MinCapacity" => @serverless_v2_min_capacity,
    "storageEncrypted" => @storage_encrypted,
    "storageEncryptionKey" => @storage_encryption_key,
    "storageType" => @storage_type,
    "subnetGroup" => @subnet_group,
    "vpc" => @vpc,
    "vpcSubnets" => @vpc_subnets,
    "writer" => @writer,
  })
  result.compact
end