google-cloud-spanner-admin-database-v1 0.18.0 → 0.19.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.
@@ -120,7 +133,8 @@ module Google
120
133
  end
121
134
  end
122
135
 
123
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}.
136
+ # The request for
137
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}.
124
138
  # @!attribute [rw] parent
125
139
  # @return [::String]
126
140
  # Required. The name of the instance in which the backup will be
@@ -139,11 +153,11 @@ module Google
139
153
  # Required. The backup to create.
140
154
  # @!attribute [rw] encryption_config
141
155
  # @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`.
156
+ # Optional. The encryption configuration used to encrypt the backup. If this
157
+ # field is not specified, the backup will use the same encryption
158
+ # configuration as the database by default, namely
159
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig#encryption_type encryption_type}
160
+ # = `USE_DATABASE_ENCRYPTION`.
147
161
  class CreateBackupRequest
148
162
  include ::Google::Protobuf::MessageExts
149
163
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -160,7 +174,8 @@ module Google
160
174
  # @!attribute [rw] progress
161
175
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::OperationProgress]
162
176
  # The progress of the
163
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup} operation.
177
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
178
+ # operation.
164
179
  # @!attribute [rw] cancel_time
165
180
  # @return [::Google::Protobuf::Timestamp]
166
181
  # The time at which cancellation of this operation was received.
@@ -180,11 +195,12 @@ module Google
180
195
  extend ::Google::Protobuf::MessageExts::ClassMethods
181
196
  end
182
197
 
183
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
198
+ # The request for
199
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
184
200
  # @!attribute [rw] parent
185
201
  # @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>`.
202
+ # Required. The name of the destination instance that will contain the backup
203
+ # copy. Values are of the form: `projects/<project>/instances/<instance>`.
188
204
  # @!attribute [rw] backup_id
189
205
  # @return [::String]
190
206
  # Required. The id of the backup copy.
@@ -207,17 +223,17 @@ module Google
207
223
  # to free the resources used by the backup.
208
224
  # @!attribute [rw] encryption_config
209
225
  # @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`.
226
+ # Optional. The encryption configuration used to encrypt the backup. If this
227
+ # field is not specified, the backup will use the same encryption
228
+ # configuration as the source backup by default, namely
229
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type}
230
+ # = `USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION`.
215
231
  class CopyBackupRequest
216
232
  include ::Google::Protobuf::MessageExts
217
233
  extend ::Google::Protobuf::MessageExts::ClassMethods
218
234
  end
219
235
 
220
- # Metadata type for the google.longrunning.Operation returned by
236
+ # Metadata type for the operation returned by
221
237
  # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
222
238
  # @!attribute [rw] name
223
239
  # @return [::String]
@@ -232,7 +248,8 @@ module Google
232
248
  # @!attribute [rw] progress
233
249
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::OperationProgress]
234
250
  # The progress of the
235
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup} operation.
251
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}
252
+ # operation.
236
253
  # @!attribute [rw] cancel_time
237
254
  # @return [::Google::Protobuf::Timestamp]
238
255
  # The time at which cancellation of CopyBackup operation was received.
@@ -252,7 +269,8 @@ module Google
252
269
  extend ::Google::Protobuf::MessageExts::ClassMethods
253
270
  end
254
271
 
255
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_backup UpdateBackup}.
272
+ # The request for
273
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_backup UpdateBackup}.
256
274
  # @!attribute [rw] backup
257
275
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::Backup]
258
276
  # Required. The backup to update. `backup.name`, and the fields to be updated
@@ -271,7 +289,8 @@ module Google
271
289
  extend ::Google::Protobuf::MessageExts::ClassMethods
272
290
  end
273
291
 
274
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_backup GetBackup}.
292
+ # The request for
293
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_backup GetBackup}.
275
294
  # @!attribute [rw] name
276
295
  # @return [::String]
277
296
  # Required. Name of the backup.
@@ -282,7 +301,8 @@ module Google
282
301
  extend ::Google::Protobuf::MessageExts::ClassMethods
283
302
  end
284
303
 
285
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#delete_backup DeleteBackup}.
304
+ # The request for
305
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#delete_backup DeleteBackup}.
286
306
  # @!attribute [rw] name
287
307
  # @return [::String]
288
308
  # Required. Name of the backup to delete.
@@ -293,7 +313,8 @@ module Google
293
313
  extend ::Google::Protobuf::MessageExts::ClassMethods
294
314
  end
295
315
 
296
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}.
316
+ # The request for
317
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}.
297
318
  # @!attribute [rw] parent
298
319
  # @return [::String]
299
320
  # Required. The instance to list backups from. Values are of the
@@ -308,7 +329,9 @@ module Google
308
329
  # must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
309
330
  # Colon `:` is the contains operator. Filter rules are not case sensitive.
310
331
  #
311
- # The following fields in the {::Google::Cloud::Spanner::Admin::Database::V1::Backup Backup} are eligible for filtering:
332
+ # The following fields in the
333
+ # {::Google::Cloud::Spanner::Admin::Database::V1::Backup Backup} are eligible for
334
+ # filtering:
312
335
  #
313
336
  # * `name`
314
337
  # * `database`
@@ -342,15 +365,17 @@ module Google
342
365
  # @!attribute [rw] page_token
343
366
  # @return [::String]
344
367
  # 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`.
368
+ # {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupsResponse#next_page_token next_page_token}
369
+ # from a previous
370
+ # {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupsResponse ListBackupsResponse}
371
+ # to the same `parent` and with the same `filter`.
348
372
  class ListBackupsRequest
349
373
  include ::Google::Protobuf::MessageExts
350
374
  extend ::Google::Protobuf::MessageExts::ClassMethods
351
375
  end
352
376
 
353
- # The response for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}.
377
+ # The response for
378
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}.
354
379
  # @!attribute [rw] backups
355
380
  # @return [::Array<::Google::Cloud::Spanner::Admin::Database::V1::Backup>]
356
381
  # The list of matching backups. Backups returned are ordered by `create_time`
@@ -358,8 +383,8 @@ module Google
358
383
  # @!attribute [rw] next_page_token
359
384
  # @return [::String]
360
385
  # `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.
386
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_backups ListBackups}
387
+ # call to fetch more of the matching backups.
363
388
  class ListBackupsResponse
364
389
  include ::Google::Protobuf::MessageExts
365
390
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -387,7 +412,9 @@ module Google
387
412
  # * `name` - The name of the long-running operation
388
413
  # * `done` - False if the operation is in progress, else true.
389
414
  # * `metadata.@type` - the type of metadata. For example, the type string
390
- # for {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} is
415
+ # for
416
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}
417
+ # is
391
418
  # `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.
392
419
  # * `metadata.<field_name>` - any field in metadata.value.
393
420
  # `metadata.@type` must be specified first if filtering on metadata
@@ -405,14 +432,15 @@ module Google
405
432
  # * `done:true` - The operation is complete.
406
433
  # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
407
434
  # `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".
435
+ # * The operation's metadata type is
436
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
437
+ # * The source database name of backup contains the string "prod".
411
438
  # * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
412
439
  # `(metadata.name:howl) AND` \
413
440
  # `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \
414
441
  # `(error:*)` - Returns operations where:
415
- # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
442
+ # * The operation's metadata type is
443
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
416
444
  # * The backup name contains the string "howl".
417
445
  # * The operation started before 2018-03-28T14:50:00Z.
418
446
  # * The operation resulted in an error.
@@ -420,9 +448,9 @@ module Google
420
448
  # `(metadata.source_backup:test) AND` \
421
449
  # `(metadata.progress.start_time < \"2022-01-18T14:50:00Z\") AND` \
422
450
  # `(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".
451
+ # * The operation's metadata type is
452
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}.
453
+ # * The source backup name contains the string "test".
426
454
  # * The operation started before 2022-01-18T14:50:00Z.
427
455
  # * The operation resulted in an error.
428
456
  # * `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
@@ -432,12 +460,13 @@ module Google
432
460
  # `(metadata.source_backup:test_bkp)) AND` \
433
461
  # `(error:*)` - Returns operations where:
434
462
  # * 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
463
+ # * The operation's metadata type is
464
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}
465
+ # AND the source database name of the backup contains the string
437
466
  # "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"
467
+ # * The operation's metadata type is
468
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}
469
+ # AND the source backup name contains the string "test_bkp"
441
470
  # * The operation resulted in an error.
442
471
  # @!attribute [rw] page_size
443
472
  # @return [::Integer]
@@ -447,8 +476,9 @@ module Google
447
476
  # @return [::String]
448
477
  # If non-empty, `page_token` should contain a
449
478
  # {::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`.
479
+ # from a previous
480
+ # {::Google::Cloud::Spanner::Admin::Database::V1::ListBackupOperationsResponse ListBackupOperationsResponse}
481
+ # to the same `parent` and with the same `filter`.
452
482
  class ListBackupOperationsRequest
453
483
  include ::Google::Protobuf::MessageExts
454
484
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -485,13 +515,14 @@ module Google
485
515
  # @return [::Google::Protobuf::Timestamp]
486
516
  # The backup contains an externally consistent copy of `source_database` at
487
517
  # 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`.
518
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
519
+ # request did not specify `version_time`, the `version_time` of the backup is
520
+ # equivalent to the `create_time`.
491
521
  # @!attribute [rw] create_time
492
522
  # @return [::Google::Protobuf::Timestamp]
493
- # The time the {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup} request was
494
- # received.
523
+ # The time the
524
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_backup CreateBackup}
525
+ # request was received.
495
526
  # @!attribute [rw] source_database
496
527
  # @return [::String]
497
528
  # Name of the database the backup was created from.
@@ -508,9 +539,26 @@ module Google
508
539
  # @return [::String]
509
540
  # Optional. The Cloud KMS key that will be used to protect the backup.
510
541
  # 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
542
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig#encryption_type encryption_type}
543
+ # is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
544
+ # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
545
+ # @!attribute [rw] kms_key_names
546
+ # @return [::Array<::String>]
547
+ # Optional. Specifies the KMS configuration for the one or more keys used to
548
+ # protect the backup. Values are of the form
513
549
  # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
550
+ #
551
+ # The keys referenced by kms_key_names must fully cover all
552
+ # regions of the backup's instance configuration. Some examples:
553
+ # * For single region instance configs, specify a single regional
554
+ # location KMS key.
555
+ # * For multi-regional instance configs of type GOOGLE_MANAGED,
556
+ # either specify a multi-regional location KMS key or multiple regional
557
+ # location KMS keys that cover all regions in the instance config.
558
+ # * For an instance config of type USER_MANAGED, please specify only
559
+ # regional location KMS keys to cover each region in the instance config.
560
+ # Multi-regional location KMS keys are not supported for USER_MANAGED
561
+ # instance configs.
514
562
  class CreateBackupEncryptionConfig
515
563
  include ::Google::Protobuf::MessageExts
516
564
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -522,9 +570,10 @@ module Google
522
570
 
523
571
  # Use the same encryption configuration as the database. This is the
524
572
  # 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.
573
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupEncryptionConfig encryption_config}
574
+ # is empty. For example, if the database is using
575
+ # `Customer_Managed_Encryption`, the backup will be using the same Cloud
576
+ # KMS key as the database.
528
577
  USE_DATABASE_ENCRYPTION = 1
529
578
 
530
579
  # Use Google default encryption.
@@ -544,9 +593,27 @@ module Google
544
593
  # @return [::String]
545
594
  # Optional. The Cloud KMS key that will be used to protect the backup.
546
595
  # 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
596
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type}
597
+ # is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
549
598
  # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
599
+ # @!attribute [rw] kms_key_names
600
+ # @return [::Array<::String>]
601
+ # Optional. Specifies the KMS configuration for the one or more keys used to
602
+ # protect the backup. Values are of the form
603
+ # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
604
+ # Kms keys specified can be in any order.
605
+ #
606
+ # The keys referenced by kms_key_names must fully cover all
607
+ # regions of the backup's instance configuration. Some examples:
608
+ # * For single region instance configs, specify a single regional
609
+ # location KMS key.
610
+ # * For multi-regional instance configs of type GOOGLE_MANAGED,
611
+ # either specify a multi-regional location KMS key or multiple regional
612
+ # location KMS keys that cover all regions in the instance config.
613
+ # * For an instance config of type USER_MANAGED, please specify only
614
+ # regional location KMS keys to cover each region in the instance config.
615
+ # Multi-regional location KMS keys are not supported for USER_MANAGED
616
+ # instance configs.
550
617
  class CopyBackupEncryptionConfig
551
618
  include ::Google::Protobuf::MessageExts
552
619
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -556,17 +623,20 @@ module Google
556
623
  # Unspecified. Do not use.
557
624
  ENCRYPTION_TYPE_UNSPECIFIED = 0
558
625
 
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.
626
+ # This is the default option for
627
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}
628
+ # when
629
+ # {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig encryption_config}
630
+ # is not specified. For example, if the source backup is using
631
+ # `Customer_Managed_Encryption`, the backup will be using the same Cloud
632
+ # KMS key as the source backup.
563
633
  USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION = 1
564
634
 
565
635
  # Use Google default encryption.
566
636
  GOOGLE_DEFAULT_ENCRYPTION = 2
567
637
 
568
- # Use customer managed encryption. If specified, `kms_key_name`
569
- # must contain a valid Cloud KMS key.
638
+ # Use customer managed encryption. If specified, either `kms_key_name` or
639
+ # `kms_key_names` must contain valid Cloud KMS key(s).
570
640
  CUSTOMER_MANAGED_ENCRYPTION = 3
571
641
  end
572
642
  end
@@ -47,6 +47,23 @@ module Google
47
47
  # The Cloud KMS key to be used for encrypting and decrypting
48
48
  # the database. Values are of the form
49
49
  # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
50
+ # @!attribute [rw] kms_key_names
51
+ # @return [::Array<::String>]
52
+ # Specifies the KMS configuration for the one or more keys used to encrypt
53
+ # the database. Values are of the form
54
+ # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
55
+ #
56
+ # The keys referenced by kms_key_names must fully cover all
57
+ # regions of the database instance configuration. Some examples:
58
+ # * For single region database instance configs, specify a single regional
59
+ # location KMS key.
60
+ # * For multi-regional database instance configs of type GOOGLE_MANAGED,
61
+ # either specify a multi-regional location KMS key or multiple regional
62
+ # location KMS keys that cover all regions in the instance config.
63
+ # * For a database instance config of type USER_MANAGED, please specify only
64
+ # regional location KMS keys to cover each region in the instance config.
65
+ # Multi-regional location KMS keys are not supported for USER_MANAGED
66
+ # instance configs.
50
67
  class EncryptionConfig
51
68
  include ::Google::Protobuf::MessageExts
52
69
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -58,13 +75,13 @@ module Google
58
75
  # Output only. The type of encryption.
59
76
  # @!attribute [r] encryption_status
60
77
  # @return [::Google::Rpc::Status]
61
- # Output only. If present, the status of a recent encrypt/decrypt call on underlying data
62
- # for this database or backup. Regardless of status, data is always encrypted
63
- # at rest.
78
+ # Output only. If present, the status of a recent encrypt/decrypt call on
79
+ # underlying data for this database or backup. Regardless of status, data is
80
+ # always encrypted at rest.
64
81
  # @!attribute [r] kms_key_version
65
82
  # @return [::String]
66
- # Output only. A Cloud KMS key version that is being used to protect the database or
67
- # backup.
83
+ # Output only. A Cloud KMS key version that is being used to protect the
84
+ # database or backup.
68
85
  class EncryptionInfo
69
86
  include ::Google::Protobuf::MessageExts
70
87
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -92,7 +109,7 @@ module Google
92
109
  # GOOGLE_STANDARD_SQL dialect.
93
110
  DATABASE_DIALECT_UNSPECIFIED = 0
94
111
 
95
- # Google standard SQL.
112
+ # GoogleSQL supported SQL.
96
113
  GOOGLE_STANDARD_SQL = 1
97
114
 
98
115
  # PostgreSQL supported SQL.