google-cloud-spanner-admin-database-v1 0.7.6 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71abcf8dd2d3be6ce66337af3ea8cce45352060da6f5a7cd503512bbcc8ecbde
4
- data.tar.gz: 0d92c2b6201a29a0680875f0097b060935b2814e3505e32c7015ab9c241af10f
3
+ metadata.gz: 9219a47f66e9f55a4fe552b65d5b4710d5fef956b657a2756cc7080dbaa7c146
4
+ data.tar.gz: e044561ca992c478d3d3f147797e15d81b7eb3852800de829850668c9559af79
5
5
  SHA512:
6
- metadata.gz: 0be9b4ac8c5e3937ab7a0481410fb196d836fe653398de0bcce8e558c3d1236a5ce8f596d741c8c86fe79cb49de9518de3bae87c6263c91c263c02da26807325
7
- data.tar.gz: af453963e8a0db745601efd13473d95623028fe93b0983cb91bd8b5f056f0e55375c7058da21d6dbb6bea0a7e66a77be4cfdd6a717bc127e72f81ab57f15a11e
6
+ metadata.gz: 499542169d3a14c1bb054b655f0f12427db68a90b87dd1d412dad1c83441c13102a75e14fe0221e30e0a858ffe605406f870059ac2a5919278c9949796ce2b2d
7
+ data.tar.gz: 6a743d549430da2af1f3336d12c350fb8f5abaf71488840ad364ea3da5f332bda19dda027488bbbea217402ed2f4c7ca4689b741da3170168faae4d7f510583c
@@ -110,6 +110,8 @@ module Google
110
110
 
111
111
  default_config.rpcs.create_backup.timeout = 3600.0
112
112
 
113
+ default_config.rpcs.copy_backup.timeout = 3600.0
114
+
113
115
  default_config.rpcs.get_backup.timeout = 3600.0
114
116
  default_config.rpcs.get_backup.retry_policy = {
115
117
  initial_delay: 1.0, max_delay: 32.0, multiplier: 1.3, retry_codes: [14, 4]
@@ -1252,6 +1254,134 @@ module Google
1252
1254
  raise ::Google::Cloud::Error.from_error(e)
1253
1255
  end
1254
1256
 
1257
+ ##
1258
+ # Starts copying a Cloud Spanner Backup.
1259
+ # The returned backup {::Google::Longrunning::Operation long-running operation}
1260
+ # will have a name of the format
1261
+ # `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
1262
+ # and can be used to track copying of the backup. The operation is associated
1263
+ # with the destination backup.
1264
+ # The {::Google::Longrunning::Operation#metadata metadata} field type is
1265
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}.
1266
+ # The {::Google::Longrunning::Operation#response response} field type is
1267
+ # {::Google::Cloud::Spanner::Admin::Database::V1::Backup Backup}, if successful. Cancelling the returned operation will stop the
1268
+ # copying and delete the backup.
1269
+ # Concurrent CopyBackup requests can run on the same source backup.
1270
+ #
1271
+ # @overload copy_backup(request, options = nil)
1272
+ # Pass arguments to `copy_backup` via a request object, either of type
1273
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest} or an equivalent Hash.
1274
+ #
1275
+ # @param request [::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest, ::Hash]
1276
+ # A request object representing the call parameters. Required. To specify no
1277
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1278
+ # @param options [::Gapic::CallOptions, ::Hash]
1279
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1280
+ #
1281
+ # @overload copy_backup(parent: nil, backup_id: nil, source_backup: nil, expire_time: nil, encryption_config: nil)
1282
+ # Pass arguments to `copy_backup` via keyword arguments. Note that at
1283
+ # least one keyword argument is required. To specify no parameters, or to keep all
1284
+ # the default parameter values, pass an empty Hash as a request object (see above).
1285
+ #
1286
+ # @param parent [::String]
1287
+ # Required. The name of the destination instance that will contain the backup copy.
1288
+ # Values are of the form: `projects/<project>/instances/<instance>`.
1289
+ # @param backup_id [::String]
1290
+ # Required. The id of the backup copy.
1291
+ # The `backup_id` appended to `parent` forms the full backup_uri of the form
1292
+ # `projects/<project>/instances/<instance>/backups/<backup>`.
1293
+ # @param source_backup [::String]
1294
+ # Required. The source backup to be copied.
1295
+ # The source backup needs to be in READY state for it to be copied.
1296
+ # Once CopyBackup is in progress, the source backup cannot be deleted or
1297
+ # cleaned up on expiration until CopyBackup is finished.
1298
+ # Values are of the form:
1299
+ # `projects/<project>/instances/<instance>/backups/<backup>`.
1300
+ # @param expire_time [::Google::Protobuf::Timestamp, ::Hash]
1301
+ # Required. The expiration time of the backup in microsecond granularity.
1302
+ # The expiration time must be at least 6 hours and at most 366 days
1303
+ # from the `create_time` of the source backup. Once the `expire_time` has
1304
+ # passed, the backup is eligible to be automatically deleted by Cloud Spanner
1305
+ # to free the resources used by the backup.
1306
+ # @param encryption_config [::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig, ::Hash]
1307
+ # Optional. The encryption configuration used to encrypt the backup. If this field is
1308
+ # not specified, the backup will use the same
1309
+ # encryption configuration as the source backup by default, namely
1310
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type} =
1311
+ # `USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION`.
1312
+ #
1313
+ # @yield [response, operation] Access the result along with the RPC operation
1314
+ # @yieldparam response [::Gapic::Operation]
1315
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1316
+ #
1317
+ # @return [::Gapic::Operation]
1318
+ #
1319
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1320
+ #
1321
+ # @example Basic example
1322
+ # require "google/cloud/spanner/admin/database/v1"
1323
+ #
1324
+ # # Create a client object. The client can be reused for multiple calls.
1325
+ # client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new
1326
+ #
1327
+ # # Create a request. To set request fields, pass in keyword arguments.
1328
+ # request = Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest.new
1329
+ #
1330
+ # # Call the copy_backup method.
1331
+ # result = client.copy_backup request
1332
+ #
1333
+ # # The returned object is of type Gapic::Operation. You can use this
1334
+ # # object to check the status of an operation, cancel it, or wait
1335
+ # # for results. Here is how to block until completion:
1336
+ # result.wait_until_done! timeout: 60
1337
+ # if result.response?
1338
+ # p result.response
1339
+ # else
1340
+ # puts "Error!"
1341
+ # end
1342
+ #
1343
+ def copy_backup request, options = nil
1344
+ raise ::ArgumentError, "request must be provided" if request.nil?
1345
+
1346
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest
1347
+
1348
+ # Converts hash and nil to an options object
1349
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1350
+
1351
+ # Customize the options with defaults
1352
+ metadata = @config.rpcs.copy_backup.metadata.to_h
1353
+
1354
+ # Set x-goog-api-client and x-goog-user-project headers
1355
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1356
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1357
+ gapic_version: ::Google::Cloud::Spanner::Admin::Database::V1::VERSION
1358
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1359
+
1360
+ header_params = {}
1361
+ if request.parent
1362
+ header_params["parent"] = request.parent
1363
+ end
1364
+
1365
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1366
+ metadata[:"x-goog-request-params"] ||= request_params_header
1367
+
1368
+ options.apply_defaults timeout: @config.rpcs.copy_backup.timeout,
1369
+ metadata: metadata,
1370
+ retry_policy: @config.rpcs.copy_backup.retry_policy
1371
+
1372
+ options.apply_defaults timeout: @config.timeout,
1373
+ metadata: @config.metadata,
1374
+ retry_policy: @config.retry_policy
1375
+
1376
+ @database_admin_stub.call_rpc :copy_backup, request, options: options do |response, operation|
1377
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1378
+ yield response, operation if block_given?
1379
+ return response
1380
+ end
1381
+ rescue ::GRPC::BadStatus => e
1382
+ raise ::Google::Cloud::Error.from_error(e)
1383
+ end
1384
+
1255
1385
  ##
1256
1386
  # Gets metadata on a pending or completed {::Google::Cloud::Spanner::Admin::Database::V1::Backup Backup}.
1257
1387
  #
@@ -1833,6 +1963,8 @@ module Google
1833
1963
  # for {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseMetadata RestoreDatabaseMetadata} is
1834
1964
  # `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`.
1835
1965
  # * `metadata.<field_name>` - any field in metadata.value.
1966
+ # `metadata.@type` must be specified first, if filtering on metadata
1967
+ # fields.
1836
1968
  # * `error` - Error associated with the long-running operation.
1837
1969
  # * `response.@type` - the type of response.
1838
1970
  # * `response.<field_name>` - any field in response.value.
@@ -1985,6 +2117,8 @@ module Google
1985
2117
  # for {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} is
1986
2118
  # `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.
1987
2119
  # * `metadata.<field_name>` - any field in metadata.value.
2120
+ # `metadata.@type` must be specified first if filtering on metadata
2121
+ # fields.
1988
2122
  # * `error` - Error associated with the long-running operation.
1989
2123
  # * `response.@type` - the type of response.
1990
2124
  # * `response.<field_name>` - any field in response.value.
@@ -1996,8 +2130,11 @@ module Google
1996
2130
  # Here are a few examples:
1997
2131
  #
1998
2132
  # * `done:true` - The operation is complete.
1999
- # * `metadata.database:prod` - The database the backup was taken from has
2000
- # a name containing the string "prod".
2133
+ # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
2134
+ # `metadata.database:prod` - Returns operations where:
2135
+ # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
2136
+ # * The database the backup was taken from has a name containing the
2137
+ # string "prod".
2001
2138
  # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
2002
2139
  # `(metadata.name:howl) AND` \
2003
2140
  # `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \
@@ -2006,6 +2143,29 @@ module Google
2006
2143
  # * The backup name contains the string "howl".
2007
2144
  # * The operation started before 2018-03-28T14:50:00Z.
2008
2145
  # * The operation resulted in an error.
2146
+ # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) AND` \
2147
+ # `(metadata.source_backup:test) AND` \
2148
+ # `(metadata.progress.start_time < \"2022-01-18T14:50:00Z\") AND` \
2149
+ # `(error:*)` - Returns operations where:
2150
+ # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}.
2151
+ # * The source backup of the copied backup name contains the string
2152
+ # "test".
2153
+ # * The operation started before 2022-01-18T14:50:00Z.
2154
+ # * The operation resulted in an error.
2155
+ # * `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
2156
+ # `(metadata.database:test_db)) OR` \
2157
+ # `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata)
2158
+ # AND` \
2159
+ # `(metadata.source_backup:test_bkp)) AND` \
2160
+ # `(error:*)` - Returns operations where:
2161
+ # * The operation's metadata matches either of criteria:
2162
+ # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} AND the
2163
+ # database the backup was taken from has name containing string
2164
+ # "test_db"
2165
+ # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata} AND the
2166
+ # backup the backup was copied from has name containing string
2167
+ # "test_bkp"
2168
+ # * The operation resulted in an error.
2009
2169
  # @param page_size [::Integer]
2010
2170
  # Number of operations to be returned in the response. If 0 or
2011
2171
  # less, defaults to the server's maximum allowed page size.
@@ -2273,6 +2433,11 @@ module Google
2273
2433
  #
2274
2434
  attr_reader :create_backup
2275
2435
  ##
2436
+ # RPC-specific configuration for `copy_backup`
2437
+ # @return [::Gapic::Config::Method]
2438
+ #
2439
+ attr_reader :copy_backup
2440
+ ##
2276
2441
  # RPC-specific configuration for `get_backup`
2277
2442
  # @return [::Gapic::Config::Method]
2278
2443
  #
@@ -2330,6 +2495,8 @@ module Google
2330
2495
  @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
2331
2496
  create_backup_config = parent_rpcs.create_backup if parent_rpcs.respond_to? :create_backup
2332
2497
  @create_backup = ::Gapic::Config::Method.new create_backup_config
2498
+ copy_backup_config = parent_rpcs.copy_backup if parent_rpcs.respond_to? :copy_backup
2499
+ @copy_backup = ::Gapic::Config::Method.new copy_backup_config
2333
2500
  get_backup_config = parent_rpcs.get_backup if parent_rpcs.respond_to? :get_backup
2334
2501
  @get_backup = ::Gapic::Config::Method.new get_backup_config
2335
2502
  update_backup_config = parent_rpcs.update_backup if parent_rpcs.respond_to? :update_backup
@@ -23,7 +23,7 @@ module Google
23
23
  module Admin
24
24
  module Database
25
25
  module V1
26
- VERSION = "0.7.6"
26
+ VERSION = "0.8.0"
27
27
  end
28
28
  end
29
29
  end
@@ -22,6 +22,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
22
22
  repeated :referencing_databases, :string, 7
23
23
  optional :encryption_info, :message, 8, "google.spanner.admin.database.v1.EncryptionInfo"
24
24
  optional :database_dialect, :enum, 10, "google.spanner.admin.database.v1.DatabaseDialect"
25
+ repeated :referencing_backups, :string, 11
26
+ optional :max_expire_time, :message, 12, "google.protobuf.Timestamp"
25
27
  end
26
28
  add_enum "google.spanner.admin.database.v1.Backup.State" do
27
29
  value :STATE_UNSPECIFIED, 0
@@ -40,6 +42,19 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
40
42
  optional :progress, :message, 3, "google.spanner.admin.database.v1.OperationProgress"
41
43
  optional :cancel_time, :message, 4, "google.protobuf.Timestamp"
42
44
  end
45
+ add_message "google.spanner.admin.database.v1.CopyBackupRequest" do
46
+ optional :parent, :string, 1
47
+ optional :backup_id, :string, 2
48
+ optional :source_backup, :string, 3
49
+ optional :expire_time, :message, 4, "google.protobuf.Timestamp"
50
+ optional :encryption_config, :message, 5, "google.spanner.admin.database.v1.CopyBackupEncryptionConfig"
51
+ end
52
+ add_message "google.spanner.admin.database.v1.CopyBackupMetadata" do
53
+ optional :name, :string, 1
54
+ optional :source_backup, :string, 2
55
+ optional :progress, :message, 3, "google.spanner.admin.database.v1.OperationProgress"
56
+ optional :cancel_time, :message, 4, "google.protobuf.Timestamp"
57
+ end
43
58
  add_message "google.spanner.admin.database.v1.UpdateBackupRequest" do
44
59
  optional :backup, :message, 1, "google.spanner.admin.database.v1.Backup"
45
60
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
@@ -86,6 +101,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
86
101
  value :GOOGLE_DEFAULT_ENCRYPTION, 2
87
102
  value :CUSTOMER_MANAGED_ENCRYPTION, 3
88
103
  end
104
+ add_message "google.spanner.admin.database.v1.CopyBackupEncryptionConfig" do
105
+ optional :encryption_type, :enum, 1, "google.spanner.admin.database.v1.CopyBackupEncryptionConfig.EncryptionType"
106
+ optional :kms_key_name, :string, 2
107
+ end
108
+ add_enum "google.spanner.admin.database.v1.CopyBackupEncryptionConfig.EncryptionType" do
109
+ value :ENCRYPTION_TYPE_UNSPECIFIED, 0
110
+ value :USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION, 1
111
+ value :GOOGLE_DEFAULT_ENCRYPTION, 2
112
+ value :CUSTOMER_MANAGED_ENCRYPTION, 3
113
+ end
89
114
  end
90
115
  end
91
116
 
@@ -99,6 +124,8 @@ module Google
99
124
  Backup::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.Backup.State").enummodule
100
125
  CreateBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CreateBackupRequest").msgclass
101
126
  CreateBackupMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CreateBackupMetadata").msgclass
127
+ CopyBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CopyBackupRequest").msgclass
128
+ CopyBackupMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CopyBackupMetadata").msgclass
102
129
  UpdateBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.UpdateBackupRequest").msgclass
103
130
  GetBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.GetBackupRequest").msgclass
104
131
  DeleteBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.DeleteBackupRequest").msgclass
@@ -109,6 +136,8 @@ module Google
109
136
  BackupInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.BackupInfo").msgclass
110
137
  CreateBackupEncryptionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CreateBackupEncryptionConfig").msgclass
111
138
  CreateBackupEncryptionConfig::EncryptionType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CreateBackupEncryptionConfig.EncryptionType").enummodule
139
+ CopyBackupEncryptionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CopyBackupEncryptionConfig").msgclass
140
+ CopyBackupEncryptionConfig::EncryptionType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CopyBackupEncryptionConfig.EncryptionType").enummodule
112
141
  end
113
142
  end
114
143
  end
@@ -113,6 +113,19 @@ module Google
113
113
  # There can be only one pending backup creation per database. Backup creation
114
114
  # of different databases can run concurrently.
115
115
  rpc :CreateBackup, ::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupRequest, ::Google::Longrunning::Operation
116
+ # Starts copying a Cloud Spanner Backup.
117
+ # The returned backup [long-running operation][google.longrunning.Operation]
118
+ # will have a name of the format
119
+ # `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
120
+ # and can be used to track copying of the backup. The operation is associated
121
+ # with the destination backup.
122
+ # The [metadata][google.longrunning.Operation.metadata] field type is
123
+ # [CopyBackupMetadata][google.spanner.admin.database.v1.CopyBackupMetadata].
124
+ # The [response][google.longrunning.Operation.response] field type is
125
+ # [Backup][google.spanner.admin.database.v1.Backup], if successful. Cancelling the returned operation will stop the
126
+ # copying and delete the backup.
127
+ # Concurrent CopyBackup requests can run on the same source backup.
128
+ rpc :CopyBackup, ::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest, ::Google::Longrunning::Operation
116
129
  # Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
117
130
  rpc :GetBackup, ::Google::Cloud::Spanner::Admin::Database::V1::GetBackupRequest, ::Google::Cloud::Spanner::Admin::Database::V1::Backup
118
131
  # Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
@@ -86,6 +86,22 @@ module Google
86
86
  # @!attribute [r] database_dialect
87
87
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::DatabaseDialect]
88
88
  # Output only. The database dialect information for the backup.
89
+ # @!attribute [r] referencing_backups
90
+ # @return [::Array<::String>]
91
+ # Output only. The names of the destination backups being created by copying
92
+ # this source backup. The backup names are of the form
93
+ # `projects/<project>/instances/<instance>/backups/<backup>`.
94
+ # Referencing backups may exist in different instances. The existence of
95
+ # any referencing backup prevents the backup from being deleted. When the
96
+ # copy operation is done (either successfully completed or cancelled or the
97
+ # destination backup is deleted), the reference to the backup is removed.
98
+ # @!attribute [r] max_expire_time
99
+ # @return [::Google::Protobuf::Timestamp]
100
+ # Output only. The max allowed expiration time of the backup, with
101
+ # microseconds granularity. A backup's expiration time can be configured in
102
+ # multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or
103
+ # copying an existing backup, the expiration time specified must be
104
+ # less than `Backup.max_expire_time`.
89
105
  class Backup
90
106
  include ::Google::Protobuf::MessageExts
91
107
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -164,6 +180,78 @@ module Google
164
180
  extend ::Google::Protobuf::MessageExts::ClassMethods
165
181
  end
166
182
 
183
+ # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
184
+ # @!attribute [rw] parent
185
+ # @return [::String]
186
+ # Required. The name of the destination instance that will contain the backup copy.
187
+ # Values are of the form: `projects/<project>/instances/<instance>`.
188
+ # @!attribute [rw] backup_id
189
+ # @return [::String]
190
+ # Required. The id of the backup copy.
191
+ # The `backup_id` appended to `parent` forms the full backup_uri of the form
192
+ # `projects/<project>/instances/<instance>/backups/<backup>`.
193
+ # @!attribute [rw] source_backup
194
+ # @return [::String]
195
+ # Required. The source backup to be copied.
196
+ # The source backup needs to be in READY state for it to be copied.
197
+ # Once CopyBackup is in progress, the source backup cannot be deleted or
198
+ # cleaned up on expiration until CopyBackup is finished.
199
+ # Values are of the form:
200
+ # `projects/<project>/instances/<instance>/backups/<backup>`.
201
+ # @!attribute [rw] expire_time
202
+ # @return [::Google::Protobuf::Timestamp]
203
+ # Required. The expiration time of the backup in microsecond granularity.
204
+ # The expiration time must be at least 6 hours and at most 366 days
205
+ # from the `create_time` of the source backup. Once the `expire_time` has
206
+ # passed, the backup is eligible to be automatically deleted by Cloud Spanner
207
+ # to free the resources used by the backup.
208
+ # @!attribute [rw] encryption_config
209
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig]
210
+ # Optional. The encryption configuration used to encrypt the backup. If this field is
211
+ # not specified, the backup will use the same
212
+ # encryption configuration as the source backup by default, namely
213
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type} =
214
+ # `USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION`.
215
+ class CopyBackupRequest
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # Metadata type for the google.longrunning.Operation returned by
221
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
222
+ # @!attribute [rw] name
223
+ # @return [::String]
224
+ # The name of the backup being created through the copy operation.
225
+ # Values are of the form
226
+ # `projects/<project>/instances/<instance>/backups/<backup>`.
227
+ # @!attribute [rw] source_backup
228
+ # @return [::String]
229
+ # The name of the source backup that is being copied.
230
+ # Values are of the form
231
+ # `projects/<project>/instances/<instance>/backups/<backup>`.
232
+ # @!attribute [rw] progress
233
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::OperationProgress]
234
+ # The progress of the
235
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup} operation.
236
+ # @!attribute [rw] cancel_time
237
+ # @return [::Google::Protobuf::Timestamp]
238
+ # The time at which cancellation of CopyBackup operation was received.
239
+ # Operations.CancelOperation
240
+ # starts asynchronous cancellation on a long-running operation. The server
241
+ # makes a best effort to cancel the operation, but success is not guaranteed.
242
+ # Clients can use
243
+ # Operations.GetOperation or
244
+ # other methods to check whether the cancellation succeeded or whether the
245
+ # operation completed despite cancellation. On successful cancellation,
246
+ # the operation is not deleted; instead, it becomes an operation with
247
+ # an {::Google::Longrunning::Operation#error Operation.error} value with a
248
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
249
+ # corresponding to `Code.CANCELLED`.
250
+ class CopyBackupMetadata
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+
167
255
  # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_backup UpdateBackup}.
168
256
  # @!attribute [rw] backup
169
257
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::Backup]
@@ -302,6 +390,8 @@ module Google
302
390
  # for {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} is
303
391
  # `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.
304
392
  # * `metadata.<field_name>` - any field in metadata.value.
393
+ # `metadata.@type` must be specified first if filtering on metadata
394
+ # fields.
305
395
  # * `error` - Error associated with the long-running operation.
306
396
  # * `response.@type` - the type of response.
307
397
  # * `response.<field_name>` - any field in response.value.
@@ -313,8 +403,11 @@ module Google
313
403
  # Here are a few examples:
314
404
  #
315
405
  # * `done:true` - The operation is complete.
316
- # * `metadata.database:prod` - The database the backup was taken from has
317
- # a name containing the string "prod".
406
+ # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
407
+ # `metadata.database:prod` - Returns operations where:
408
+ # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
409
+ # * The database the backup was taken from has a name containing the
410
+ # string "prod".
318
411
  # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
319
412
  # `(metadata.name:howl) AND` \
320
413
  # `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \
@@ -323,6 +416,29 @@ module Google
323
416
  # * The backup name contains the string "howl".
324
417
  # * The operation started before 2018-03-28T14:50:00Z.
325
418
  # * The operation resulted in an error.
419
+ # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) AND` \
420
+ # `(metadata.source_backup:test) AND` \
421
+ # `(metadata.progress.start_time < \"2022-01-18T14:50:00Z\") AND` \
422
+ # `(error:*)` - Returns operations where:
423
+ # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}.
424
+ # * The source backup of the copied backup name contains the string
425
+ # "test".
426
+ # * The operation started before 2022-01-18T14:50:00Z.
427
+ # * The operation resulted in an error.
428
+ # * `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
429
+ # `(metadata.database:test_db)) OR` \
430
+ # `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata)
431
+ # AND` \
432
+ # `(metadata.source_backup:test_bkp)) AND` \
433
+ # `(error:*)` - Returns operations where:
434
+ # * The operation's metadata matches either of criteria:
435
+ # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} AND the
436
+ # database the backup was taken from has name containing string
437
+ # "test_db"
438
+ # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata} AND the
439
+ # backup the backup was copied from has name containing string
440
+ # "test_bkp"
441
+ # * The operation resulted in an error.
326
442
  # @!attribute [rw] page_size
327
443
  # @return [::Integer]
328
444
  # Number of operations to be returned in the response. If 0 or
@@ -344,11 +460,11 @@ module Google
344
460
  # @return [::Array<::Google::Longrunning::Operation>]
345
461
  # The list of matching backup [long-running
346
462
  # operations][google.longrunning.Operation]. Each operation's name will be
347
- # prefixed by the backup's name and the operation's
348
- # {::Google::Longrunning::Operation#metadata metadata} will be of type
349
- # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}. Operations returned include those that are
350
- # pending or have completed/failed/canceled within the last 7 days.
351
- # Operations returned are ordered by
463
+ # prefixed by the backup's name. The operation's
464
+ # {::Google::Longrunning::Operation#metadata metadata} field type
465
+ # `metadata.type_url` describes the type of the metadata. Operations returned
466
+ # include those that are pending or have completed/failed/canceled within the
467
+ # last 7 days. Operations returned are ordered by
352
468
  # `operation.metadata.value.progress.start_time` in descending order starting
353
469
  # from the most recently started operation.
354
470
  # @!attribute [rw] next_page_token
@@ -419,6 +535,41 @@ module Google
419
535
  CUSTOMER_MANAGED_ENCRYPTION = 3
420
536
  end
421
537
  end
538
+
539
+ # Encryption configuration for the copied backup.
540
+ # @!attribute [rw] encryption_type
541
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig::EncryptionType]
542
+ # Required. The encryption type of the backup.
543
+ # @!attribute [rw] kms_key_name
544
+ # @return [::String]
545
+ # Optional. The Cloud KMS key that will be used to protect the backup.
546
+ # This field should be set only when
547
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type} is
548
+ # `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
549
+ # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
550
+ class CopyBackupEncryptionConfig
551
+ include ::Google::Protobuf::MessageExts
552
+ extend ::Google::Protobuf::MessageExts::ClassMethods
553
+
554
+ # Encryption types for the backup.
555
+ module EncryptionType
556
+ # Unspecified. Do not use.
557
+ ENCRYPTION_TYPE_UNSPECIFIED = 0
558
+
559
+ # This is the default option for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}
560
+ # when {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig encryption_config} is not specified.
561
+ # For example, if the source backup is using `Customer_Managed_Encryption`,
562
+ # the backup will be using the same Cloud KMS key as the source backup.
563
+ USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION = 1
564
+
565
+ # Use Google default encryption.
566
+ GOOGLE_DEFAULT_ENCRYPTION = 2
567
+
568
+ # Use customer managed encryption. If specified, `kms_key_name`
569
+ # must contain a valid Cloud KMS key.
570
+ CUSTOMER_MANAGED_ENCRYPTION = 3
571
+ end
572
+ end
422
573
  end
423
574
  end
424
575
  end
@@ -345,6 +345,8 @@ module Google
345
345
  # for {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseMetadata RestoreDatabaseMetadata} is
346
346
  # `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`.
347
347
  # * `metadata.<field_name>` - any field in metadata.value.
348
+ # `metadata.@type` must be specified first, if filtering on metadata
349
+ # fields.
348
350
  # * `error` - Error associated with the long-running operation.
349
351
  # * `response.@type` - the type of response.
350
352
  # * `response.<field_name>` - any field in response.value.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-spanner-admin-database-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.6
4
+ version: 0.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: 2022-03-17 00:00:00.000000000 Z
11
+ date: 2022-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common