Class: Aws::RDS::DBClusterSnapshot
- Inherits:
-
Object
- Object
- Aws::RDS::DBClusterSnapshot
- Extended by:
- Deprecations
- Defined in:
- lib/aws-sdk-rds/db_cluster_snapshot.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
-
#allocated_storage ⇒ Integer
Specifies the allocated storage size in gibibytes (GiB).
-
#availability_zones ⇒ Array<String>
Provides the list of Availability Zones (AZs) where instances in the DB cluster snapshot can be restored.
-
#cluster_create_time ⇒ Time
Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).
- #cluster_id ⇒ String (also: #db_cluster_identifier)
-
#db_cluster_resource_id ⇒ String
Specifies the resource ID of the DB cluster that this DB cluster snapshot was created from.
-
#db_cluster_snapshot_arn ⇒ String
Specifies the Amazon Resource Name (ARN) for the DB cluster snapshot.
-
#db_system_id ⇒ String
Reserved for future use.
-
#engine ⇒ String
Specifies the name of the database engine for this DB cluster snapshot.
-
#engine_mode ⇒ String
Provides the engine mode of the database engine for this DB cluster snapshot.
-
#engine_version ⇒ String
Provides the version of the database engine for this DB cluster snapshot.
-
#iam_database_authentication_enabled ⇒ Boolean
True if mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.
-
#kms_key_id ⇒ String
If ‘StorageEncrypted` is true, the Amazon Web Services KMS key identifier for the encrypted DB cluster snapshot.
-
#license_model ⇒ String
Provides the license model information for this DB cluster snapshot.
-
#master_username ⇒ String
Provides the master username for this DB cluster snapshot.
-
#percent_progress ⇒ Integer
Specifies the percentage of the estimated data that has been transferred.
-
#port ⇒ Integer
Specifies the port that the DB cluster was listening on at the time of the snapshot.
-
#snapshot_create_time ⇒ Time
Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
- #snapshot_id ⇒ String (also: #db_cluster_snapshot_identifier)
-
#snapshot_type ⇒ String
Provides the type of the DB cluster snapshot.
-
#source_db_cluster_snapshot_arn ⇒ String
If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.
-
#status ⇒ String
Specifies the status of this DB cluster snapshot.
-
#storage_encrypted ⇒ Boolean
Specifies whether the DB cluster snapshot is encrypted.
-
#storage_type ⇒ String
The storage type associated with the DB cluster snapshot.
-
#tag_list ⇒ Array<Types::Tag>
A list of tags.
-
#vpc_id ⇒ String
Provides the VPC ID associated with the DB cluster snapshot.
Actions collapse
- #copy(options = {}) ⇒ DBClusterSnapshot
- #create(options = {}) ⇒ DBClusterSnapshot
- #delete(options = {}) ⇒ DBClusterSnapshot
- #restore(options = {}) ⇒ DBCluster
Associations collapse
- #cluster ⇒ DBCluster
- #events(options = {}) ⇒ Event::Collection
- #identifiers ⇒ Object deprecated private Deprecated.
Instance Method Summary collapse
- #client ⇒ Client
-
#data ⇒ Types::DBClusterSnapshot
Returns the data for this DBClusterSnapshot.
-
#data_loaded? ⇒ Boolean
Returns ‘true` if this resource is loaded.
-
#initialize(*args) ⇒ DBClusterSnapshot
constructor
A new instance of DBClusterSnapshot.
-
#load ⇒ self
(also: #reload)
Loads, or reloads #data for the current DBClusterSnapshot.
-
#wait_until(options = {}) {|resource| ... } ⇒ Resource
deprecated
Deprecated.
Use [Aws::RDS::Client] #wait_until instead
Constructor Details
#initialize(cluster_id, snapshot_id, options = {}) ⇒ DBClusterSnapshot #initialize(options = {}) ⇒ DBClusterSnapshot
Returns a new instance of DBClusterSnapshot.
24 25 26 27 28 29 30 31 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 24 def initialize(*args) = Hash === args.last ? args.pop.dup : {} @cluster_id = extract_cluster_id(args, ) @snapshot_id = extract_snapshot_id(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() @waiter_block_warned = false end |
Instance Method Details
#allocated_storage ⇒ Integer
Specifies the allocated storage size in gibibytes (GiB).
77 78 79 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 77 def allocated_storage data[:allocated_storage] end |
#availability_zones ⇒ Array<String>
Provides the list of Availability Zones (AZs) where instances in the DB cluster snapshot can be restored.
50 51 52 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 50 def availability_zones data[:availability_zones] end |
#client ⇒ Client
218 219 220 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 218 def client @client end |
#cluster ⇒ DBCluster
978 979 980 981 982 983 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 978 def cluster DBCluster.new( id: @cluster_id, client: @client ) end |
#cluster_create_time ⇒ Time
Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).
110 111 112 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 110 def cluster_create_time data[:cluster_create_time] end |
#cluster_id ⇒ String Also known as: db_cluster_identifier
36 37 38 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 36 def cluster_id @cluster_id end |
#copy(options = {}) ⇒ DBClusterSnapshot
507 508 509 510 511 512 513 514 515 516 517 518 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 507 def copy( = {}) = .merge(source_db_cluster_snapshot_identifier: @snapshot_id) resp = Aws::Plugins::UserAgent.feature('resource') do @client.copy_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 |
#create(options = {}) ⇒ DBClusterSnapshot
367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 367 def create( = {}) = .merge( db_cluster_identifier: @cluster_id, db_cluster_snapshot_identifier: @snapshot_id ) resp = Aws::Plugins::UserAgent.feature('resource') 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 |
#data ⇒ Types::DBClusterSnapshot
Returns the data for this Aws::RDS::DBClusterSnapshot. Calls Client#describe_db_cluster_snapshots if #data_loaded? is ‘false`.
240 241 242 243 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 240 def data load unless @data @data end |
#data_loaded? ⇒ Boolean
248 249 250 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 248 def data_loaded? !!@data end |
#db_cluster_resource_id ⇒ String
Specifies the resource ID of the DB cluster that this DB cluster snapshot was created from.
211 212 213 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 211 def db_cluster_resource_id data[:db_cluster_resource_id] end |
#db_cluster_snapshot_arn ⇒ String
Specifies the Amazon Resource Name (ARN) for the DB cluster snapshot.
164 165 166 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 164 def db_cluster_snapshot_arn data[:db_cluster_snapshot_arn] end |
#db_system_id ⇒ String
Reserved for future use.
196 197 198 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 196 def db_system_id data[:db_system_id] end |
#delete(options = {}) ⇒ DBClusterSnapshot
525 526 527 528 529 530 531 532 533 534 535 536 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 525 def delete( = {}) = .merge(db_cluster_snapshot_identifier: @snapshot_id) resp = Aws::Plugins::UserAgent.feature('resource') do @client.delete_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 |
#engine ⇒ String
Specifies the name of the database engine for this DB cluster snapshot.
64 65 66 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 64 def engine data[:engine] end |
#engine_mode ⇒ String
Provides the engine mode of the database engine for this DB cluster snapshot.
71 72 73 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 71 def engine_mode data[:engine_mode] end |
#engine_version ⇒ String
Provides the version of the database engine for this DB cluster snapshot.
123 124 125 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 123 def engine_version data[:engine_version] end |
#events(options = {}) ⇒ Event::Collection
1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 1030 def events( = {}) batches = Enumerator.new do |y| = .merge( source_type: "db-cluster-snapshot", source_identifier: @snapshot_id ) resp = Aws::Plugins::UserAgent.feature('resource') 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 |
#iam_database_authentication_enabled ⇒ Boolean
True if mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.
179 180 181 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 179 def iam_database_authentication_enabled data[:iam_database_authentication_enabled] end |
#identifiers ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
1057 1058 1059 1060 1061 1062 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 1057 def identifiers { cluster_id: @cluster_id, snapshot_id: @snapshot_id } end |
#kms_key_id ⇒ String
If ‘StorageEncrypted` is true, the Amazon Web Services KMS key identifier for the encrypted DB cluster snapshot.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
158 159 160 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 158 def kms_key_id data[:kms_key_id] end |
#license_model ⇒ String
Provides the license model information for this DB cluster snapshot.
129 130 131 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 129 def license_model data[:license_model] end |
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::RDS::DBClusterSnapshot. Returns ‘self` making it possible to chain methods.
db_cluster_snapshot.reload.data
228 229 230 231 232 233 234 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 228 def load resp = Aws::Plugins::UserAgent.feature('resource') do @client.describe_db_cluster_snapshots(db_cluster_snapshot_identifier: @snapshot_id) end @data = resp.db_cluster_snapshots[0] self end |
#master_username ⇒ String
Provides the master username for this DB cluster snapshot.
116 117 118 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 116 def master_username data[:master_username] end |
#percent_progress ⇒ Integer
Specifies the percentage of the estimated data that has been transferred.
142 143 144 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 142 def percent_progress data[:percent_progress] end |
#port ⇒ Integer
Specifies the port that the DB cluster was listening on at the time of the snapshot.
97 98 99 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 97 def port data[:port] end |
#restore(options = {}) ⇒ DBCluster
963 964 965 966 967 968 969 970 971 972 973 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 963 def restore( = {}) = .merge(snapshot_identifier: @snapshot_id) resp = Aws::Plugins::UserAgent.feature('resource') do @client.restore_db_cluster_from_snapshot() end DBCluster.new( id: resp.data.db_cluster.db_cluster_identifier, data: resp.data.db_cluster, client: @client ) end |
#snapshot_create_time ⇒ Time
Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
57 58 59 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 57 def snapshot_create_time data[:snapshot_create_time] end |
#snapshot_id ⇒ String Also known as: db_cluster_snapshot_identifier
42 43 44 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 42 def snapshot_id @snapshot_id end |
#snapshot_type ⇒ String
Provides the type of the DB cluster snapshot.
135 136 137 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 135 def snapshot_type data[:snapshot_type] end |
#source_db_cluster_snapshot_arn ⇒ String
If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.
172 173 174 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 172 def source_db_cluster_snapshot_arn data[:source_db_cluster_snapshot_arn] end |
#status ⇒ String
Specifies the status of this DB cluster snapshot. Valid statuses are the following:
-
‘available`
-
‘copying`
-
‘creating`
90 91 92 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 90 def status data[:status] end |
#storage_encrypted ⇒ Boolean
Specifies whether the DB cluster snapshot is encrypted.
148 149 150 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 148 def storage_encrypted data[:storage_encrypted] end |
#storage_type ⇒ String
The storage type associated with the DB cluster snapshot.
This setting is only for Aurora DB clusters.
204 205 206 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 204 def storage_type data[:storage_type] end |
#tag_list ⇒ Array<Types::Tag>
A list of tags. For more information, see [Tagging Amazon RDS Resources] in the *Amazon RDS User Guide.*
[1]: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
190 191 192 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 190 def tag_list data[:tag_list] end |
#vpc_id ⇒ String
Provides the VPC ID associated with the DB cluster snapshot.
103 104 105 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 103 def vpc_id data[:vpc_id] 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
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 |
# File 'lib/aws-sdk-rds/db_cluster_snapshot.rb', line 332 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.feature('resource') do Aws::Waiters::Waiter.new().wait({}) end end |