Class: AWSCDK::RDS::ProvisionedClusterInstanceProps
- Inherits:
-
ClusterInstanceOptions
- Object
- ClusterInstanceOptions
- AWSCDK::RDS::ProvisionedClusterInstanceProps
- Defined in:
- rds/provisioned_cluster_instance_props.rb
Overview
Options for creating a provisioned instance.
Instance Attribute Summary collapse
-
#allow_major_version_upgrade ⇒ Boolean?
readonly
Whether to allow upgrade of major version for the DB instance.
-
#apply_immediately ⇒ Boolean?
readonly
Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the
preferredMaintenanceWindowsetting. -
#auto_minor_version_upgrade ⇒ Boolean?
readonly
Whether to enable automatic upgrade of minor version for the DB instance.
-
#availability_zone ⇒ String?
readonly
The Availability Zone (AZ) where the database will be created.
-
#ca_certificate ⇒ AWSCDK::RDS::CaCertificate?
readonly
The identifier of the CA certificate for this DB cluster's instances.
-
#enable_performance_insights ⇒ Boolean?
readonly
Whether to enable Performance Insights for the DB instance.
-
#instance_identifier ⇒ String?
readonly
The identifier for the database instance.
-
#instance_type ⇒ AWSCDK::EC2::InstanceType?
readonly
The cluster instance type.
-
#is_from_legacy_instance_props ⇒ Boolean?
readonly
Only used for migrating existing clusters from using
instancePropstowriterandreaders. -
#parameter_group ⇒ AWSCDK::RDS::IParameterGroup?
readonly
The DB parameter group to associate with the instance.
-
#parameters ⇒ Hash{String => String}?
readonly
The parameters in the DBParameterGroup to create automatically.
-
#performance_insight_encryption_key ⇒ AWSCDK::KMS::IKey?
readonly
The AWS KMS key for encryption of Performance Insights data.
-
#performance_insight_retention ⇒ AWSCDK::RDS::PerformanceInsightRetention?
readonly
The amount of time, in days, to retain Performance Insights data.
-
#preferred_maintenance_window ⇒ String?
readonly
A preferred maintenance window day/time range.
-
#promotion_tier ⇒ Numeric?
readonly
The promotion tier of the cluster instance.
-
#publicly_accessible ⇒ Boolean?
readonly
Indicates whether the DB instance is an internet-facing instance.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(allow_major_version_upgrade: nil, apply_immediately: nil, auto_minor_version_upgrade: nil, availability_zone: nil, ca_certificate: nil, enable_performance_insights: nil, instance_identifier: nil, is_from_legacy_instance_props: nil, parameter_group: nil, parameters: nil, performance_insight_encryption_key: nil, performance_insight_retention: nil, preferred_maintenance_window: nil, publicly_accessible: nil, instance_type: nil, promotion_tier: nil) ⇒ ProvisionedClusterInstanceProps
constructor
A new instance of ProvisionedClusterInstanceProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(allow_major_version_upgrade: nil, apply_immediately: nil, auto_minor_version_upgrade: nil, availability_zone: nil, ca_certificate: nil, enable_performance_insights: nil, instance_identifier: nil, is_from_legacy_instance_props: nil, parameter_group: nil, parameters: nil, performance_insight_encryption_key: nil, performance_insight_retention: nil, preferred_maintenance_window: nil, publicly_accessible: nil, instance_type: nil, promotion_tier: nil) ⇒ ProvisionedClusterInstanceProps
Returns a new instance of ProvisionedClusterInstanceProps.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'rds/provisioned_cluster_instance_props.rb', line 23 def initialize(allow_major_version_upgrade: nil, apply_immediately: nil, auto_minor_version_upgrade: nil, availability_zone: nil, ca_certificate: nil, enable_performance_insights: nil, instance_identifier: nil, is_from_legacy_instance_props: nil, parameter_group: nil, parameters: nil, performance_insight_encryption_key: nil, performance_insight_retention: nil, preferred_maintenance_window: nil, publicly_accessible: nil, instance_type: nil, promotion_tier: nil) @allow_major_version_upgrade = allow_major_version_upgrade Jsii::Type.check_type(@allow_major_version_upgrade, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "allowMajorVersionUpgrade") unless @allow_major_version_upgrade.nil? @apply_immediately = apply_immediately Jsii::Type.check_type(@apply_immediately, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "applyImmediately") unless @apply_immediately.nil? @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? @availability_zone = availability_zone Jsii::Type.check_type(@availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone") unless @availability_zone.nil? @ca_certificate = ca_certificate Jsii::Type.check_type(@ca_certificate, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkNhQ2VydGlmaWNhdGUifQ==")), "caCertificate") unless @ca_certificate.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? @instance_identifier = instance_identifier Jsii::Type.check_type(@instance_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceIdentifier") unless @instance_identifier.nil? @is_from_legacy_instance_props = is_from_legacy_instance_props Jsii::Type.check_type(@is_from_legacy_instance_props, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "isFromLegacyInstanceProps") unless @is_from_legacy_instance_props.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? @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? @publicly_accessible = publicly_accessible Jsii::Type.check_type(@publicly_accessible, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "publiclyAccessible") unless @publicly_accessible.nil? @instance_type = instance_type Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluc3RhbmNlVHlwZSJ9")), "instanceType") unless @instance_type.nil? @promotion_tier = promotion_tier Jsii::Type.check_type(@promotion_tier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "promotionTier") unless @promotion_tier.nil? end |
Instance Attribute Details
#allow_major_version_upgrade ⇒ Boolean? (readonly)
Default: - false
Whether to allow upgrade of major version for the DB instance.
62 63 64 |
# File 'rds/provisioned_cluster_instance_props.rb', line 62 def allow_major_version_upgrade @allow_major_version_upgrade end |
#apply_immediately ⇒ Boolean? (readonly)
Default: - Changes will be applied immediately
Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the preferredMaintenanceWindow setting.
If set to false, changes are applied during the next maintenance window.
Until RDS applies the changes, the DB instance remains in a drift state. As a result, the configuration doesn't fully reflect the requested modifications and temporarily diverges from the intended state.
This property also determines whether the DB instance reboots when a static parameter is modified in the associated DB parameter group.
75 76 77 |
# File 'rds/provisioned_cluster_instance_props.rb', line 75 def apply_immediately @apply_immediately end |
#auto_minor_version_upgrade ⇒ Boolean? (readonly)
Default: - true
Whether to enable automatic upgrade of minor version for the DB instance.
80 81 82 |
# File 'rds/provisioned_cluster_instance_props.rb', line 80 def auto_minor_version_upgrade @auto_minor_version_upgrade end |
#availability_zone ⇒ String? (readonly)
Default: - A random, system-chosen Availability Zone in the endpointʼs AWS Region.
The Availability Zone (AZ) where the database will be created.
For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.
89 90 91 |
# File 'rds/provisioned_cluster_instance_props.rb', line 89 def availability_zone @availability_zone end |
#ca_certificate ⇒ AWSCDK::RDS::CaCertificate? (readonly)
Default: - RDS will choose a certificate authority
The identifier of the CA certificate for this DB cluster's instances.
Specifying or updating this property triggers a reboot.
For RDS DB engines:
99 100 101 |
# File 'rds/provisioned_cluster_instance_props.rb', line 99 def ca_certificate @ca_certificate end |
#enable_performance_insights ⇒ Boolean? (readonly)
Default: - false, unless performanceInsightRetention or performanceInsightEncryptionKey is set.
Whether to enable Performance Insights for the DB instance.
104 105 106 |
# File 'rds/provisioned_cluster_instance_props.rb', line 104 def enable_performance_insights @enable_performance_insights end |
#instance_identifier ⇒ String? (readonly)
Default: - CloudFormation generated identifier
The identifier for the database instance.
109 110 111 |
# File 'rds/provisioned_cluster_instance_props.rb', line 109 def instance_identifier @instance_identifier end |
#instance_type ⇒ AWSCDK::EC2::InstanceType? (readonly)
Default: db.t3.medium
The cluster instance type.
203 204 205 |
# File 'rds/provisioned_cluster_instance_props.rb', line 203 def instance_type @instance_type end |
#is_from_legacy_instance_props ⇒ Boolean? (readonly)
Default: false
Only used for migrating existing clusters from using instanceProps to writer and readers.
154 155 156 |
# File 'rds/provisioned_cluster_instance_props.rb', line 154 def is_from_legacy_instance_props @is_from_legacy_instance_props end |
#parameter_group ⇒ AWSCDK::RDS::IParameterGroup? (readonly)
Default: the cluster parameter group is used
The DB parameter group to associate with the instance.
This is only needed if you need to configure different parameter groups for each individual instance, otherwise you should not provide this and just use the cluster parameter group
163 164 165 |
# File 'rds/provisioned_cluster_instance_props.rb', line 163 def parameter_group @parameter_group end |
#parameters ⇒ Hash{String => String}? (readonly)
Default: - None
The parameters in the DBParameterGroup to create automatically.
You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBParameterGroup.
171 172 173 |
# File 'rds/provisioned_cluster_instance_props.rb', line 171 def parameters @parameters end |
#performance_insight_encryption_key ⇒ AWSCDK::KMS::IKey? (readonly)
Default: - default master key
The AWS KMS key for encryption of Performance Insights data.
176 177 178 |
# File 'rds/provisioned_cluster_instance_props.rb', line 176 def performance_insight_encryption_key @performance_insight_encryption_key end |
#performance_insight_retention ⇒ AWSCDK::RDS::PerformanceInsightRetention? (readonly)
Default: 7
The amount of time, in days, to retain Performance Insights data.
181 182 183 |
# File 'rds/provisioned_cluster_instance_props.rb', line 181 def performance_insight_retention @performance_insight_retention end |
#preferred_maintenance_window ⇒ String? (readonly)
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'
189 190 191 |
# File 'rds/provisioned_cluster_instance_props.rb', line 189 def preferred_maintenance_window @preferred_maintenance_window end |
#promotion_tier ⇒ Numeric? (readonly)
Default: 2
The promotion tier of the cluster instance.
Can be between 0-15
For provisioned instances this just determines the failover priority. If multiple instances have the same priority then one will be picked at random
213 214 215 |
# File 'rds/provisioned_cluster_instance_props.rb', line 213 def promotion_tier @promotion_tier end |
#publicly_accessible ⇒ Boolean? (readonly)
Default: - true if the cluster's vpcSubnets is subnetType: SubnetType.PUBLIC, false otherwise
Indicates whether the DB instance is an internet-facing instance.
If not specified, the cluster's vpcSubnets will be used to determine if the instance is internet-facing or not.
198 199 200 |
# File 'rds/provisioned_cluster_instance_props.rb', line 198 def publicly_accessible @publicly_accessible end |
Class Method Details
.jsii_properties ⇒ Object
215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 |
# File 'rds/provisioned_cluster_instance_props.rb', line 215 def self.jsii_properties { :allow_major_version_upgrade => "allowMajorVersionUpgrade", :apply_immediately => "applyImmediately", :auto_minor_version_upgrade => "autoMinorVersionUpgrade", :availability_zone => "availabilityZone", :ca_certificate => "caCertificate", :enable_performance_insights => "enablePerformanceInsights", :instance_identifier => "instanceIdentifier", :is_from_legacy_instance_props => "isFromLegacyInstanceProps", :parameter_group => "parameterGroup", :parameters => "parameters", :performance_insight_encryption_key => "performanceInsightEncryptionKey", :performance_insight_retention => "performanceInsightRetention", :preferred_maintenance_window => "preferredMaintenanceWindow", :publicly_accessible => "publiclyAccessible", :instance_type => "instanceType", :promotion_tier => "promotionTier", } end |
Instance Method Details
#to_jsii ⇒ Object
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 |
# File 'rds/provisioned_cluster_instance_props.rb', line 236 def to_jsii result = {} result.merge!(super) result.merge!({ "allowMajorVersionUpgrade" => @allow_major_version_upgrade, "applyImmediately" => @apply_immediately, "autoMinorVersionUpgrade" => @auto_minor_version_upgrade, "availabilityZone" => @availability_zone, "caCertificate" => @ca_certificate, "enablePerformanceInsights" => @enable_performance_insights, "instanceIdentifier" => @instance_identifier, "isFromLegacyInstanceProps" => @is_from_legacy_instance_props, "parameterGroup" => @parameter_group, "parameters" => @parameters, "performanceInsightEncryptionKey" => @performance_insight_encryption_key, "performanceInsightRetention" => @performance_insight_retention, "preferredMaintenanceWindow" => @preferred_maintenance_window, "publiclyAccessible" => @publicly_accessible, "instanceType" => @instance_type, "promotionTier" => @promotion_tier, }) result.compact end |