Class: AWSCDK::RDS::DatabaseClusterFromSnapshot

Inherits:
DatabaseClusterBase
  • Object
show all
Defined in:
rds/database_cluster_from_snapshot.rb

Overview

A database cluster restored from a snapshot.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, id, props) ⇒ DatabaseClusterFromSnapshot

Returns a new instance of DatabaseClusterFromSnapshot.

Parameters:



11
12
13
14
15
16
17
# File 'rds/database_cluster_from_snapshot.rb', line 11

def initialize(scope, id, props)
  props = props.is_a?(Hash) ? ::AWSCDK::RDS::DatabaseClusterFromSnapshotProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkRhdGFiYXNlQ2x1c3RlckZyb21TbmFwc2hvdFByb3BzIn0=")), "props")
  Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props)
end

Class Method Details

.jsii_overridable_methodsObject



19
20
21
22
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
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
# File 'rds/database_cluster_from_snapshot.rb', line 19

def self.jsii_overridable_methods
  {
    :node => { kind: :property, name: "node", is_optional: false },
    :env => { kind: :property, name: "env", is_optional: false },
    :physical_name => { kind: :property, name: "physicalName", is_optional: false },
    :stack => { kind: :property, name: "stack", is_optional: false },
    :cluster_arn => { kind: :property, name: "clusterArn", is_optional: false },
    :cluster_endpoint => { kind: :property, name: "clusterEndpoint", is_optional: false },
    :cluster_identifier => { kind: :property, name: "clusterIdentifier", is_optional: false },
    :cluster_read_endpoint => { kind: :property, name: "clusterReadEndpoint", is_optional: false },
    :cluster_resource_identifier => { kind: :property, name: "clusterResourceIdentifier", is_optional: false },
    :connections => { kind: :property, name: "connections", is_optional: false },
    :db_cluster_ref => { kind: :property, name: "dbClusterRef", is_optional: false },
    :instance_endpoints => { kind: :property, name: "instanceEndpoints", is_optional: false },
    :instance_identifiers => { kind: :property, name: "instanceIdentifiers", is_optional: false },
    :engine => { kind: :property, name: "engine", is_optional: true },
    :secret => { kind: :property, name: "secret", is_optional: true },
    :enable_data_api => { kind: :property, name: "enableDataApi", is_optional: true },
    :cloudwatch_log_groups => { kind: :property, name: "cloudwatchLogGroups", is_optional: false },
    :multi_user_rotation_application => { kind: :property, name: "multiUserRotationApplication", is_optional: false },
    :new_cfn_props => { kind: :property, name: "newCfnProps", is_optional: false },
    :performance_insights_enabled => { kind: :property, name: "performanceInsightsEnabled", is_optional: false },
    :security_groups => { kind: :property, name: "securityGroups", is_optional: false },
    :serverless_v2_max_capacity => { kind: :property, name: "serverlessV2MaxCapacity", is_optional: false },
    :serverless_v2_min_capacity => { kind: :property, name: "serverlessV2MinCapacity", is_optional: false },
    :single_user_rotation_application => { kind: :property, name: "singleUserRotationApplication", is_optional: false },
    :subnet_group => { kind: :property, name: "subnetGroup", is_optional: false },
    :subnet_group_ref => { kind: :property, name: "subnetGroupRef", is_optional: false },
    :vpc => { kind: :property, name: "vpc", is_optional: false },
    :database_insights_mode => { kind: :property, name: "databaseInsightsMode", is_optional: true },
    :monitoring_role => { kind: :property, name: "monitoringRole", is_optional: true },
    :performance_insight_encryption_key => { kind: :property, name: "performanceInsightEncryptionKey", is_optional: true },
    :performance_insight_retention => { kind: :property, name: "performanceInsightRetention", is_optional: true },
    :serverless_v2_auto_pause_duration => { kind: :property, name: "serverlessV2AutoPauseDuration", is_optional: true },
    :vpc_subnets => { kind: :property, name: "vpcSubnets", is_optional: true },
    :has_serverless_instance => { kind: :property, name: "hasServerlessInstance", is_optional: true },
    :manage_master_user_password => { kind: :property, name: "manageMasterUserPassword", is_optional: true },
    :to_string => { kind: :method, name: "toString", is_optional: false },
    :with => { kind: :method, name: "with", is_optional: false },
    :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false },
    :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false },
    :generate_physical_name => { kind: :method, name: "generatePhysicalName", is_optional: false },
    :get_resource_arn_attribute => { kind: :method, name: "getResourceArnAttribute", is_optional: false },
    :get_resource_name_attribute => { kind: :method, name: "getResourceNameAttribute", is_optional: false },
    :add_proxy => { kind: :method, name: "addProxy", is_optional: false },
    :as_secret_attachment_target => { kind: :method, name: "asSecretAttachmentTarget", is_optional: false },
    :grant_connect => { kind: :method, name: "grantConnect", is_optional: false },
    :grant_data_api_access => { kind: :method, name: "grantDataApiAccess", is_optional: false },
    :metric => { kind: :method, name: "metric", is_optional: false },
    :metric_cpu_utilization => { kind: :method, name: "metricCPUUtilization", is_optional: false },
    :metric_database_connections => { kind: :method, name: "metricDatabaseConnections", is_optional: false },
    :metric_deadlocks => { kind: :method, name: "metricDeadlocks", is_optional: false },
    :metric_engine_uptime => { kind: :method, name: "metricEngineUptime", is_optional: false },
    :metric_freeable_memory => { kind: :method, name: "metricFreeableMemory", is_optional: false },
    :metric_free_local_storage => { kind: :method, name: "metricFreeLocalStorage", is_optional: false },
    :metric_network_receive_throughput => { kind: :method, name: "metricNetworkReceiveThroughput", is_optional: false },
    :metric_network_throughput => { kind: :method, name: "metricNetworkThroughput", is_optional: false },
    :metric_network_transmit_throughput => { kind: :method, name: "metricNetworkTransmitThroughput", is_optional: false },
    :metric_snapshot_storage_used => { kind: :method, name: "metricSnapshotStorageUsed", is_optional: false },
    :metric_total_backup_storage_billed => { kind: :method, name: "metricTotalBackupStorageBilled", is_optional: false },
    :metric_volume_bytes_used => { kind: :method, name: "metricVolumeBytesUsed", is_optional: false },
    :metric_volume_read_io_ps => { kind: :method, name: "metricVolumeReadIOPs", is_optional: false },
    :metric_volume_write_io_ps => { kind: :method, name: "metricVolumeWriteIOPs", is_optional: false },
    :add_rotation_multi_user => { kind: :method, name: "addRotationMultiUser", is_optional: false },
    :add_rotation_single_user => { kind: :method, name: "addRotationSingleUser", is_optional: false },
    :metric_acu_utilization => { kind: :method, name: "metricACUUtilization", is_optional: false },
    :metric_serverless_database_capacity => { kind: :method, name: "metricServerlessDatabaseCapacity", is_optional: false },
  }
end

.PROPERTY_INJECTION_IDString

Uniquely identifies this class.

Returns:

  • (String)


226
227
228
# File 'rds/database_cluster_from_snapshot.rb', line 226

def self.PROPERTY_INJECTION_ID()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_rds.DatabaseClusterFromSnapshot", "PROPERTY_INJECTION_ID")
end

Instance Method Details

#add_proxy(id, options) ⇒ AWSCDK::RDS::DatabaseProxy

Add a new db proxy to this cluster.

Parameters:

Returns:



452
453
454
455
456
457
# File 'rds/database_cluster_from_snapshot.rb', line 452

def add_proxy(id, options)
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  options = options.is_a?(Hash) ? ::AWSCDK::RDS::DatabaseProxyOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkRhdGFiYXNlUHJveHlPcHRpb25zIn0=")), "options")
  jsii_call_method("addProxy", [id, options])
end

#add_rotation_multi_user(id, options) ⇒ AWSCDK::SecretsManager::SecretRotation

Adds the multi user rotation to this cluster.

See Alternating users rotation strategy



681
682
683
684
685
686
# File 'rds/database_cluster_from_snapshot.rb', line 681

def add_rotation_multi_user(id, options)
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  options = options.is_a?(Hash) ? ::AWSCDK::RDS::RotationMultiUserOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLlJvdGF0aW9uTXVsdGlVc2VyT3B0aW9ucyJ9")), "options")
  jsii_call_method("addRotationMultiUser", [id, options])
end

#add_rotation_single_user(options = nil) ⇒ AWSCDK::SecretsManager::SecretRotation

Adds the single user rotation of the master password to this cluster.

See Single user rotation strategy

Parameters:

Returns:



694
695
696
697
698
# File 'rds/database_cluster_from_snapshot.rb', line 694

def add_rotation_single_user(options = nil)
  options = options.is_a?(Hash) ? ::AWSCDK::RDS::RotationSingleUserOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLlJvdGF0aW9uU2luZ2xlVXNlck9wdGlvbnMifQ==")), "options") unless options.nil?
  jsii_call_method("addRotationSingleUser", [options])
end

#apply_cross_stack_reference_strength(strength) ⇒ void

This method returns an undefined value.

Override the cross-stack reference strength for this resource.

When set, any cross-stack reference to this resource will use the specified mechanism instead of the global default determined by the @aws-cdk/core:defaultCrossStackReferences context key. This is useful for selectively weakening specific references to avoid the "deadly embrace" problem without changing the app-wide default.

Parameters:



390
391
392
393
# File 'rds/database_cluster_from_snapshot.rb', line 390

def apply_cross_stack_reference_strength(strength)
  Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength")
  jsii_call_method("applyCrossStackReferenceStrength", [strength])
end

#apply_removal_policy(policy) ⇒ void

This method returns an undefined value.

Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

Parameters:



407
408
409
410
# File 'rds/database_cluster_from_snapshot.rb', line 407

def apply_removal_policy(policy)
  Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy")
  jsii_call_method("applyRemovalPolicy", [policy])
end

#as_secret_attachment_targetAWSCDK::SecretsManager::SecretAttachmentTargetProps

Renders the secret attachment target specifications.



462
463
464
# File 'rds/database_cluster_from_snapshot.rb', line 462

def as_secret_attachment_target()
  jsii_call_method("asSecretAttachmentTarget", [])
end

#cloudwatch_log_groupsHash{String => AWSCDK::Logs::ILogGroup}

The log group is created when cloudwatchLogsExports is set.

Each export value will create a separate log group.

Returns:



235
236
237
# File 'rds/database_cluster_from_snapshot.rb', line 235

def cloudwatch_log_groups()
  jsii_get_property("cloudwatchLogGroups")
end

#cluster_arnString

The ARN of the cluster.

Returns:

  • (String)


135
136
137
# File 'rds/database_cluster_from_snapshot.rb', line 135

def cluster_arn()
  jsii_get_property("clusterArn")
end

#cluster_endpointAWSCDK::RDS::Endpoint

The endpoint to use for read/write operations.



142
143
144
# File 'rds/database_cluster_from_snapshot.rb', line 142

def cluster_endpoint()
  jsii_get_property("clusterEndpoint")
end

#cluster_identifierString

Identifier of the cluster.

Returns:

  • (String)


149
150
151
# File 'rds/database_cluster_from_snapshot.rb', line 149

def cluster_identifier()
  jsii_get_property("clusterIdentifier")
end

#cluster_read_endpointAWSCDK::RDS::Endpoint

Endpoint to use for load-balanced read-only operations.



156
157
158
# File 'rds/database_cluster_from_snapshot.rb', line 156

def cluster_read_endpoint()
  jsii_get_property("clusterReadEndpoint")
end

#cluster_resource_identifierString

The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP.

This AWS Region-unique identifier is used in things like IAM authentication policies.

Returns:

  • (String)


165
166
167
# File 'rds/database_cluster_from_snapshot.rb', line 165

def cluster_resource_identifier()
  jsii_get_property("clusterResourceIdentifier")
end

#connectionsAWSCDK::EC2::Connections

Access to the network connections.



172
173
174
# File 'rds/database_cluster_from_snapshot.rb', line 172

def connections()
  jsii_get_property("connections")
end

#database_insights_modeAWSCDK::RDS::DatabaseInsightsMode?

The database insights mode.



300
301
302
# File 'rds/database_cluster_from_snapshot.rb', line 300

def database_insights_mode()
  jsii_get_property("databaseInsightsMode")
end

#db_cluster_refAWSCDK::Interfaces::AWSRDS::DBClusterReference

A reference to this database cluster.



179
180
181
# File 'rds/database_cluster_from_snapshot.rb', line 179

def db_cluster_ref()
  jsii_get_property("dbClusterRef")
end

#enable_data_apiBoolean?

Returns:

  • (Boolean, nil)


214
215
216
# File 'rds/database_cluster_from_snapshot.rb', line 214

def enable_data_api()
  jsii_get_property("enableDataApi")
end

#enable_data_api=(value) ⇒ Object



218
219
220
221
# File 'rds/database_cluster_from_snapshot.rb', line 218

def enable_data_api=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableDataApi") unless value.nil?
  jsii_set_property("enableDataApi", value)
end

#engineAWSCDK::RDS::IClusterEngine?

The engine for this Cluster.

Never undefined.

Returns:



202
203
204
# File 'rds/database_cluster_from_snapshot.rb', line 202

def engine()
  jsii_get_property("engine")
end

#envAWSCDK::Interfaces::ResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed in a Stack (those created by creating new class instances like new Role(), new Bucket(), etc.), this is always the same as the environment of the stack they belong to.

For referenced resources (those obtained from referencing methods like Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be different than the stack they were imported into.



107
108
109
# File 'rds/database_cluster_from_snapshot.rb', line 107

def env()
  jsii_get_property("env")
end

#generate_physical_nameString

Returns:

  • (String)


413
414
415
# File 'rds/database_cluster_from_snapshot.rb', line 413

def generate_physical_name()
  jsii_call_method("generatePhysicalName", [])
end

#get_resource_arn_attribute(arn_attr, arn_components) ⇒ String

Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. bucket.bucketArn).

Normally, this token will resolve to arn_attr, but if the resource is referenced across environments, arn_components will be used to synthesize a concrete ARN with the resource's physical name. Make sure to reference this.physicalName in arn_components.

Parameters:

  • arn_attr (String)

    The CFN attribute which resolves to the ARN of the resource.

  • arn_components (AWSCDK::ARNComponents)

    The format of the ARN of this resource.

Returns:

  • (String)


427
428
429
430
431
432
# File 'rds/database_cluster_from_snapshot.rb', line 427

def get_resource_arn_attribute(arn_attr, arn_components)
  Jsii::Type.check_type(arn_attr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "arnAttr")
  arn_components = arn_components.is_a?(Hash) ? ::AWSCDK::ARNComponents.new(**arn_components.transform_keys(&:to_sym)) : arn_components
  Jsii::Type.check_type(arn_components, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5Bcm5Db21wb25lbnRzIn0=")), "arnComponents")
  jsii_call_method("getResourceArnAttribute", [arn_attr, arn_components])
end

#get_resource_name_attribute(name_attr) ⇒ String

Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. bucket.bucketName).

Normally, this token will resolve to name_attr, but if the resource is referenced across environments, it will be resolved to this.physicalName, which will be a concrete name.

Parameters:

  • name_attr (String)

    The CFN attribute which resolves to the resource's name.

Returns:

  • (String)


442
443
444
445
# File 'rds/database_cluster_from_snapshot.rb', line 442

def get_resource_name_attribute(name_attr)
  Jsii::Type.check_type(name_attr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "nameAttr")
  jsii_call_method("getResourceNameAttribute", [name_attr])
end

#grant_connect(grantee, db_user) ⇒ AWSCDK::IAM::Grant

[disable-awslint:no-grants].

Parameters:

Returns:



471
472
473
474
475
# File 'rds/database_cluster_from_snapshot.rb', line 471

def grant_connect(grantee, db_user)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  Jsii::Type.check_type(db_user, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbUser")
  jsii_call_method("grantConnect", [grantee, db_user])
end

#grant_data_api_access(grantee) ⇒ AWSCDK::IAM::Grant

Grant the given identity to access the Data API.

[disable-awslint:no-grants]

Parameters:

Returns:



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

def grant_data_api_access(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantDataApiAccess", [grantee])
end

#has_serverless_instanceBoolean?

Returns:

  • (Boolean, nil)


338
339
340
# File 'rds/database_cluster_from_snapshot.rb', line 338

def has_serverless_instance()
  jsii_get_property("hasServerlessInstance")
end

#has_serverless_instance=(value) ⇒ Object



342
343
344
345
# File 'rds/database_cluster_from_snapshot.rb', line 342

def has_serverless_instance=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "hasServerlessInstance") unless value.nil?
  jsii_set_property("hasServerlessInstance", value)
end

#instance_endpointsArray<AWSCDK::RDS::Endpoint>

Endpoints which address each individual replica.

Returns:



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

def instance_endpoints()
  jsii_get_property("instanceEndpoints")
end

#instance_identifiersArray<String>

Identifiers of the replicas.

Returns:

  • (Array<String>)


193
194
195
# File 'rds/database_cluster_from_snapshot.rb', line 193

def instance_identifiers()
  jsii_get_property("instanceIdentifiers")
end

#manage_master_user_passwordBoolean?

Returns:

  • (Boolean, nil)


348
349
350
# File 'rds/database_cluster_from_snapshot.rb', line 348

def manage_master_user_password()
  jsii_get_property("manageMasterUserPassword")
end

#manage_master_user_password=(value) ⇒ Object



352
353
354
355
# File 'rds/database_cluster_from_snapshot.rb', line 352

def manage_master_user_password=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "manageMasterUserPassword") unless value.nil?
  jsii_set_property("manageMasterUserPassword", value)
end

#metric(metric_name, props = nil) ⇒ AWSCDK::CloudWatch::Metric

Return the given named metric for this DBCluster.

Parameters:

Returns:



493
494
495
496
497
498
# File 'rds/database_cluster_from_snapshot.rb', line 493

def metric(metric_name, props = nil)
  Jsii::Type.check_type(metric_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "metricName")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metric", [metric_name, props])
end

#metric_acu_utilization(props = nil) ⇒ AWSCDK::CloudWatch::Metric

This value is represented as a percentage.

It's calculated as the value of the ServerlessDatabaseCapacity metric divided by the maximum ACU value of the DB cluster.

If this metric approaches a value of 100.0, the DB instance has scaled up as high as it can. Consider increasing the maximum ACU setting for the cluster.

Parameters:

Returns:



710
711
712
713
714
# File 'rds/database_cluster_from_snapshot.rb', line 710

def metric_acu_utilization(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricACUUtilization", [props])
end

#metric_cpu_utilization(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The percentage of CPU utilization.

Average over 5 minutes

Parameters:

Returns:



506
507
508
509
510
# File 'rds/database_cluster_from_snapshot.rb', line 506

def metric_cpu_utilization(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricCPUUtilization", [props])
end

#metric_database_connections(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The number of database connections in use.

Average over 5 minutes

Parameters:

Returns:



518
519
520
521
522
# File 'rds/database_cluster_from_snapshot.rb', line 518

def metric_database_connections(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricDatabaseConnections", [props])
end

#metric_deadlocks(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The average number of deadlocks in the database per second.

Average over 5 minutes

Parameters:

Returns:



530
531
532
533
534
# File 'rds/database_cluster_from_snapshot.rb', line 530

def metric_deadlocks(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricDeadlocks", [props])
end

#metric_engine_uptime(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The amount of time that the instance has been running, in seconds.

Average over 5 minutes

Parameters:

Returns:



542
543
544
545
546
# File 'rds/database_cluster_from_snapshot.rb', line 542

def metric_engine_uptime(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricEngineUptime", [props])
end

#metric_free_local_storage(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The amount of local storage available, in bytes.

Average over 5 minutes

Parameters:

Returns:



566
567
568
569
570
# File 'rds/database_cluster_from_snapshot.rb', line 566

def metric_free_local_storage(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricFreeLocalStorage", [props])
end

#metric_freeable_memory(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The amount of available random access memory, in bytes.

Average over 5 minutes

Parameters:

Returns:



554
555
556
557
558
# File 'rds/database_cluster_from_snapshot.rb', line 554

def metric_freeable_memory(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricFreeableMemory", [props])
end

#metric_network_receive_throughput(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The amount of network throughput received from clients by each instance, in bytes per second.

Average over 5 minutes

Parameters:

Returns:



578
579
580
581
582
# File 'rds/database_cluster_from_snapshot.rb', line 578

def metric_network_receive_throughput(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricNetworkReceiveThroughput", [props])
end

#metric_network_throughput(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The amount of network throughput both received from and transmitted to clients by each instance, in bytes per second.

Average over 5 minutes

Parameters:

Returns:



590
591
592
593
594
# File 'rds/database_cluster_from_snapshot.rb', line 590

def metric_network_throughput(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricNetworkThroughput", [props])
end

#metric_network_transmit_throughput(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The amount of network throughput sent to clients by each instance, in bytes per second.

Average over 5 minutes

Parameters:

Returns:



602
603
604
605
606
# File 'rds/database_cluster_from_snapshot.rb', line 602

def metric_network_transmit_throughput(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricNetworkTransmitThroughput", [props])
end

#metric_serverless_database_capacity(props = nil) ⇒ AWSCDK::CloudWatch::Metric

As a cluster-level metric, it represents the average of the ServerlessDatabaseCapacity values of all the Aurora Serverless v2 DB instances in the cluster.

Parameters:

Returns:



720
721
722
723
724
# File 'rds/database_cluster_from_snapshot.rb', line 720

def metric_serverless_database_capacity(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricServerlessDatabaseCapacity", [props])
end

#metric_snapshot_storage_used(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The total amount of backup storage in bytes consumed by all Aurora snapshots outside its backup retention window.

Average over 5 minutes

Parameters:

Returns:



614
615
616
617
618
# File 'rds/database_cluster_from_snapshot.rb', line 614

def metric_snapshot_storage_used(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricSnapshotStorageUsed", [props])
end

#metric_total_backup_storage_billed(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The total amount of backup storage in bytes for which you are billed.

Average over 5 minutes

Parameters:

Returns:



626
627
628
629
630
# File 'rds/database_cluster_from_snapshot.rb', line 626

def metric_total_backup_storage_billed(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricTotalBackupStorageBilled", [props])
end

#metric_volume_bytes_used(props = nil) ⇒ AWSCDK::CloudWatch::Metric

The amount of storage used by your Aurora DB instance, in bytes.

Average over 5 minutes

Parameters:

Returns:



638
639
640
641
642
# File 'rds/database_cluster_from_snapshot.rb', line 638

def metric_volume_bytes_used(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricVolumeBytesUsed", [props])
end

#metric_volume_read_io_ps(props = nil) ⇒ AWSCDK::CloudWatch::Metric

Note:

Default: - average over 5 minutes

The average number of disk read I/O operations per second.

This metric is only available for Aurora database clusters. For non-Aurora RDS clusters, this metric will not return any data in CloudWatch.

Parameters:

Returns:



653
654
655
656
657
# File 'rds/database_cluster_from_snapshot.rb', line 653

def metric_volume_read_io_ps(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricVolumeReadIOPs", [props])
end

#metric_volume_write_io_ps(props = nil) ⇒ AWSCDK::CloudWatch::Metric

Note:

Default: - average over 5 minutes

The average number of disk write I/O operations per second.

This metric is only available for Aurora database clusters. For non-Aurora RDS clusters, this metric will not return any data in CloudWatch.

Parameters:

Returns:



668
669
670
671
672
# File 'rds/database_cluster_from_snapshot.rb', line 668

def metric_volume_write_io_ps(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricVolumeWriteIOPs", [props])
end

#monitoring_roleAWSCDK::IAM::IRole?

The IAM role for the enhanced monitoring.

Returns:



307
308
309
# File 'rds/database_cluster_from_snapshot.rb', line 307

def monitoring_role()
  jsii_get_property("monitoringRole")
end

#multi_user_rotation_applicationAWSCDK::SecretsManager::SecretRotationApplication

Application for multi user rotation to this cluster.



242
243
244
# File 'rds/database_cluster_from_snapshot.rb', line 242

def multi_user_rotation_application()
  jsii_get_property("multiUserRotationApplication")
end

#new_cfn_propsAWSCDK::RDS::CfnDBClusterProps



247
248
249
# File 'rds/database_cluster_from_snapshot.rb', line 247

def new_cfn_props()
  jsii_get_property("newCfnProps")
end

#nodeConstructs::Node

The tree node.

Returns:

  • (Constructs::Node)


92
93
94
# File 'rds/database_cluster_from_snapshot.rb', line 92

def node()
  jsii_get_property("node")
end

#performance_insight_encryption_keyAWSCDK::KMS::IKey?

The AWS KMS key for encryption of Performance Insights data.

Returns:



314
315
316
# File 'rds/database_cluster_from_snapshot.rb', line 314

def performance_insight_encryption_key()
  jsii_get_property("performanceInsightEncryptionKey")
end

#performance_insight_retentionAWSCDK::RDS::PerformanceInsightRetention?

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



321
322
323
# File 'rds/database_cluster_from_snapshot.rb', line 321

def performance_insight_retention()
  jsii_get_property("performanceInsightRetention")
end

#performance_insights_enabledBoolean

Whether Performance Insights is enabled at cluster level.

Returns:

  • (Boolean)


254
255
256
# File 'rds/database_cluster_from_snapshot.rb', line 254

def performance_insights_enabled()
  jsii_get_property("performanceInsightsEnabled")
end

#physical_nameString

Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.

This value will resolve to one of the following:

  • a concrete value (e.g. "my-awesome-bucket")
  • undefined, when a name should be generated by CloudFormation
  • a concrete name generated automatically during synthesis, in cross-environment scenarios.

Returns:

  • (String)


121
122
123
# File 'rds/database_cluster_from_snapshot.rb', line 121

def physical_name()
  jsii_get_property("physicalName")
end

#secretAWSCDK::SecretsManager::ISecret?

The secret attached to this cluster.



209
210
211
# File 'rds/database_cluster_from_snapshot.rb', line 209

def secret()
  jsii_get_property("secret")
end

#security_groupsArray<AWSCDK::EC2::ISecurityGroup>

Returns:



259
260
261
# File 'rds/database_cluster_from_snapshot.rb', line 259

def security_groups()
  jsii_get_property("securityGroups")
end

#serverless_v2_auto_pause_durationAWSCDK::Duration?

Returns:



326
327
328
# File 'rds/database_cluster_from_snapshot.rb', line 326

def serverless_v2_auto_pause_duration()
  jsii_get_property("serverlessV2AutoPauseDuration")
end

#serverless_v2_max_capacityNumeric

Returns:

  • (Numeric)


264
265
266
# File 'rds/database_cluster_from_snapshot.rb', line 264

def serverless_v2_max_capacity()
  jsii_get_property("serverlessV2MaxCapacity")
end

#serverless_v2_min_capacityNumeric

Returns:

  • (Numeric)


269
270
271
# File 'rds/database_cluster_from_snapshot.rb', line 269

def serverless_v2_min_capacity()
  jsii_get_property("serverlessV2MinCapacity")
end

#single_user_rotation_applicationAWSCDK::SecretsManager::SecretRotationApplication

Application for single user rotation of the master password to this cluster.



276
277
278
# File 'rds/database_cluster_from_snapshot.rb', line 276

def single_user_rotation_application()
  jsii_get_property("singleUserRotationApplication")
end

#stackAWSCDK::Stack

The stack in which this resource is defined.

Returns:



128
129
130
# File 'rds/database_cluster_from_snapshot.rb', line 128

def stack()
  jsii_get_property("stack")
end

#subnet_groupAWSCDK::RDS::ISubnetGroup



281
282
283
# File 'rds/database_cluster_from_snapshot.rb', line 281

def subnet_group()
  jsii_get_property("subnetGroup")
end

#subnet_group_refAWSCDK::Interfaces::AWSRDS::IDBSubnetGroupRef



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

def subnet_group_ref()
  jsii_get_property("subnetGroupRef")
end

#to_stringString

Returns a string representation of this construct.

Returns:

  • (String)


360
361
362
# File 'rds/database_cluster_from_snapshot.rb', line 360

def to_string()
  jsii_call_method("toString", [])
end

#vpcAWSCDK::EC2::IVPC

The VPC network to place the cluster in.

Returns:



293
294
295
# File 'rds/database_cluster_from_snapshot.rb', line 293

def vpc()
  jsii_get_property("vpc")
end

#vpc_subnetsAWSCDK::EC2::SubnetSelection?

The cluster's subnets.



333
334
335
# File 'rds/database_cluster_from_snapshot.rb', line 333

def vpc_subnets()
  jsii_get_property("vpcSubnets")
end

#with(*mixins) ⇒ Constructs::IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

Parameters:

  • mixins (Array<Constructs::IMixin>)

Returns:

  • (Constructs::IConstruct)


373
374
375
376
377
378
# File 'rds/database_cluster_from_snapshot.rb', line 373

def with(*mixins)
  mixins.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]")
  end
  jsii_call_method("with", [*mixins])
end