google-cloud-spanner-admin-database-v1 0.17.1 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.