google-cloud-bigtable 2.7.1 → 2.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/google/cloud/bigtable/backup.rb +67 -0
- data/lib/google/cloud/bigtable/project.rb +61 -0
- data/lib/google/cloud/bigtable/service.rb +13 -0
- data/lib/google/cloud/bigtable/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 735e0a2c4fcb24227bbdf5e7f1ee76d6e8f718b6d23cf30bdf56fd8c6f13f830
|
4
|
+
data.tar.gz: fd7c5cb8fa45cd44a7e0a39c78a88bf63e52214c133505dbfbc2977a86b89cd0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ee38cb00b572386d02f7b7f4f7abd593b0d8022e4dd366a54b2789bf8f4e8ee04b73a9ece3286707a81ce68006fb8f2f84685a721057c16b607911e4d8da5e2
|
7
|
+
data.tar.gz: a9686ba49ac1a4761761570f0486edcbb6d628eaaa5c8183df65b6f697c9f50022abf8b61f7420f6b79b5f7e00ad4b9a99f1f0f45266ca248fc47ae8e874ec5a
|
data/CHANGELOG.md
CHANGED
@@ -109,6 +109,18 @@ module Google
|
|
109
109
|
@grpc.name
|
110
110
|
end
|
111
111
|
|
112
|
+
##
|
113
|
+
# The name of the backup from which this backup is copied.
|
114
|
+
# Value will be empty if its not a copied backup and of the form -
|
115
|
+
# `projects/<project>/instances/<instance>/clusters/<cluster>/backups/<source_backup>`
|
116
|
+
# if this is a copied backup.
|
117
|
+
#
|
118
|
+
# @return [String]
|
119
|
+
#
|
120
|
+
def source_backup
|
121
|
+
@grpc.source_backup
|
122
|
+
end
|
123
|
+
|
112
124
|
##
|
113
125
|
# The table from which this backup was created.
|
114
126
|
#
|
@@ -412,6 +424,61 @@ module Google
|
|
412
424
|
Table::RestoreJob.from_grpc grpc, service
|
413
425
|
end
|
414
426
|
|
427
|
+
##
|
428
|
+
# Creates a copy of the backup at the desired location. Copy of the backup won't be created
|
429
|
+
# if the backup is already a copied one.
|
430
|
+
#
|
431
|
+
# @param dest_project_id [String] Existing project ID. Copy of the backup
|
432
|
+
# will be created in this project. Required.
|
433
|
+
# @param dest_instance_id [Instance, String] Existing instance ID. Copy
|
434
|
+
# of the backup will be created in this instance. Required.
|
435
|
+
# @param dest_cluster_id [String] Existing cluster ID. Copy of the backup
|
436
|
+
# will be created in this cluster. Required.
|
437
|
+
# @param new_backup_id [String] The id of the copy of the backup to be created. This string must
|
438
|
+
# be between 1 and 50 characters in length and match the regex
|
439
|
+
# `[_a-zA-Z0-9][-_.a-zA-Z0-9]*`. Required.
|
440
|
+
# @param expire_time [Time] The expiration time of the copy of the backup, with microseconds
|
441
|
+
# granularity that must be at least 6 hours and at most 30 days from the time the request
|
442
|
+
# is received. Once the `expire_time` has passed, Cloud Bigtable will delete the backup
|
443
|
+
# and free the resources used by the backup. Required.
|
444
|
+
#
|
445
|
+
# @return [Google::Cloud::Bigtable::Backup::Job] The job representing the long-running, asynchronous
|
446
|
+
# processing of a copy backup operation.
|
447
|
+
#
|
448
|
+
# @example Create a copy of the backup at a specific location
|
449
|
+
# require "google/cloud/bigtable"
|
450
|
+
#
|
451
|
+
# bigtable = Google::Cloud::Bigtable.new
|
452
|
+
# instance = bigtable.instance "my-instance"
|
453
|
+
# cluster = instance.cluster "my-cluster"
|
454
|
+
#
|
455
|
+
# backup = cluster.backup "my-backup"
|
456
|
+
#
|
457
|
+
# job = backup.copy dest_project_id:"my-project-2",
|
458
|
+
# dest_instance_id:"my-instance-2",
|
459
|
+
# dest_cluster_id:"my-cluster-2",
|
460
|
+
# new_backup_id:"my-backup-2",
|
461
|
+
# expire_time: Time.now + 60 * 60 * 7
|
462
|
+
#
|
463
|
+
# job.wait_until_done!
|
464
|
+
# job.done? #=> true
|
465
|
+
#
|
466
|
+
# if job.error?
|
467
|
+
# status = job.error
|
468
|
+
# else
|
469
|
+
# backup = job.backup
|
470
|
+
# end
|
471
|
+
#
|
472
|
+
def copy dest_project_id:, dest_instance_id:, dest_cluster_id:, new_backup_id:, expire_time:
|
473
|
+
grpc = service.copy_backup project_id: dest_project_id,
|
474
|
+
instance_id: dest_instance_id,
|
475
|
+
cluster_id: dest_cluster_id,
|
476
|
+
backup_id: new_backup_id,
|
477
|
+
source_backup: service.backup_path(instance_id, cluster_id, backup_id),
|
478
|
+
expire_time: expire_time
|
479
|
+
Backup::Job.from_grpc grpc, service
|
480
|
+
end
|
481
|
+
|
415
482
|
##
|
416
483
|
# Updates the backup.
|
417
484
|
#
|
@@ -457,6 +457,67 @@ module Google
|
|
457
457
|
true
|
458
458
|
end
|
459
459
|
|
460
|
+
##
|
461
|
+
# Creates a copy of the backup at the desired location. Copy of the backup won't be created
|
462
|
+
# if the backup is already a copied one.
|
463
|
+
#
|
464
|
+
# @param dest_project_id [String] Existing project ID. Copy of the backup
|
465
|
+
# will be created in this project. Required.
|
466
|
+
# @param dest_instance_id [Instance, String] Existing instance ID. Copy
|
467
|
+
# of the backup will be created in this instance. Required.
|
468
|
+
# @param dest_cluster_id [String] Existing cluster ID. Copy of the backup
|
469
|
+
# will be created in this cluster. Required.
|
470
|
+
# @param new_backup_id [String] The id of the copy of the backup to be created. This string must
|
471
|
+
# be between 1 and 50 characters in length and match the regex
|
472
|
+
# `[_a-zA-Z0-9][-_.a-zA-Z0-9]*`. Required.
|
473
|
+
# @param source_instance_id [String] Existing instance ID. Backup will be copied from this instance. Required.
|
474
|
+
# @param source_cluster_id [String] Existing cluster ID. Backup will be copied from this cluster. Required.
|
475
|
+
# @param source_backup_id [Instance, String] Existing backup ID. This backup will be copied. Required.
|
476
|
+
# @param expire_time [Time] The expiration time of the copy of the backup, with microseconds
|
477
|
+
# granularity that must be at least 6 hours and at most 30 days from the time the request
|
478
|
+
# is received. Once the `expire_time` has passed, Cloud Bigtable will delete the backup
|
479
|
+
# and free the resources used by the backup. Required.
|
480
|
+
#
|
481
|
+
# @return [Google::Cloud::Bigtable::Backup::Job] The job representing the long-running, asynchronous
|
482
|
+
# processing of a copy backup operation.
|
483
|
+
#
|
484
|
+
# @example Create a copy of the specified backup at a specific location
|
485
|
+
# require "google/cloud/bigtable"
|
486
|
+
#
|
487
|
+
# bigtable = Google::Cloud::Bigtable.new
|
488
|
+
#
|
489
|
+
# job = bigtable.copy_backup dest_project_id:"my-project-2",
|
490
|
+
# dest_instance_id:"my-instance-2",
|
491
|
+
# dest_cluster_id:"my-cluster-2",
|
492
|
+
# new_backup_id:"my-backup-2",
|
493
|
+
# source_instance_id:"my-instance",
|
494
|
+
# source_cluster_id:"my-cluster",
|
495
|
+
# source_backup_id:"my-backup",
|
496
|
+
# expire_time: Time.now + 60 * 60 * 7
|
497
|
+
#
|
498
|
+
# job.wait_until_done!
|
499
|
+
# job.done? #=> true
|
500
|
+
#
|
501
|
+
# if job.error?
|
502
|
+
# status = job.error
|
503
|
+
# else
|
504
|
+
# backup = job.backup
|
505
|
+
# end
|
506
|
+
#
|
507
|
+
def copy_backup dest_project_id:, dest_instance_id:, dest_cluster_id:, new_backup_id:,
|
508
|
+
source_instance_id:, source_cluster_id:, source_backup_id:, expire_time:
|
509
|
+
ensure_service!
|
510
|
+
grpc = service.copy_backup project_id: dest_project_id,
|
511
|
+
instance_id: dest_instance_id,
|
512
|
+
cluster_id: dest_cluster_id,
|
513
|
+
backup_id: new_backup_id,
|
514
|
+
source_backup: service.backup_path(source_instance_id,
|
515
|
+
source_cluster_id,
|
516
|
+
source_backup_id),
|
517
|
+
expire_time: expire_time
|
518
|
+
Backup::Job.from_grpc grpc, service
|
519
|
+
end
|
520
|
+
|
460
521
|
protected
|
461
522
|
|
462
523
|
# @private
|
@@ -725,6 +725,19 @@ module Google
|
|
725
725
|
tables.create_backup parent: cluster_path(instance_id, cluster_id), backup_id: backup_id, backup: backup
|
726
726
|
end
|
727
727
|
|
728
|
+
##
|
729
|
+
# Starts copying the selected backup to the chosen location.
|
730
|
+
# The underlying Google::Longrunning::Operation tracks the copying of backup.
|
731
|
+
#
|
732
|
+
# @return [Gapic::Operation]
|
733
|
+
#
|
734
|
+
def copy_backup project_id:, instance_id:, cluster_id:, backup_id:, source_backup:, expire_time:
|
735
|
+
tables.copy_backup parent: "projects/#{project_id}/instances/#{instance_id}/clusters/#{cluster_id}",
|
736
|
+
backup_id: backup_id,
|
737
|
+
source_backup: source_backup,
|
738
|
+
expire_time: expire_time
|
739
|
+
end
|
740
|
+
|
728
741
|
##
|
729
742
|
# @return [Google::Cloud::Bigtable::Admin::V2::Backup]
|
730
743
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-bigtable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-cloud-bigtable-admin-v2
|