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.
-
#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) ⇒ Google::Cloud::Bigtable::Table::RestoreJob
Creates a new table by restoring 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.
417 418 419 420 421 |
# File 'lib/google/cloud/bigtable/backup.rb', line 417 def delete ensure_service! service.delete_backup instance_id, cluster_id, backup_id true 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.
249 250 251 252 253 254 255 256 |
# File 'lib/google/cloud/bigtable/backup.rb', line 249 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.
396 397 398 399 |
# File 'lib/google/cloud/bigtable/backup.rb', line 396 def reload! @grpc = service.get_backup instance_id, cluster_id, backup_id self end |
#restore(table_id) ⇒ Google::Cloud::Bigtable::Table::RestoreJob
Creates a new table by restoring from a completed backup.
359 360 361 362 |
# File 'lib/google/cloud/bigtable/backup.rb', line 359 def restore table_id grpc = service.restore_table table_id, instance_id, cluster_id, backup_id Table::RestoreJob.from_grpc grpc, service end |
#save ⇒ Boolean Also known as: update
Updates the backup.
expire_time
is the only updatable field.
384 385 386 387 388 |
# File 'lib/google/cloud/bigtable/backup.rb', line 384 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.
324 325 326 327 328 |
# File 'lib/google/cloud/bigtable/backup.rb', line 324 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.
287 288 289 290 291 |
# File 'lib/google/cloud/bigtable/backup.rb', line 287 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 |