google-cloud-spanner-admin-database-v1 0.3.0 → 0.4.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.
@@ -40,6 +40,51 @@ module Google
40
40
  include ::Google::Protobuf::MessageExts
41
41
  extend ::Google::Protobuf::MessageExts::ClassMethods
42
42
  end
43
+
44
+ # Encryption configuration for a Cloud Spanner database.
45
+ # @!attribute [rw] kms_key_name
46
+ # @return [::String]
47
+ # The Cloud KMS key to be used for encrypting and decrypting
48
+ # the database. Values are of the form
49
+ # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
50
+ class EncryptionConfig
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+ end
54
+
55
+ # Encryption information for a Cloud Spanner database or backup.
56
+ # @!attribute [r] encryption_type
57
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::EncryptionInfo::Type]
58
+ # Output only. The type of encryption.
59
+ # @!attribute [r] encryption_status
60
+ # @return [::Google::Rpc::Status]
61
+ # Output only. If present, the status of a recent encrypt/decrypt call on
62
+ # underlying data for this database or backup. Regardless of status, data is
63
+ # always encrypted at rest.
64
+ # @!attribute [r] kms_key_version
65
+ # @return [::String]
66
+ # Output only. A Cloud KMS key version that is being used to protect the
67
+ # database or backup.
68
+ class EncryptionInfo
69
+ include ::Google::Protobuf::MessageExts
70
+ extend ::Google::Protobuf::MessageExts::ClassMethods
71
+
72
+ # Possible encryption types.
73
+ module Type
74
+ # Encryption type was not specified, though data at rest remains encrypted.
75
+ TYPE_UNSPECIFIED = 0
76
+
77
+ # The data is encrypted at rest with a key that is
78
+ # fully managed by Google. No key version or status will be populated.
79
+ # This is the default state.
80
+ GOOGLE_DEFAULT_ENCRYPTION = 1
81
+
82
+ # The data is encrypted at rest with a key that is
83
+ # managed by the customer. The active version of the key. `kms_key_version`
84
+ # will be populated, and `encryption_status` may be populated.
85
+ CUSTOMER_MANAGED_ENCRYPTION = 2
86
+ end
87
+ end
43
88
  end
44
89
  end
45
90
  end
@@ -54,17 +54,37 @@ module Google
54
54
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::RestoreInfo]
55
55
  # Output only. Applicable only for restored databases. Contains information
56
56
  # about the restore source.
57
+ # @!attribute [r] encryption_config
58
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::EncryptionConfig]
59
+ # Output only. For databases that are using customer managed encryption, this
60
+ # field contains the encryption configuration for the database.
61
+ # For databases that are using Google default or other types of encryption,
62
+ # this field is empty.
63
+ # @!attribute [r] encryption_info
64
+ # @return [::Array<::Google::Cloud::Spanner::Admin::Database::V1::EncryptionInfo>]
65
+ # Output only. For databases that are using customer managed encryption, this
66
+ # field contains the encryption information for the database, such as
67
+ # encryption state and the Cloud KMS key versions that are in use.
68
+ #
69
+ # For databases that are using Google default or other types of encryption,
70
+ # this field is empty.
71
+ #
72
+ # This field is propagated lazily from the backend. There might be a delay
73
+ # from when a key version is being used and when it appears in this field.
57
74
  # @!attribute [r] version_retention_period
58
75
  # @return [::String]
59
76
  # Output only. The period in which Cloud Spanner retains all versions of data
60
77
  # for the database. This is the same as the value of version_retention_period
61
78
  # database option set using
62
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_database_ddl UpdateDatabaseDdl}. Defaults to 1 hour,
63
- # if not set.
79
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_database_ddl UpdateDatabaseDdl}.
80
+ # Defaults to 1 hour, if not set.
64
81
  # @!attribute [r] earliest_version_time
65
82
  # @return [::Google::Protobuf::Timestamp]
66
83
  # Output only. Earliest timestamp at which older versions of the data can be
67
- # read.
84
+ # read. This value is continuously updated by Cloud Spanner and becomes stale
85
+ # the moment it is queried. If you are using this value to recover data, make
86
+ # sure to account for the time from the moment when the value is queried to
87
+ # the moment when you initiate the recovery.
68
88
  class Database
69
89
  include ::Google::Protobuf::MessageExts
70
90
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -93,7 +113,8 @@ module Google
93
113
  end
94
114
  end
95
115
 
96
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_databases ListDatabases}.
116
+ # The request for
117
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_databases ListDatabases}.
97
118
  # @!attribute [rw] parent
98
119
  # @return [::String]
99
120
  # Required. The instance whose databases should be listed.
@@ -105,28 +126,31 @@ module Google
105
126
  # @!attribute [rw] page_token
106
127
  # @return [::String]
107
128
  # If non-empty, `page_token` should contain a
108
- # {::Google::Cloud::Spanner::Admin::Database::V1::ListDatabasesResponse#next_page_token next_page_token} from a
109
- # previous {::Google::Cloud::Spanner::Admin::Database::V1::ListDatabasesResponse ListDatabasesResponse}.
129
+ # {::Google::Cloud::Spanner::Admin::Database::V1::ListDatabasesResponse#next_page_token next_page_token}
130
+ # from a previous
131
+ # {::Google::Cloud::Spanner::Admin::Database::V1::ListDatabasesResponse ListDatabasesResponse}.
110
132
  class ListDatabasesRequest
111
133
  include ::Google::Protobuf::MessageExts
112
134
  extend ::Google::Protobuf::MessageExts::ClassMethods
113
135
  end
114
136
 
115
- # The response for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_databases ListDatabases}.
137
+ # The response for
138
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_databases ListDatabases}.
116
139
  # @!attribute [rw] databases
117
140
  # @return [::Array<::Google::Cloud::Spanner::Admin::Database::V1::Database>]
118
141
  # Databases that matched the request.
119
142
  # @!attribute [rw] next_page_token
120
143
  # @return [::String]
121
144
  # `next_page_token` can be sent in a subsequent
122
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_databases ListDatabases} call to fetch more
123
- # of the matching databases.
145
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#list_databases ListDatabases}
146
+ # call to fetch more of the matching databases.
124
147
  class ListDatabasesResponse
125
148
  include ::Google::Protobuf::MessageExts
126
149
  extend ::Google::Protobuf::MessageExts::ClassMethods
127
150
  end
128
151
 
129
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_database CreateDatabase}.
152
+ # The request for
153
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#create_database CreateDatabase}.
130
154
  # @!attribute [rw] parent
131
155
  # @return [::String]
132
156
  # Required. The name of the instance that will serve the new database.
@@ -144,6 +168,11 @@ module Google
144
168
  # database. Statements can create tables, indexes, etc. These
145
169
  # statements execute atomically with the creation of the database:
146
170
  # if there is an error in any statement, the database is not created.
171
+ # @!attribute [rw] encryption_config
172
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::EncryptionConfig]
173
+ # Optional. The encryption configuration for the database. If this field is
174
+ # not specified, Cloud Spanner will encrypt/decrypt all data at rest using
175
+ # Google default encryption.
147
176
  class CreateDatabaseRequest
148
177
  include ::Google::Protobuf::MessageExts
149
178
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -159,7 +188,8 @@ module Google
159
188
  extend ::Google::Protobuf::MessageExts::ClassMethods
160
189
  end
161
190
 
162
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_database GetDatabase}.
191
+ # The request for
192
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_database GetDatabase}.
163
193
  # @!attribute [rw] name
164
194
  # @return [::String]
165
195
  # Required. The name of the requested database. Values are of the form
@@ -183,8 +213,8 @@ module Google
183
213
  # Each batch of statements is assigned a name which can be used with
184
214
  # the Operations API to monitor
185
215
  # progress. See the
186
- # {::Google::Cloud::Spanner::Admin::Database::V1::UpdateDatabaseDdlRequest#operation_id operation_id} field for more
187
- # details.
216
+ # {::Google::Cloud::Spanner::Admin::Database::V1::UpdateDatabaseDdlRequest#operation_id operation_id}
217
+ # field for more details.
188
218
  # @!attribute [rw] database
189
219
  # @return [::String]
190
220
  # Required. The database to update.
@@ -200,18 +230,20 @@ module Google
200
230
  #
201
231
  # Specifying an explicit operation ID simplifies determining
202
232
  # whether the statements were executed in the event that the
203
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_database_ddl UpdateDatabaseDdl} call is replayed,
204
- # or the return value is otherwise lost: the {::Google::Cloud::Spanner::Admin::Database::V1::UpdateDatabaseDdlRequest#database database} and
205
- # `operation_id` fields can be combined to form the
233
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_database_ddl UpdateDatabaseDdl}
234
+ # call is replayed, or the return value is otherwise lost: the
235
+ # {::Google::Cloud::Spanner::Admin::Database::V1::UpdateDatabaseDdlRequest#database database}
236
+ # and `operation_id` fields can be combined to form the
206
237
  # {::Google::Longrunning::Operation#name name} of the resulting
207
- # {::Google::Longrunning::Operation longrunning.Operation}: `<database>/operations/<operation_id>`.
238
+ # {::Google::Longrunning::Operation longrunning.Operation}:
239
+ # `<database>/operations/<operation_id>`.
208
240
  #
209
241
  # `operation_id` should be unique within the database, and must be
210
242
  # a valid identifier: `[a-z][a-z0-9_]*`. Note that
211
243
  # automatically-generated operation IDs always begin with an
212
244
  # underscore. If the named operation already exists,
213
- # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_database_ddl UpdateDatabaseDdl} returns
214
- # `ALREADY_EXISTS`.
245
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_database_ddl UpdateDatabaseDdl}
246
+ # returns `ALREADY_EXISTS`.
215
247
  class UpdateDatabaseDdlRequest
216
248
  include ::Google::Protobuf::MessageExts
217
249
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -241,7 +273,8 @@ module Google
241
273
  extend ::Google::Protobuf::MessageExts::ClassMethods
242
274
  end
243
275
 
244
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#drop_database DropDatabase}.
276
+ # The request for
277
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#drop_database DropDatabase}.
245
278
  # @!attribute [rw] database
246
279
  # @return [::String]
247
280
  # Required. The database to be dropped.
@@ -250,7 +283,8 @@ module Google
250
283
  extend ::Google::Protobuf::MessageExts::ClassMethods
251
284
  end
252
285
 
253
- # The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_database_ddl GetDatabaseDdl}.
286
+ # The request for
287
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_database_ddl GetDatabaseDdl}.
254
288
  # @!attribute [rw] database
255
289
  # @return [::String]
256
290
  # Required. The database whose schema we wish to get.
@@ -261,7 +295,8 @@ module Google
261
295
  extend ::Google::Protobuf::MessageExts::ClassMethods
262
296
  end
263
297
 
264
- # The response for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_database_ddl GetDatabaseDdl}.
298
+ # The response for
299
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#get_database_ddl GetDatabaseDdl}.
265
300
  # @!attribute [rw] statements
266
301
  # @return [::Array<::String>]
267
302
  # A list of formatted DDL statements defining the schema of the database
@@ -293,7 +328,9 @@ module Google
293
328
  # * `name` - The name of the long-running operation
294
329
  # * `done` - False if the operation is in progress, else true.
295
330
  # * `metadata.@type` - the type of metadata. For example, the type string
296
- # for {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseMetadata RestoreDatabaseMetadata} is
331
+ # for
332
+ # {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseMetadata RestoreDatabaseMetadata}
333
+ # is
297
334
  # `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`.
298
335
  # * `metadata.<field_name>` - any field in metadata.value.
299
336
  # * `error` - Error associated with the long-running operation.
@@ -313,7 +350,8 @@ module Google
313
350
  # `(metadata.name:restored_howl) AND` \
314
351
  # `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \
315
352
  # `(error:*)` - Return operations where:
316
- # * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseMetadata RestoreDatabaseMetadata}.
353
+ # * The operation's metadata type is
354
+ # {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseMetadata RestoreDatabaseMetadata}.
317
355
  # * The database is restored from a backup.
318
356
  # * The backup name contains "backup_howl".
319
357
  # * The restored database's name contains "restored_howl".
@@ -327,8 +365,9 @@ module Google
327
365
  # @return [::String]
328
366
  # If non-empty, `page_token` should contain a
329
367
  # {::Google::Cloud::Spanner::Admin::Database::V1::ListDatabaseOperationsResponse#next_page_token next_page_token}
330
- # from a previous {::Google::Cloud::Spanner::Admin::Database::V1::ListDatabaseOperationsResponse ListDatabaseOperationsResponse} to the
331
- # same `parent` and with the same `filter`.
368
+ # from a previous
369
+ # {::Google::Cloud::Spanner::Admin::Database::V1::ListDatabaseOperationsResponse ListDatabaseOperationsResponse}
370
+ # to the same `parent` and with the same `filter`.
332
371
  class ListDatabaseOperationsRequest
333
372
  include ::Google::Protobuf::MessageExts
334
373
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -372,11 +411,53 @@ module Google
372
411
  # @return [::String]
373
412
  # Name of the backup from which to restore. Values are of the form
374
413
  # `projects/<project>/instances/<instance>/backups/<backup>`.
414
+ # @!attribute [rw] encryption_config
415
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseEncryptionConfig]
416
+ # Optional. An encryption configuration describing the encryption type and
417
+ # key resources in Cloud KMS used to encrypt/decrypt the database to restore
418
+ # to. If this field is not specified, the restored database will use the same
419
+ # encryption configuration as the backup by default, namely
420
+ # {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseEncryptionConfig#encryption_type encryption_type}
421
+ # = `USE_CONFIG_DEFAULT_OR_DATABASE_ENCRYPTION`.
375
422
  class RestoreDatabaseRequest
376
423
  include ::Google::Protobuf::MessageExts
377
424
  extend ::Google::Protobuf::MessageExts::ClassMethods
378
425
  end
379
426
 
427
+ # Encryption configuration for the restored database.
428
+ # @!attribute [rw] encryption_type
429
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseEncryptionConfig::EncryptionType]
430
+ # Required. The encryption type of the restored database.
431
+ # @!attribute [rw] kms_key_name
432
+ # @return [::String]
433
+ # Optional. The Cloud KMS key that will be used to encrypt/decrypt the
434
+ # restored database. This field should be set only when
435
+ # {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseEncryptionConfig#encryption_type encryption_type}
436
+ # is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
437
+ # `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
438
+ class RestoreDatabaseEncryptionConfig
439
+ include ::Google::Protobuf::MessageExts
440
+ extend ::Google::Protobuf::MessageExts::ClassMethods
441
+
442
+ # Encryption types for the database to be restored.
443
+ module EncryptionType
444
+ # Unspecified. Do not use.
445
+ ENCRYPTION_TYPE_UNSPECIFIED = 0
446
+
447
+ # This is the default option when
448
+ # {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseEncryptionConfig encryption_config}
449
+ # is not specified.
450
+ USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION = 1
451
+
452
+ # Use Google default encryption.
453
+ GOOGLE_DEFAULT_ENCRYPTION = 2
454
+
455
+ # Use customer managed encryption. If specified, `kms_key_name` must
456
+ # must contain a valid Cloud KMS key.
457
+ CUSTOMER_MANAGED_ENCRYPTION = 3
458
+ end
459
+ end
460
+
380
461
  # Metadata type for the long-running operation returned by
381
462
  # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#restore_database RestoreDatabase}.
382
463
  # @!attribute [rw] name
@@ -405,7 +486,8 @@ module Google
405
486
  # operation completed despite cancellation. On successful cancellation,
406
487
  # the operation is not deleted; instead, it becomes an operation with
407
488
  # an {::Google::Longrunning::Operation#error Operation.error} value with a
408
- # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to `Code.CANCELLED`.
489
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
490
+ # `Code.CANCELLED`.
409
491
  # @!attribute [rw] optimize_database_operation_name
410
492
  # @return [::String]
411
493
  # If exists, the name of the long-running operation that will be used to
@@ -415,10 +497,10 @@ module Google
415
497
  # `projects/<project>/instances/<instance>/databases/<database>/operations/<operation>`
416
498
  # where the <database> is the name of database being created and restored to.
417
499
  # The metadata type of the long-running operation is
418
- # {::Google::Cloud::Spanner::Admin::Database::V1::OptimizeRestoredDatabaseMetadata OptimizeRestoredDatabaseMetadata}. This long-running operation will be
419
- # automatically created by the system after the RestoreDatabase long-running
420
- # operation completes successfully. This operation will not be created if the
421
- # restore was not successful.
500
+ # {::Google::Cloud::Spanner::Admin::Database::V1::OptimizeRestoredDatabaseMetadata OptimizeRestoredDatabaseMetadata}.
501
+ # This long-running operation will be automatically created by the system
502
+ # after the RestoreDatabase long-running operation completes successfully.
503
+ # This operation will not be created if the restore was not successful.
422
504
  class RestoreDatabaseMetadata
423
505
  include ::Google::Protobuf::MessageExts
424
506
  extend ::Google::Protobuf::MessageExts::ClassMethods
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.3.0
4
+ version: 0.4.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: 2021-02-02 00:00:00.000000000 Z
11
+ date: 2021-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common