Class: Google::Cloud::Bigtable::Backup
- Inherits:
-
Object
- Object
- Google::Cloud::Bigtable::Backup
- Defined in:
- lib/google/cloud/bigtable/backup.rb,
lib/google/cloud/bigtable/backup/job.rb,
lib/google/cloud/bigtable/backup/list.rb
Overview
Backup
A backup of a Cloud Bigtable table. See Cluster#create_backup, Cluster#backup and Cluster#backups.
Defined Under Namespace
Instance Method Summary collapse
-
#backup_id ⇒ String
The unique identifier for the backup.
-
#cluster_id ⇒ String
The unique identifier for the cluster to which the backup belongs.
-
#creating? ⇒ Boolean
The backup is currently being created, and may be destroyed if the creation process encounters an error.
-
#delete ⇒ Boolean
Permanently deletes the backup.
-
#encryption_info ⇒ Google::Cloud::Bigtable::EncryptionInfo
The encryption information for the backup.
-
#end_time ⇒ Time
The time that the backup was finished.
-
#expire_time ⇒ Time
The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 30 days from the time the request is received.
-
#expire_time=(new_expire_time) ⇒ Object
Sets the expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 30 days from the time the request is received.
-
#instance_id ⇒ String
The unique identifier for the instance to which the backup belongs.
-
#path ⇒ String
The unique name of the backup.
-
#policy {|policy| ... } ⇒ Policy
Gets the Cloud IAM access control policy for the backup.
-
#project_id ⇒ String
The unique identifier for the project to which the backup belongs.
-
#ready? ⇒ Boolean
The backup has been successfully created and is ready to serve requests.
-
#reload! ⇒ Google::Cloud::Bigtable::Backup
Reloads backup data.
-
#restore(table_id, instance: nil) ⇒ Google::Cloud::Bigtable::Table::RestoreJob
Creates a new table by restoring data from a completed backup.
-
#save ⇒ Boolean
(also: #update)
Updates the backup.
-
#size_bytes ⇒ Integer
The size of the backup in bytes.
-
#source_table(perform_lookup: nil, view: nil) ⇒ Table
The table from which this backup was created.
-
#start_time ⇒ Time
The time that the backup was started (i.e. approximately the time the
CreateBackup
request is received). -
#state ⇒ Symbol
The current state of the backup.
-
#test_iam_permissions(*permissions) ⇒ Array<String>
Tests the specified permissions against the Cloud IAM access control policy.
-
#update_policy(new_policy) ⇒ Policy
(also: #policy=)
Updates the Cloud IAM access control policy for the backup.
Instance Method Details
#backup_id ⇒ String
The unique identifier for the backup.
98 99 100 |
# File 'lib/google/cloud/bigtable/backup.rb', line 98 def backup_id @grpc.name.split("/")[7] end |
#cluster_id ⇒ String
The unique identifier for the cluster to which the backup belongs.
89 90 91 |
# File 'lib/google/cloud/bigtable/backup.rb', line 89 def cluster_id @grpc.name.split("/")[5] end |
#creating? ⇒ Boolean
The backup is currently being created, and may be destroyed if the creation process encounters an error.
197 198 199 |
# File 'lib/google/cloud/bigtable/backup.rb', line 197 def creating? state == :CREATING end |
#delete ⇒ Boolean
Permanently deletes the backup.
468 469 470 471 472 |
# File 'lib/google/cloud/bigtable/backup.rb', line 468 def delete ensure_service! service.delete_backup instance_id, cluster_id, backup_id true end |
#encryption_info ⇒ Google::Cloud::Bigtable::EncryptionInfo
The encryption information for the backup. See also Instance::ClusterMap#add.
227 228 229 |
# File 'lib/google/cloud/bigtable/backup.rb', line 227 def encryption_info EncryptionInfo.from_grpc @grpc.encryption_info end |
#end_time ⇒ Time
The time that the backup was finished. The row data in the backup will be no newer than this timestamp.
170 171 172 |
# File 'lib/google/cloud/bigtable/backup.rb', line 170 def end_time Convert. @grpc.end_time end |
#expire_time ⇒ Time
The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 30 days from the time the request is received. Once the expire time has passed, Cloud Bigtable will delete the backup and free the resources used by the backup.
140 141 142 |
# File 'lib/google/cloud/bigtable/backup.rb', line 140 def expire_time Convert. @grpc.expire_time end |
#expire_time=(new_expire_time) ⇒ Object
Sets the expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 30 days from the time the request is received. Once the #expire_time has passed, Cloud Bigtable will delete the backup and free the resources used by the backup.
151 152 153 |
# File 'lib/google/cloud/bigtable/backup.rb', line 151 def expire_time= new_expire_time @grpc.expire_time = Convert. new_expire_time end |
#instance_id ⇒ String
The unique identifier for the instance to which the backup belongs.
80 81 82 |
# File 'lib/google/cloud/bigtable/backup.rb', line 80 def instance_id @grpc.name.split("/")[3] end |
#path ⇒ String
The unique name of the backup. Value in the form
projects/<project>/instances/<instance>/clusters/<cluster>/backups/<backup>
.
108 109 110 |
# File 'lib/google/cloud/bigtable/backup.rb', line 108 def path @grpc.name end |
#policy {|policy| ... } ⇒ Policy
Gets the Cloud IAM access control policy for the backup.
270 271 272 273 274 275 276 277 |
# File 'lib/google/cloud/bigtable/backup.rb', line 270 def policy ensure_service! grpc = service.get_backup_policy instance_id, cluster_id, backup_id policy = Policy.from_grpc grpc return policy unless block_given? yield policy update_policy policy end |
#project_id ⇒ String
The unique identifier for the project to which the backup belongs.
71 72 73 |
# File 'lib/google/cloud/bigtable/backup.rb', line 71 def project_id @grpc.name.split("/")[1] end |
#ready? ⇒ Boolean
The backup has been successfully created and is ready to serve requests.
206 207 208 |
# File 'lib/google/cloud/bigtable/backup.rb', line 206 def ready? state == :READY end |
#reload! ⇒ Google::Cloud::Bigtable::Backup
Reloads backup data.
447 448 449 450 |
# File 'lib/google/cloud/bigtable/backup.rb', line 447 def reload! @grpc = service.get_backup instance_id, cluster_id, backup_id self end |
#restore(table_id, instance: nil) ⇒ Google::Cloud::Bigtable::Table::RestoreJob
Creates a new table by restoring data from a completed backup. The new table may be created in an instance different than that of the backup.
405 406 407 408 409 410 411 412 413 |
# File 'lib/google/cloud/bigtable/backup.rb', line 405 def restore table_id, instance: nil table_instance_id = instance.respond_to?(:instance_id) ? instance.instance_id : instance grpc = service.restore_table table_id, instance_id, cluster_id, backup_id, table_instance_id: table_instance_id Table::RestoreJob.from_grpc grpc, service end |
#save ⇒ Boolean Also known as: update
Updates the backup.
expire_time
is the only updatable field.
435 436 437 438 439 |
# File 'lib/google/cloud/bigtable/backup.rb', line 435 def save ensure_service! @grpc = service.update_backup @grpc, [:expire_time] true end |
#size_bytes ⇒ Integer
The size of the backup in bytes.
179 180 181 |
# File 'lib/google/cloud/bigtable/backup.rb', line 179 def size_bytes @grpc.size_bytes end |
#source_table(perform_lookup: nil, view: nil) ⇒ Table
The table from which this backup was created.
127 128 129 130 131 |
# File 'lib/google/cloud/bigtable/backup.rb', line 127 def source_table perform_lookup: nil, view: nil table = Table.from_path @grpc.source_table, service return table.reload! view: view if perform_lookup table end |
#start_time ⇒ Time
The time that the backup was started (i.e. approximately the time the CreateBackup
request is received). The
row data in this backup will be no older than this timestamp.
161 162 163 |
# File 'lib/google/cloud/bigtable/backup.rb', line 161 def start_time Convert. @grpc.start_time end |
#state ⇒ Symbol
The current state of the backup. Possible values are :CREATING
and :READY
.
188 189 190 |
# File 'lib/google/cloud/bigtable/backup.rb', line 188 def state @grpc.state end |
#test_iam_permissions(*permissions) ⇒ Array<String>
Tests the specified permissions against the Cloud IAM access control policy.
345 346 347 348 349 |
# File 'lib/google/cloud/bigtable/backup.rb', line 345 def * ensure_service! grpc = service. instance_id, cluster_id, backup_id, .flatten grpc..to_a end |
#update_policy(new_policy) ⇒ Policy Also known as: policy=
Updates the Cloud IAM access control
policy for the backup. The policy should be read from #policy.
See Policy for an explanation of the policy
etag
property and how to modify policies.
You can also update the policy by passing a block to #policy, which will call this method internally after the block completes.
308 309 310 311 312 |
# File 'lib/google/cloud/bigtable/backup.rb', line 308 def update_policy new_policy ensure_service! grpc = service.set_backup_policy instance_id, cluster_id, backup_id, new_policy.to_grpc Policy.from_grpc grpc end |