google-cloud-spanner-admin-database-v1 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,10 +26,10 @@ module Google
26
26
  # A backup of a Cloud Spanner database.
27
27
  # @!attribute [rw] database
28
28
  # @return [::String]
29
- # Required for the {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup} operation.
30
- # Name of the database from which this backup was
31
- # created. This needs to be in the same instance as the backup.
32
- # Values are of the form
29
+ # Required for the
30
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
31
+ # operation. Name of the database from which this backup was created. This
32
+ # needs to be in the same instance as the backup. Values are of the form
33
33
  # `projects/<project>/instances/<instance>/databases/<database>`.
34
34
  # @!attribute [rw] version_time
35
35
  # @return [::Google::Protobuf::Timestamp]
@@ -39,7 +39,8 @@ module Google
39
39
  # backup.
40
40
  # @!attribute [rw] expire_time
41
41
  # @return [::Google::Protobuf::Timestamp]
42
- # Required for the {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
42
+ # Required for the
43
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
43
44
  # operation. The expiration time of the backup, with microseconds
44
45
  # granularity that must be at least 6 hours and at most 366 days
45
46
  # from the time the CreateBackup request is processed. Once the `expire_time`
@@ -47,8 +48,11 @@ module Google
47
48
  # Spanner to free the resources used by the backup.
48
49
  # @!attribute [rw] name
49
50
  # @return [::String]
50
- # Output only for the {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup} operation.
51
- # Required for the {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_backup UpdateBackup} operation.
51
+ # Output only for the
52
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
53
+ # operation. Required for the
54
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_backup UpdateBackup}
55
+ # operation.
52
56
  #
53
57
  # A globally unique identifier for the backup which cannot be
54
58
  # changed. Values are of the form
@@ -62,7 +66,8 @@ module Google
62
66
  # `projects/<project>/instances/<instance>`.
63
67
  # @!attribute [r] create_time
64
68
  # @return [::Google::Protobuf::Timestamp]
65
- # Output only. The time the {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
69
+ # Output only. The time the
70
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
66
71
  # request is received. If the request does not specify `version_time`, the
67
72
  # `version_time` of the backup will be equivalent to the `create_time`.
68
73
  # @!attribute [r] size_bytes
@@ -83,6 +88,14 @@ module Google
83
88
  # @!attribute [r] encryption_info
84
89
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::EncryptionInfo]
85
90
  # Output only. The encryption information for the backup.
91
+ # @!attribute [r] encryption_information
92
+ # @return [::Array<::Google::Cloud::Spanner::Admin::Database::V1::EncryptionInfo>]
93
+ # Output only. The encryption information for the backup, whether it is
94
+ # protected by one or more KMS keys. The information includes all Cloud
95
+ # KMS key versions used to encrypt the backup. The `encryption_status' field
96
+ # inside of each `EncryptionInfo` is not populated. At least one of the key
97
+ # versions must be available for the backup to be restored. If a key version
98
+ # is revoked in the middle of a restore, the restore behavior is undefined.
86
99
  # @!attribute [r] database_dialect
87
100
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::DatabaseDialect]
88
101
  # Output only. The database dialect information for the backup.
@@ -102,6 +115,17 @@ module Google
102
115
  # multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or
103
116
  # copying an existing backup, the expiration time specified must be
104
117
  # less than `Backup.max_expire_time`.
118
+ # @!attribute [r] backup_schedules
119
+ # @return [::Array<::String>]
120
+ # Output only. List of backup schedule URIs that are associated with
121
+ # creating this backup. This is only applicable for scheduled backups, and
122
+ # is empty for on-demand backups.
123
+ #
124
+ # To optimize for storage, whenever possible, multiple schedules are
125
+ # collapsed together to create one backup. In such cases, this field captures
126
+ # the list of all backup schedule URIs that are associated with creating
127
+ # this backup. If collapsing is not done, then this field captures the
128
+ # single backup schedule URI associated with creating this backup.
105
129
  class Backup
106
130
  include ::Google::Protobuf::MessageExts
107
131
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -120,7 +144,8 @@ module Google
120
144
  end
121
145
  end
122
146
 
123
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}.
147
+ # The request for
148
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}.
124
149
  # @!attribute [rw] parent
125
150
  # @return [::String]
126
151
  # Required. The name of the instance in which the backup will be
@@ -139,11 +164,11 @@ module Google
139
164
  # Required. The backup to create.
140
165
  # @!attribute [rw] encryption_config
141
166
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig]
142
- # Optional. The encryption configuration used to encrypt the backup. If this field is
143
- # not specified, the backup will use the same
144
- # encryption configuration as the database by default, namely
145
- # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig#encryption_type encryption_type} =
146
- # `USE_DATABASE_ENCRYPTION`.
167
+ # Optional. The encryption configuration used to encrypt the backup. If this
168
+ # field is not specified, the backup will use the same encryption
169
+ # configuration as the database by default, namely
170
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig#encryption_type encryption_type}
171
+ # = `USE_DATABASE_ENCRYPTION`.
147
172
  class CreateBackupRequest
148
173
  include ::Google::Protobuf::MessageExts
149
174
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -160,7 +185,8 @@ module Google
160
185
  # @!attribute [rw] progress
161
186
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::OperationProgress]
162
187
  # The progress of the
163
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup} operation.
188
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
189
+ # operation.
164
190
  # @!attribute [rw] cancel_time
165
191
  # @return [::Google::Protobuf::Timestamp]
166
192
  # The time at which cancellation of this operation was received.
@@ -180,11 +206,12 @@ module Google
180
206
  extend ::Google::Protobuf::MessageExts::ClassMethods
181
207
  end
182
208
 
183
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
209
+ # The request for
210
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
184
211
  # @!attribute [rw] parent
185
212
  # @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>`.
213
+ # Required. The name of the destination instance that will contain the backup
214
+ # copy. Values are of the form: `projects/<project>/instances/<instance>`.
188
215
  # @!attribute [rw] backup_id
189
216
  # @return [::String]
190
217
  # Required. The id of the backup copy.
@@ -207,17 +234,17 @@ module Google
207
234
  # to free the resources used by the backup.
208
235
  # @!attribute [rw] encryption_config
209
236
  # @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`.
237
+ # Optional. The encryption configuration used to encrypt the backup. If this
238
+ # field is not specified, the backup will use the same encryption
239
+ # configuration as the source backup by default, namely
240
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type}
241
+ # = `USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION`.
215
242
  class CopyBackupRequest
216
243
  include ::Google::Protobuf::MessageExts
217
244
  extend ::Google::Protobuf::MessageExts::ClassMethods
218
245
  end
219
246
 
220
- # Metadata type for the google.longrunning.Operation returned by
247
+ # Metadata type for the operation returned by
221
248
  # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
222
249
  # @!attribute [rw] name
223
250
  # @return [::String]
@@ -232,7 +259,8 @@ module Google
232
259
  # @!attribute [rw] progress
233
260
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::OperationProgress]
234
261
  # The progress of the
235
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup} operation.
262
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}
263
+ # operation.
236
264
  # @!attribute [rw] cancel_time
237
265
  # @return [::Google::Protobuf::Timestamp]
238
266
  # The time at which cancellation of CopyBackup operation was received.
@@ -252,7 +280,8 @@ module Google
252
280
  extend ::Google::Protobuf::MessageExts::ClassMethods
253
281
  end
254
282
 
255
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_backup UpdateBackup}.
283
+ # The request for
284
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_backup UpdateBackup}.
256
285
  # @!attribute [rw] backup
257
286
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::Backup]
258
287
  # Required. The backup to update. `backup.name`, and the fields to be updated
@@ -271,7 +300,8 @@ module Google
271
300
  extend ::Google::Protobuf::MessageExts::ClassMethods
272
301
  end
273
302
 
274
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_backup GetBackup}.
303
+ # The request for
304
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_backup GetBackup}.
275
305
  # @!attribute [rw] name
276
306
  # @return [::String]
277
307
  # Required. Name of the backup.
@@ -282,7 +312,8 @@ module Google
282
312
  extend ::Google::Protobuf::MessageExts::ClassMethods
283
313
  end
284
314
 
285
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#delete_backup DeleteBackup}.
315
+ # The request for
316
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#delete_backup DeleteBackup}.
286
317
  # @!attribute [rw] name
287
318
  # @return [::String]
288
319
  # Required. Name of the backup to delete.
@@ -293,7 +324,8 @@ module Google
293
324
  extend ::Google::Protobuf::MessageExts::ClassMethods
294
325
  end
295
326
 
296
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}.
327
+ # The request for
328
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}.
297
329
  # @!attribute [rw] parent
298
330
  # @return [::String]
299
331
  # Required. The instance to list backups from. Values are of the
@@ -308,7 +340,9 @@ module Google
308
340
  # must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
309
341
  # Colon `:` is the contains operator. Filter rules are not case sensitive.
310
342
  #
311
- # The following fields in the {::Google::Cloud::Spanner::Admin::Database::V1::Backup Backup} are eligible for filtering:
343
+ # The following fields in the
344
+ # {::Google::Cloud::Spanner::Admin::Database::V1::Backup Backup} are eligible for
345
+ # filtering:
312
346
  #
313
347
  # * `name`
314
348
  # * `database`
@@ -342,15 +376,17 @@ module Google
342
376
  # @!attribute [rw] page_token
343
377
  # @return [::String]
344
378
  # If non-empty, `page_token` should contain a
345
- # {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupsResponse#next_page_token next_page_token} from a
346
- # previous {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupsResponse ListBackupsResponse} to the same `parent` and with the same
347
- # `filter`.
379
+ # {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupsResponse#next_page_token next_page_token}
380
+ # from a previous
381
+ # {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupsResponse ListBackupsResponse}
382
+ # to the same `parent` and with the same `filter`.
348
383
  class ListBackupsRequest
349
384
  include ::Google::Protobuf::MessageExts
350
385
  extend ::Google::Protobuf::MessageExts::ClassMethods
351
386
  end
352
387
 
353
- # The response for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}.
388
+ # The response for
389
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}.
354
390
  # @!attribute [rw] backups
355
391
  # @return [::Array<::Google::Cloud::Spanner::Admin::Database::V1::Backup>]
356
392
  # The list of matching backups. Backups returned are ordered by `create_time`
@@ -358,8 +394,8 @@ module Google
358
394
  # @!attribute [rw] next_page_token
359
395
  # @return [::String]
360
396
  # `next_page_token` can be sent in a subsequent
361
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups} call to fetch more
362
- # of the matching backups.
397
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}
398
+ # call to fetch more of the matching backups.
363
399
  class ListBackupsResponse
364
400
  include ::Google::Protobuf::MessageExts
365
401
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -387,7 +423,9 @@ module Google
387
423
  # * `name` - The name of the long-running operation
388
424
  # * `done` - False if the operation is in progress, else true.
389
425
  # * `metadata.@type` - the type of metadata. For example, the type string
390
- # for {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} is
426
+ # for
427
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}
428
+ # is
391
429
  # `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.
392
430
  # * `metadata.<field_name>` - any field in metadata.value.
393
431
  # `metadata.@type` must be specified first if filtering on metadata
@@ -405,14 +443,15 @@ module Google
405
443
  # * `done:true` - The operation is complete.
406
444
  # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
407
445
  # `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".
446
+ # * The operation's metadata type is
447
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
448
+ # * The source database name of backup contains the string "prod".
411
449
  # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
412
450
  # `(metadata.name:howl) AND` \
413
451
  # `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \
414
452
  # `(error:*)` - Returns operations where:
415
- # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
453
+ # * The operation's metadata type is
454
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
416
455
  # * The backup name contains the string "howl".
417
456
  # * The operation started before 2018-03-28T14:50:00Z.
418
457
  # * The operation resulted in an error.
@@ -420,9 +459,9 @@ module Google
420
459
  # `(metadata.source_backup:test) AND` \
421
460
  # `(metadata.progress.start_time < \"2022-01-18T14:50:00Z\") AND` \
422
461
  # `(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".
462
+ # * The operation's metadata type is
463
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}.
464
+ # * The source backup name contains the string "test".
426
465
  # * The operation started before 2022-01-18T14:50:00Z.
427
466
  # * The operation resulted in an error.
428
467
  # * `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
@@ -432,12 +471,13 @@ module Google
432
471
  # `(metadata.source_backup:test_bkp)) AND` \
433
472
  # `(error:*)` - Returns operations where:
434
473
  # * 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
474
+ # * The operation's metadata type is
475
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}
476
+ # AND the source database name of the backup contains the string
437
477
  # "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"
478
+ # * The operation's metadata type is
479
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}
480
+ # AND the source backup name contains the string "test_bkp"
441
481
  # * The operation resulted in an error.
442
482
  # @!attribute [rw] page_size
443
483
  # @return [::Integer]
@@ -447,8 +487,9 @@ module Google
447
487
  # @return [::String]
448
488
  # If non-empty, `page_token` should contain a
449
489
  # {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupOperationsResponse#next_page_token next_page_token}
450
- # from a previous {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupOperationsResponse ListBackupOperationsResponse} to the
451
- # same `parent` and with the same `filter`.
490
+ # from a previous
491
+ # {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupOperationsResponse ListBackupOperationsResponse}
492
+ # to the same `parent` and with the same `filter`.
452
493
  class ListBackupOperationsRequest
453
494
  include ::Google::Protobuf::MessageExts
454
495
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -485,13 +526,14 @@ module Google
485
526
  # @return [::Google::Protobuf::Timestamp]
486
527
  # The backup contains an externally consistent copy of `source_database` at
487
528
  # the timestamp specified by `version_time`. If the
488
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup} request did not specify
489
- # `version_time`, the `version_time` of the backup is equivalent to the
490
- # `create_time`.
529
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
530
+ # request did not specify `version_time`, the `version_time` of the backup is
531
+ # equivalent to the `create_time`.
491
532
  # @!attribute [rw] create_time
492
533
  # @return [::Google::Protobuf::Timestamp]
493
- # The time the {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup} request was
494
- # received.
534
+ # The time the
535
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
536
+ # request was received.
495
537
  # @!attribute [rw] source_database
496
538
  # @return [::String]
497
539
  # Name of the database the backup was created from.
@@ -508,9 +550,26 @@ module Google
508
550
  # @return [::String]
509
551
  # Optional. The Cloud KMS key that will be used to protect the backup.
510
552
  # This field should be set only when
511
- # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig#encryption_type encryption_type} is
512
- # `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
553
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig#encryption_type encryption_type}
554
+ # is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
513
555
  # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
556
+ # @!attribute [rw] kms_key_names
557
+ # @return [::Array<::String>]
558
+ # Optional. Specifies the KMS configuration for the one or more keys used to
559
+ # protect the backup. Values are of the form
560
+ # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
561
+ #
562
+ # The keys referenced by kms_key_names must fully cover all
563
+ # regions of the backup's instance configuration. Some examples:
564
+ # * For single region instance configs, specify a single regional
565
+ # location KMS key.
566
+ # * For multi-regional instance configs of type GOOGLE_MANAGED,
567
+ # either specify a multi-regional location KMS key or multiple regional
568
+ # location KMS keys that cover all regions in the instance config.
569
+ # * For an instance config of type USER_MANAGED, please specify only
570
+ # regional location KMS keys to cover each region in the instance config.
571
+ # Multi-regional location KMS keys are not supported for USER_MANAGED
572
+ # instance configs.
514
573
  class CreateBackupEncryptionConfig
515
574
  include ::Google::Protobuf::MessageExts
516
575
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -522,9 +581,10 @@ module Google
522
581
 
523
582
  # Use the same encryption configuration as the database. This is the
524
583
  # default option when
525
- # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig encryption_config} is empty.
526
- # For example, if the database is using `Customer_Managed_Encryption`, the
527
- # backup will be using the same Cloud KMS key as the database.
584
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig encryption_config}
585
+ # is empty. For example, if the database is using
586
+ # `Customer_Managed_Encryption`, the backup will be using the same Cloud
587
+ # KMS key as the database.
528
588
  USE_DATABASE_ENCRYPTION = 1
529
589
 
530
590
  # Use Google default encryption.
@@ -544,9 +604,27 @@ module Google
544
604
  # @return [::String]
545
605
  # Optional. The Cloud KMS key that will be used to protect the backup.
546
606
  # 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
607
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type}
608
+ # is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
549
609
  # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
610
+ # @!attribute [rw] kms_key_names
611
+ # @return [::Array<::String>]
612
+ # Optional. Specifies the KMS configuration for the one or more keys used to
613
+ # protect the backup. Values are of the form
614
+ # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
615
+ # Kms keys specified can be in any order.
616
+ #
617
+ # The keys referenced by kms_key_names must fully cover all
618
+ # regions of the backup's instance configuration. Some examples:
619
+ # * For single region instance configs, specify a single regional
620
+ # location KMS key.
621
+ # * For multi-regional instance configs of type GOOGLE_MANAGED,
622
+ # either specify a multi-regional location KMS key or multiple regional
623
+ # location KMS keys that cover all regions in the instance config.
624
+ # * For an instance config of type USER_MANAGED, please specify only
625
+ # regional location KMS keys to cover each region in the instance config.
626
+ # Multi-regional location KMS keys are not supported for USER_MANAGED
627
+ # instance configs.
550
628
  class CopyBackupEncryptionConfig
551
629
  include ::Google::Protobuf::MessageExts
552
630
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -556,20 +634,31 @@ module Google
556
634
  # Unspecified. Do not use.
557
635
  ENCRYPTION_TYPE_UNSPECIFIED = 0
558
636
 
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.
637
+ # This is the default option for
638
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}
639
+ # when
640
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig encryption_config}
641
+ # is not specified. For example, if the source backup is using
642
+ # `Customer_Managed_Encryption`, the backup will be using the same Cloud
643
+ # KMS key as the source backup.
563
644
  USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION = 1
564
645
 
565
646
  # Use Google default encryption.
566
647
  GOOGLE_DEFAULT_ENCRYPTION = 2
567
648
 
568
- # Use customer managed encryption. If specified, `kms_key_name`
569
- # must contain a valid Cloud KMS key.
649
+ # Use customer managed encryption. If specified, either `kms_key_name` or
650
+ # `kms_key_names` must contain valid Cloud KMS key(s).
570
651
  CUSTOMER_MANAGED_ENCRYPTION = 3
571
652
  end
572
653
  end
654
+
655
+ # The specification for full backups.
656
+ # A full backup stores the entire contents of the database at a given
657
+ # version time.
658
+ class FullBackupSpec
659
+ include ::Google::Protobuf::MessageExts
660
+ extend ::Google::Protobuf::MessageExts::ClassMethods
661
+ end
573
662
  end
574
663
  end
575
664
  end