Class: Aws::RDS::DBCluster
- Inherits:
-
Object
- Object
- Aws::RDS::DBCluster
- Defined in:
- gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
-
#activity_stream_kinesis_stream_name ⇒ String
The name of the Amazon Kinesis data stream used for the database activity stream.
-
#activity_stream_kms_key_id ⇒ String
The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.
-
#activity_stream_mode ⇒ String
The mode of the database activity stream.
-
#activity_stream_status ⇒ String
The status of the database activity stream.
-
#allocated_storage ⇒ Integer
AllocatedStoragespecifies the allocated storage size in gibibytes (GiB). -
#associated_roles ⇒ Array<Types::DBClusterRole>
A list of the Amazon Web Services Identity and Access Management (IAM) roles that are associated with the DB cluster.
-
#auto_minor_version_upgrade ⇒ Boolean
Indicates whether minor version patches are applied automatically.
-
#automatic_restart_time ⇒ Time
The time when a stopped DB cluster is restarted automatically.
-
#availability_zones ⇒ Array<String>
The list of Availability Zones (AZs) where instances in the DB cluster can be created.
-
#aws_backup_recovery_point_arn ⇒ String
The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.
-
#backtrack_consumed_change_records ⇒ Integer
The number of change records stored for Backtrack.
-
#backtrack_window ⇒ Integer
The target backtrack window, in seconds.
-
#backup_retention_period ⇒ Integer
The number of days for which automatic DB snapshots are retained.
-
#capacity ⇒ Integer
The current capacity of an Aurora Serverless v1 DB cluster.
-
#certificate_details ⇒ Types::CertificateDetails
The details of the DB instance’s server certificate.
-
#character_set_name ⇒ String
If present, specifies the name of the character set that this cluster is associated with.
-
#clone_group_id ⇒ String
The ID of the clone group with which the DB cluster is associated.
-
#cluster_create_time ⇒ Time
The time when the DB cluster was created, in Universal Coordinated Time (UTC).
-
#cluster_scalability_type ⇒ String
The scalability mode of the Aurora DB cluster.
-
#copy_tags_to_snapshot ⇒ Boolean
Indicates whether tags are copied from the DB cluster to snapshots of the DB cluster.
-
#cross_account_clone ⇒ Boolean
Indicates whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.
-
#custom_endpoints ⇒ Array<String>
The custom endpoints associated with the DB cluster.
-
#database_insights_mode ⇒ String
The mode of Database Insights that is enabled for the DB cluster.
-
#database_name ⇒ String
The name of the initial database that was specified for the DB cluster when it was created, if one was provided.
-
#db_cluster_arn ⇒ String
The Amazon Resource Name (ARN) for the DB cluster.
-
#db_cluster_instance_class ⇒ String
The name of the compute and memory capacity class of the DB instance.
-
#db_cluster_members ⇒ Array<Types::DBClusterMember>
The list of DB instances that make up the DB cluster.
-
#db_cluster_option_group_memberships ⇒ Array<Types::DBClusterOptionGroupStatus>
The list of option group memberships for this DB cluster.
-
#db_cluster_parameter_group ⇒ String
The name of the DB cluster parameter group for the DB cluster.
-
#db_cluster_resource_id ⇒ String
The Amazon Web Services Region-unique, immutable identifier for the DB cluster.
-
#db_subnet_group ⇒ String
Information about the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.
-
#db_system_id ⇒ String
Reserved for future use.
-
#deletion_protection ⇒ Boolean
Indicates whether the DB cluster has deletion protection enabled.
-
#domain_memberships ⇒ Array<Types::DomainMembership>
The Active Directory Domain membership records associated with the DB cluster.
-
#earliest_backtrack_time ⇒ Time
The earliest time to which a DB cluster can be backtracked.
-
#earliest_restorable_time ⇒ Time
The earliest time to which a database can be restored with point-in-time restore.
-
#enabled_cloudwatch_logs_exports ⇒ Array<String>
A list of log types that this DB cluster is configured to export to CloudWatch Logs.
-
#endpoint ⇒ String
The connection endpoint for the primary instance of the DB cluster.
-
#engine ⇒ String
The database engine used for this DB cluster.
-
#engine_lifecycle_support ⇒ String
The lifecycle type for the DB cluster.
-
#engine_mode ⇒ String
The DB engine mode of the DB cluster, either
provisionedorserverless. -
#engine_version ⇒ String
The version of the database engine.
-
#global_cluster_identifier ⇒ String
Contains a user-supplied global database cluster identifier.
-
#global_write_forwarding_requested ⇒ Boolean
Indicates whether write forwarding is enabled for a secondary cluster in an Aurora global database.
-
#global_write_forwarding_status ⇒ String
The status of write forwarding for a secondary cluster in an Aurora global database.
-
#hosted_zone_id ⇒ String
The ID that Amazon Route 53 assigns when you create a hosted zone.
-
#http_endpoint_enabled ⇒ Boolean
Indicates whether the HTTP endpoint is enabled for an Aurora DB cluster.
-
#iam_database_authentication_enabled ⇒ Boolean
Indicates whether the mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.
-
#id ⇒ String
(also: #db_cluster_identifier)
-
#io_optimized_next_allowed_modification_time ⇒ Time
The next time you can modify the DB cluster to use the
aurora-iopt1storage type. -
#iops ⇒ Integer
The Provisioned IOPS (I/O operations per second) value.
-
#kms_key_id ⇒ String
If
StorageEncryptedis enabled, the Amazon Web Services KMS key identifier for the encrypted DB cluster. -
#latest_restorable_time ⇒ Time
The latest time to which a database can be restored with point-in-time restore.
-
#limitless_database ⇒ Types::LimitlessDatabase
The details for Aurora Limitless Database.
-
#local_write_forwarding_status ⇒ String
Indicates whether an Aurora DB cluster has in-cluster write forwarding enabled, not enabled, requested, or is in the process of enabling it.
-
#master_user_secret ⇒ Types::MasterUserSecret
The secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
-
#master_username ⇒ String
The master username for the DB cluster.
-
#monitoring_interval ⇒ Integer
The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster.
-
#monitoring_role_arn ⇒ String
The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.
-
#multi_az ⇒ Boolean
Indicates whether the DB cluster has instances in multiple Availability Zones.
-
#network_type ⇒ String
The network type of the DB instance.
-
#pending_modified_values ⇒ Types::ClusterPendingModifiedValues
Information about pending changes to the DB cluster.
-
#percent_progress ⇒ String
The progress of the operation as a percentage.
-
#performance_insights_enabled ⇒ Boolean
Indicates whether Performance Insights is enabled for the DB cluster.
-
#performance_insights_kms_key_id ⇒ String
The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
-
#performance_insights_retention_period ⇒ Integer
The number of days to retain Performance Insights data.
-
#port ⇒ Integer
The port that the database engine is listening on.
-
#preferred_backup_window ⇒ String
The daily time range during which automated backups are created if automated backups are enabled, as determined by the
BackupRetentionPeriod. -
#preferred_maintenance_window ⇒ String
The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
-
#publicly_accessible ⇒ Boolean
Indicates whether the DB cluster is publicly accessible.
-
#rds_custom_cluster_configuration ⇒ Types::RdsCustomClusterConfiguration
Reserved for future use.
-
#read_replica_identifiers ⇒ Array<String>
Contains one or more identifiers of the read replicas associated with this DB cluster.
-
#reader_endpoint ⇒ String
The reader endpoint for the DB cluster.
-
#replication_source_identifier ⇒ String
The identifier of the source DB cluster if this DB cluster is a read replica.
-
#scaling_configuration_info ⇒ Types::ScalingConfigurationInfo
The scaling configuration for an Aurora DB cluster in
serverlessDB engine mode. -
#serverless_v2_platform_version ⇒ String
The version of the Aurora Serverless V2 platform used by the DB cluster.
-
#serverless_v2_scaling_configuration ⇒ Types::ServerlessV2ScalingConfigurationInfo
The scaling configuration for an Aurora Serverless v2 DB cluster.
-
#status ⇒ String
The current state of this DB cluster.
-
#status_infos ⇒ Array<Types::DBClusterStatusInfo>
Reserved for future use.
-
#storage_encrypted ⇒ Boolean
Indicates whether the DB cluster is encrypted.
-
#storage_encryption_type ⇒ String
The type of encryption used to protect data at rest in the DB cluster.
-
#storage_throughput ⇒ Integer
The storage throughput for the DB cluster.
-
#storage_type ⇒ String
The storage type associated with the DB cluster.
-
#tag_list ⇒ Array<Types::Tag>
A list of tags.
-
#upgrade_rollout_order ⇒ String
This data type represents the order in which the clusters are upgraded.
-
#vpc_security_groups ⇒ Array<Types::VpcSecurityGroupMembership>
The list of VPC security groups that the DB cluster belongs to.
Actions collapse
-
#create(options = {}) ⇒ DBCluster
-
#create_snapshot(options = {}) ⇒ DBClusterSnapshot
-
#delete(options = {}) ⇒ DBCluster
-
#failover(options = {}) ⇒ DBCluster
-
#modify(options = {}) ⇒ DBCluster
-
#restore(options = {}) ⇒ DBCluster
Associations collapse
-
#events(options = {}) ⇒ Event::Collection
-
#members ⇒ DBInstance::Collection
-
#option_groups ⇒ OptionGroup::Collection
-
#parameter_group ⇒ DBClusterParameterGroup?
-
#snapshots(options = {}) ⇒ DBClusterSnapshot::Collection
-
#subnet_group ⇒ DBSubnetGroup?
Instance Method Summary collapse
-
#client ⇒ Client
-
#data ⇒ Types::DBCluster
Returns the data for this DBCluster.
-
#data_loaded? ⇒ Boolean
Returns
trueif this resource is loaded. -
#initialize(*args) ⇒ DBCluster
constructor
A new instance of DBCluster.
- #load ⇒ self (also: #reload)
-
#wait_until(options = {}) {|resource| ... } ⇒ Resource
deprecated
Deprecated.
Use [Aws::RDS::Client] #wait_until instead
Constructor Details
#initialize(id, options = {}) ⇒ DBCluster #initialize(options = {}) ⇒ DBCluster
Returns a new instance of DBCluster.
22 23 24 25 26 27 28 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 22 def initialize(*args) = Hash === args.last ? args.pop.dup : {} @id = extract_id(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() @waiter_block_warned = false end |
Instance Method Details
#activity_stream_kinesis_stream_name ⇒ String
The name of the Amazon Kinesis data stream used for the database activity stream.
552 553 554 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 552 def activity_stream_kinesis_stream_name data[:activity_stream_kinesis_stream_name] end |
#activity_stream_kms_key_id ⇒ String
The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
545 546 547 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 545 def activity_stream_kms_key_id data[:activity_stream_kms_key_id] end |
#activity_stream_mode ⇒ String
The mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously.
529 530 531 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 529 def activity_stream_mode data[:activity_stream_mode] end |
#activity_stream_status ⇒ String
The status of the database activity stream.
535 536 537 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 535 def activity_stream_status data[:activity_stream_status] end |
#allocated_storage ⇒ Integer
AllocatedStorage specifies the allocated storage size in gibibytes
(GiB). For Aurora, AllocatedStorage can vary because Aurora DB
cluster storage size adjusts as needed.
42 43 44 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 42 def allocated_storage data[:allocated_storage] end |
#associated_roles ⇒ Array<Types::DBClusterRole>
A list of the Amazon Web Services Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.
295 296 297 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 295 def associated_roles data[:associated_roles] end |
#auto_minor_version_upgrade ⇒ Boolean
Indicates whether minor version patches are applied automatically.
This setting is for Aurora DB clusters and Multi-AZ DB clusters.
For more information about automatic minor version upgrades, see Automatically upgrading the minor engine version.
494 495 496 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 494 def auto_minor_version_upgrade data[:auto_minor_version_upgrade] end |
#automatic_restart_time ⇒ Time
The time when a stopped DB cluster is restarted automatically.
640 641 642 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 640 def automatic_restart_time data[:automatic_restart_time] end |
#availability_zones ⇒ Array<String>
The list of Availability Zones (AZs) where instances in the DB cluster can be created.
49 50 51 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 49 def availability_zones data[:availability_zones] end |
#aws_backup_recovery_point_arn ⇒ String
The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.
766 767 768 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 766 def aws_backup_recovery_point_arn data[:aws_backup_recovery_point_arn] end |
#backtrack_consumed_change_records ⇒ Integer
The number of change records stored for Backtrack.
346 347 348 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 346 def backtrack_consumed_change_records data[:backtrack_consumed_change_records] end |
#backtrack_window ⇒ Integer
The target backtrack window, in seconds. If this value is set to 0,
backtracking is disabled for the DB cluster. Otherwise, backtracking
is enabled.
340 341 342 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 340 def backtrack_window data[:backtrack_window] end |
#backup_retention_period ⇒ Integer
The number of days for which automatic DB snapshots are retained.
55 56 57 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 55 def backup_retention_period data[:backup_retention_period] end |
#capacity ⇒ Integer
The current capacity of an Aurora Serverless v1 DB cluster. The
capacity is 0 (zero) when the cluster is paused.
For more information about Aurora Serverless v1, see Using Amazon Aurora Serverless v1 in the Amazon Aurora User Guide.
375 376 377 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 375 def capacity data[:capacity] end |
#certificate_details ⇒ Types::CertificateDetails
The details of the DB instance’s server certificate.
For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.
797 798 799 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 797 def certificate_details data[:certificate_details] end |
#character_set_name ⇒ String
If present, specifies the name of the character set that this cluster is associated with.
62 63 64 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 62 def character_set_name data[:character_set_name] end |
#client ⇒ Client
812 813 814 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 812 def client @client end |
#clone_group_id ⇒ String
The ID of the clone group with which the DB cluster is associated. For newly created clusters, the ID is typically null.
If you clone a DB cluster when the ID is null, the operation populates the ID value for the source cluster and the clone because both clusters become part of the same clone group. Even if you delete the clone cluster, the clone group ID remains for the lifetime of the source cluster to show that it was used in a cloning operation.
For PITR, the clone group ID is inherited from the source cluster. For snapshot restore operations, the clone group ID isn't inherited from the source cluster.
319 320 321 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 319 def clone_group_id data[:clone_group_id] end |
#cluster_create_time ⇒ Time
The time when the DB cluster was created, in Universal Coordinated Time (UTC).
326 327 328 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 326 def cluster_create_time data[:cluster_create_time] end |
#cluster_scalability_type ⇒ String
The scalability mode of the Aurora DB cluster. When set to
limitless, the cluster operates as an Aurora Limitless Database.
When set to standard (the default), the cluster uses normal DB
instance creation.
781 782 783 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 781 def cluster_scalability_type data[:cluster_scalability_type] end |
#copy_tags_to_snapshot ⇒ Boolean
Indicates whether tags are copied from the DB cluster to snapshots of the DB cluster.
559 560 561 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 559 def data[:copy_tags_to_snapshot] end |
#create(options = {}) ⇒ DBCluster
1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 1915 def create( = {}) = .merge(db_cluster_identifier: @id) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.create_db_cluster() end DBCluster.new( id: resp.data.db_cluster.db_cluster_identifier, data: resp.data.db_cluster, client: @client ) end |
#create_snapshot(options = {}) ⇒ DBClusterSnapshot
1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 1955 def create_snapshot( = {}) = .merge(db_cluster_identifier: @id) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.create_db_cluster_snapshot() end DBClusterSnapshot.new( cluster_id: resp.data.db_cluster_snapshot.db_cluster_identifier, snapshot_id: resp.data.db_cluster_snapshot.db_cluster_snapshot_identifier, data: resp.data.db_cluster_snapshot, client: @client ) end |
#cross_account_clone ⇒ Boolean
Indicates whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.
566 567 568 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 566 def cross_account_clone data[:cross_account_clone] end |
#custom_endpoints ⇒ Array<String>
The custom endpoints associated with the DB cluster.
130 131 132 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 130 def custom_endpoints data[:custom_endpoints] end |
#data ⇒ Types::DBCluster
Returns the data for this Aws::RDS::DBCluster. Calls
Client#describe_db_clusters if #data_loaded? is false.
834 835 836 837 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 834 def data load unless @data @data end |
#data_loaded? ⇒ Boolean
842 843 844 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 842 def data_loaded? !!@data end |
#database_insights_mode ⇒ String
The mode of Database Insights that is enabled for the DB cluster.
689 690 691 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 689 def database_insights_mode data[:database_insights_mode] end |
#database_name ⇒ String
The name of the initial database that was specified for the DB cluster when it was created, if one was provided. This same name is returned for the life of the DB cluster.
70 71 72 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 70 def database_name data[:database_name] end |
#db_cluster_arn ⇒ String
The Amazon Resource Name (ARN) for the DB cluster.
286 287 288 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 286 def db_cluster_arn data[:db_cluster_arn] end |
#db_cluster_instance_class ⇒ String
The name of the compute and memory capacity class of the DB instance.
This setting is only for non-Aurora Multi-AZ DB clusters.
424 425 426 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 424 def db_cluster_instance_class data[:db_cluster_instance_class] end |
#db_cluster_members ⇒ Array<Types::DBClusterMember>
The list of DB instances that make up the DB cluster.
229 230 231 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 229 def db_cluster_members data[:db_cluster_members] end |
#db_cluster_option_group_memberships ⇒ Array<Types::DBClusterOptionGroupStatus>
The list of option group memberships for this DB cluster.
174 175 176 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 174 def db_cluster_option_group_memberships data[:db_cluster_option_group_memberships] end |
#db_cluster_parameter_group ⇒ String
The name of the DB cluster parameter group for the DB cluster.
76 77 78 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 76 def db_cluster_parameter_group data[:db_cluster_parameter_group] end |
#db_cluster_resource_id ⇒ String
The Amazon Web Services Region-unique, immutable identifier for the DB cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever the KMS key for the DB cluster is accessed.
280 281 282 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 280 def db_cluster_resource_id data[:db_cluster_resource_id] end |
#db_subnet_group ⇒ String
Information about the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.
83 84 85 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 83 def db_subnet_group data[:db_subnet_group] end |
#db_system_id ⇒ String
Reserved for future use.
735 736 737 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 735 def db_system_id data[:db_system_id] end |
#delete(options = {}) ⇒ DBCluster
2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 2012 def delete( = {}) = .merge(db_cluster_identifier: @id) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.delete_db_cluster() end DBCluster.new( id: resp.data.db_cluster.db_cluster_identifier, data: resp.data.db_cluster, client: @client ) end |
#deletion_protection ⇒ Boolean
Indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled.
501 502 503 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 501 def deletion_protection data[:deletion_protection] end |
#domain_memberships ⇒ Array<Types::DomainMembership>
The Active Directory Domain membership records associated with the DB cluster.
573 574 575 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 573 def domain_memberships data[:domain_memberships] end |
#earliest_backtrack_time ⇒ Time
The earliest time to which a DB cluster can be backtracked.
332 333 334 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 332 def earliest_backtrack_time data[:earliest_backtrack_time] end |
#earliest_restorable_time ⇒ Time
The earliest time to which a database can be restored with point-in-time restore.
102 103 104 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 102 def earliest_restorable_time data[:earliest_restorable_time] end |
#enabled_cloudwatch_logs_exports ⇒ Array<String>
A list of log types that this DB cluster is configured to export to CloudWatch Logs.
Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon Aurora User Guide.
361 362 363 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 361 def enabled_cloudwatch_logs_exports data[:enabled_cloudwatch_logs_exports] end |
#endpoint ⇒ String
The connection endpoint for the primary instance of the DB cluster.
108 109 110 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 108 def endpoint data[:endpoint] end |
#engine ⇒ String
The database engine used for this DB cluster.
143 144 145 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 143 def engine data[:engine] end |
#engine_lifecycle_support ⇒ String
The lifecycle type for the DB cluster.
For more information, see CreateDBCluster.
805 806 807 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 805 def engine_lifecycle_support data[:engine_lifecycle_support] end |
#engine_mode ⇒ String
The DB engine mode of the DB cluster, either provisioned or
serverless.
For more information, see CreateDBCluster.
396 397 398 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 396 def engine_mode data[:engine_mode] end |
#engine_version ⇒ String
The version of the database engine.
149 150 151 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 149 def engine_version data[:engine_version] end |
#events(options = {}) ⇒ Event::Collection
3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 3439 def events( = {}) batches = Enumerator.new do |y| = .merge( source_type: "db-cluster", source_identifier: @id ) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.describe_events() end resp.each_page do |page| batch = [] page.data.events.each do |e| batch << Event.new( source_id: e.source_identifier, date: e.date, data: e, client: @client ) end y.yield(batch) end end Event::Collection.new(batches) end |
#failover(options = {}) ⇒ DBCluster
2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 2039 def failover( = {}) = .merge(db_cluster_identifier: @id) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.failover_db_cluster() end DBCluster.new( id: resp.data.db_cluster.db_cluster_identifier, data: resp.data.db_cluster, client: @client ) end |
#global_cluster_identifier ⇒ String
Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database cluster.
596 597 598 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 596 def global_cluster_identifier data[:global_cluster_identifier] end |
#global_write_forwarding_requested ⇒ Boolean
Indicates whether write forwarding is enabled for a secondary cluster
in an Aurora global database. Because write forwarding takes time to
enable, check the value of GlobalWriteForwardingStatus to confirm
that the request has completed before using the write forwarding
feature for this cluster.
613 614 615 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 613 def global_write_forwarding_requested data[:global_write_forwarding_requested] end |
#global_write_forwarding_status ⇒ String
The status of write forwarding for a secondary cluster in an Aurora global database.
603 604 605 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 603 def global_write_forwarding_status data[:global_write_forwarding_status] end |
#hosted_zone_id ⇒ String
The ID that Amazon Route 53 assigns when you create a hosted zone.
241 242 243 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 241 def hosted_zone_id data[:hosted_zone_id] end |
#http_endpoint_enabled ⇒ Boolean
Indicates whether the HTTP endpoint is enabled for an Aurora DB cluster.
When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.
For more information, see Using RDS Data API in the Amazon Aurora User Guide.
520 521 522 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 520 def http_endpoint_enabled data[:http_endpoint_enabled] end |
#iam_database_authentication_enabled ⇒ Boolean
Indicates whether the mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.
302 303 304 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 302 def iam_database_authentication_enabled data[:iam_database_authentication_enabled] end |
#id ⇒ String Also known as: db_cluster_identifier
33 34 35 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 33 def id @id end |
#io_optimized_next_allowed_modification_time ⇒ Time
The next time you can modify the DB cluster to use the aurora-iopt1
storage type.
This setting is only for Aurora DB clusters.
457 458 459 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 457 def io_optimized_next_allowed_modification_time data[:io_optimized_next_allowed_modification_time] end |
#iops ⇒ Integer
The Provisioned IOPS (I/O operations per second) value.
This setting is only for non-Aurora Multi-AZ DB clusters.
438 439 440 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 438 def iops data[:iops] end |
#kms_key_id ⇒ String
If StorageEncrypted is enabled, the Amazon Web Services KMS key
identifier for the encrypted DB cluster.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
272 273 274 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 272 def kms_key_id data[:kms_key_id] end |
#latest_restorable_time ⇒ Time
The latest time to which a database can be restored with point-in-time restore.
156 157 158 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 156 def latest_restorable_time data[:latest_restorable_time] end |
#limitless_database ⇒ Types::LimitlessDatabase
The details for Aurora Limitless Database.
772 773 774 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 772 def limitless_database data[:limitless_database] end |
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::RDS::DBCluster.
Returns self making it possible to chain methods.
db_cluster.reload.data
822 823 824 825 826 827 828 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 822 def load resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.describe_db_clusters(db_cluster_identifier: @id) end @data = resp.db_clusters[0] self end |
#local_write_forwarding_status ⇒ String
Indicates whether an Aurora DB cluster has in-cluster write forwarding enabled, not enabled, requested, or is in the process of enabling it.
759 760 761 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 759 def local_write_forwarding_status data[:local_write_forwarding_status] end |
#master_user_secret ⇒ Types::MasterUserSecret
The secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.
752 753 754 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 752 def master_user_secret data[:master_user_secret] end |
#master_username ⇒ String
The master username for the DB cluster.
168 169 170 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 168 def master_username data[:master_username] end |
#members ⇒ DBInstance::Collection
3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 3465 def members batch = [] data[:db_cluster_members].each do |d| batch << DBInstance.new( id: d[:db_instance_identifier], data: d, client: @client ) end DBInstance::Collection.new([batch], size: batch.size) end |
#modify(options = {}) ⇒ DBCluster
2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 2799 def modify( = {}) = .merge(db_cluster_identifier: @id) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.modify_db_cluster() end DBCluster.new( id: resp.data.db_cluster.db_cluster_identifier, data: resp.data.db_cluster, client: @client ) end |
#monitoring_interval ⇒ Integer
The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster.
This setting is only for -Aurora DB clusters and Multi-AZ DB clusters.
674 675 676 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 674 def monitoring_interval data[:monitoring_interval] end |
#monitoring_role_arn ⇒ String
The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.
This setting is only for Aurora DB clusters and Multi-AZ DB clusters.
683 684 685 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 683 def monitoring_role_arn data[:monitoring_role_arn] end |
#multi_az ⇒ Boolean
Indicates whether the DB cluster has instances in multiple Availability Zones.
137 138 139 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 137 def multi_az data[:multi_az] end |
#network_type ⇒ String
The network type of the DB instance.
The network type is determined by the DBSubnetGroup specified for
the DB cluster. A DBSubnetGroup can support only the IPv4 protocol
or the IPv4 and the IPv6 protocols (DUAL).
For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.
This setting is only for Aurora DB clusters.
Valid Values: IPV4 | DUAL
634 635 636 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 634 def network_type data[:network_type] end |
#option_groups ⇒ OptionGroup::Collection
3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 3478 def option_groups batch = [] data[:db_cluster_option_group_memberships].each do |d| batch << OptionGroup.new( name: d[:db_cluster_option_group_name], data: d, client: @client ) end OptionGroup::Collection.new([batch], size: batch.size) end |
#parameter_group ⇒ DBClusterParameterGroup?
3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 3491 def parameter_group if data[:db_cluster_parameter_group] DBClusterParameterGroup.new( name: data[:db_cluster_parameter_group], client: @client ) else nil end end |
#pending_modified_values ⇒ Types::ClusterPendingModifiedValues
Information about pending changes to the DB cluster. This information is returned only when there are pending changes. Specific changes are identified by subelements.
383 384 385 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 383 def pending_modified_values data[:pending_modified_values] end |
#percent_progress ⇒ String
The progress of the operation as a percentage.
95 96 97 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 95 def percent_progress data[:percent_progress] end |
#performance_insights_enabled ⇒ Boolean
Indicates whether Performance Insights is enabled for the DB cluster.
This setting is only for Aurora DB clusters and Multi-AZ DB clusters.
697 698 699 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 697 def performance_insights_enabled data[:performance_insights_enabled] end |
#performance_insights_kms_key_id ⇒ String
The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
This setting is only for Aurora DB clusters and Multi-AZ DB clusters.
709 710 711 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 709 def performance_insights_kms_key_id data[:performance_insights_kms_key_id] end |
#performance_insights_retention_period ⇒ Integer
The number of days to retain Performance Insights data.
This setting is only for Aurora DB clusters and Multi-AZ DB clusters.
Valid Values:
7month * 31, where month is a number of months from 1-23. Examples:
93(3 months * 31),341(11 months * 31),589(19 months * 31)731
Default: 7 days
729 730 731 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 729 def performance_insights_retention_period data[:performance_insights_retention_period] end |
#port ⇒ Integer
The port that the database engine is listening on.
162 163 164 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 162 def port data[:port] end |
#preferred_backup_window ⇒ String
The daily time range during which automated backups are created if
automated backups are enabled, as determined by the
BackupRetentionPeriod.
182 183 184 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 182 def preferred_backup_window data[:preferred_backup_window] end |
#preferred_maintenance_window ⇒ String
The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
189 190 191 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 189 def preferred_maintenance_window data[:preferred_maintenance_window] end |
#publicly_accessible ⇒ Boolean
Indicates whether the DB cluster is publicly accessible.
When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.
When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.
For more information, see CreateDBCluster.
This setting is only for non-Aurora Multi-AZ DB clusters.
479 480 481 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 479 def publicly_accessible data[:publicly_accessible] end |
#rds_custom_cluster_configuration ⇒ Types::RdsCustomClusterConfiguration
Reserved for future use.
416 417 418 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 416 def rds_custom_cluster_configuration data[:rds_custom_cluster_configuration] end |
#read_replica_identifiers ⇒ Array<String>
Contains one or more identifiers of the read replicas associated with this DB cluster.
217 218 219 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 217 def read_replica_identifiers data[:read_replica_identifiers] end |
#reader_endpoint ⇒ String
The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.
If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint.
124 125 126 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 124 def reader_endpoint data[:reader_endpoint] end |
#replication_source_identifier ⇒ String
The identifier of the source DB cluster if this DB cluster is a read replica.
210 211 212 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 210 def replication_source_identifier data[:replication_source_identifier] end |
#restore(options = {}) ⇒ DBCluster
3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 3380 def restore( = {}) = .merge(source_db_cluster_identifier: @id) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.restore_db_cluster_to_point_in_time() end DBCluster.new( id: resp.data.db_cluster.db_cluster_identifier, data: resp.data.db_cluster, client: @client ) end |
#scaling_configuration_info ⇒ Types::ScalingConfigurationInfo
The scaling configuration for an Aurora DB cluster in serverless DB
engine mode.
For more information, see Using Amazon Aurora Serverless v1 in the Amazon Aurora User Guide.
410 411 412 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 410 def scaling_configuration_info data[:scaling_configuration_info] end |
#serverless_v2_platform_version ⇒ String
The version of the Aurora Serverless V2 platform used by the DB cluster. For more information, see Using Aurora Serverless v2 in the Amazon Aurora User Guide.
665 666 667 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 665 def serverless_v2_platform_version data[:serverless_v2_platform_version] end |
#serverless_v2_scaling_configuration ⇒ Types::ServerlessV2ScalingConfigurationInfo
The scaling configuration for an Aurora Serverless v2 DB cluster.
For more information, see Using Amazon Aurora Serverless v2 in the Amazon Aurora User Guide.
653 654 655 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 653 def serverless_v2_scaling_configuration data[:serverless_v2_scaling_configuration] end |
#snapshots(options = {}) ⇒ DBClusterSnapshot::Collection
3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 3590 def snapshots( = {}) batches = Enumerator.new do |y| = .merge(db_cluster_identifier: @id) resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do @client.describe_db_cluster_snapshots() end resp.each_page do |page| batch = [] page.data.db_cluster_snapshots.each do |d| batch << DBClusterSnapshot.new( cluster_id: @id, snapshot_id: d.db_cluster_snapshot_identifier, data: d, client: @client ) end y.yield(batch) end end DBClusterSnapshot::Collection.new(batches) end |
#status ⇒ String
The current state of this DB cluster.
89 90 91 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 89 def status data[:status] end |
#status_infos ⇒ Array<Types::DBClusterStatusInfo>
Reserved for future use.
223 224 225 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 223 def status_infos data[:status_infos] end |
#storage_encrypted ⇒ Boolean
Indicates whether the DB cluster is encrypted.
247 248 249 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 247 def storage_encrypted data[:storage_encrypted] end |
#storage_encryption_type ⇒ String
The type of encryption used to protect data at rest in the DB cluster. Possible values:
none- The DB cluster is not encrypted.sse-rds- The DB cluster is encrypted using an Amazon Web Services owned KMS key.sse-kms- The DB cluster is encrypted using a customer managed KMS key or Amazon Web Services managed KMS key.
262 263 264 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 262 def storage_encryption_type data[:storage_encryption_type] end |
#storage_throughput ⇒ Integer
The storage throughput for the DB cluster. The throughput is automatically set based on the IOPS that you provision, and is not configurable.
This setting is only for non-Aurora Multi-AZ DB clusters.
448 449 450 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 448 def storage_throughput data[:storage_throughput] end |
#storage_type ⇒ String
The storage type associated with the DB cluster.
430 431 432 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 430 def storage_type data[:storage_type] end |
#subnet_group ⇒ DBSubnetGroup?
3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 3613 def subnet_group if data[:db_subnet_group] DBSubnetGroup.new( name: data[:db_subnet_group], client: @client ) else nil end end |
#tag_list ⇒ Array<Types::Tag>
A list of tags.
For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.
588 589 590 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 588 def tag_list data[:tag_list] end |
#upgrade_rollout_order ⇒ String
This data type represents the order in which the clusters are upgraded.
[first] - Typically used for development or testing environments.
[second] - Default order for resources not specifically configured.
[last] - Usually reserved for production environments.
203 204 205 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 203 def upgrade_rollout_order data[:upgrade_rollout_order] end |
#vpc_security_groups ⇒ Array<Types::VpcSecurityGroupMembership>
The list of VPC security groups that the DB cluster belongs to.
235 236 237 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 235 def vpc_security_groups data[:vpc_security_groups] end |
#wait_until(options = {}) {|resource| ... } ⇒ Resource
Use [Aws::RDS::Client] #wait_until instead
The waiting operation is performed on a copy. The original resource remains unchanged.
Waiter polls an API operation until a resource enters a desired state.
Basic Usage
Waiter will polls until it is successful, it fails by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop until condition is true
resource.wait_until() {|resource| condition}
Example
instance.wait_until(max_attempts:10, delay:5) do |instance|
instance.state.name == 'running'
end
Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. The waiting condition is set by passing a block to #wait_until:
# poll for ~25 seconds
resource.wait_until(max_attempts:5,delay:5) {|resource|...}
Callbacks
You can be notified before each polling attempt and before each
delay. If you throw :success or :failure from these callbacks,
it will terminate the waiter.
started_at = Time.now
# poll for 1 hour, instead of a number of attempts
proc = Proc.new do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
# disable max attempts
instance.wait_until(before_wait:proc, max_attempts:nil) {...}
Handling Errors
When a waiter is successful, it returns the Resource. When a waiter fails, it raises an error.
begin
resource.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
attempts attempt in seconds invoked before each attempt invoked before each wait
926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 |
# File 'gems/aws-sdk-rds/lib/aws-sdk-rds/db_cluster.rb', line 926 def wait_until( = {}, &block) self_copy = self.dup attempts = 0 [:max_attempts] = 10 unless .key?(:max_attempts) [:delay] ||= 10 [:poller] = Proc.new do attempts += 1 if block.call(self_copy) [:success, self_copy] else self_copy.reload unless attempts == [:max_attempts] :retry end end Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do Aws::Waiters::Waiter.new().wait({}) end end |