google-cloud-spanner-admin-database-v1 0.7.4 → 0.8.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.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/AUTHENTICATION.md +7 -25
- data/README.md +1 -1
- data/lib/google/cloud/spanner/admin/database/v1/database_admin/client.rb +180 -7
- data/lib/google/cloud/spanner/admin/database/v1/database_admin.rb +5 -4
- data/lib/google/cloud/spanner/admin/database/v1/version.rb +1 -1
- data/lib/google/cloud/spanner/admin/database/v1.rb +2 -0
- data/lib/google/spanner/admin/database/v1/backup_pb.rb +30 -1
- data/lib/google/spanner/admin/database/v1/common_pb.rb +6 -1
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_pb.rb +2 -0
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_services_pb.rb +20 -4
- data/proto_docs/google/api/resource.rb +10 -71
- data/proto_docs/google/spanner/admin/database/v1/backup.rb +161 -7
- data/proto_docs/google/spanner/admin/database/v1/common.rb +13 -0
- data/proto_docs/google/spanner/admin/database/v1/spanner_database_admin.rb +8 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9219a47f66e9f55a4fe552b65d5b4710d5fef956b657a2756cc7080dbaa7c146
|
4
|
+
data.tar.gz: e044561ca992c478d3d3f147797e15d81b7eb3852800de829850668c9559af79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 499542169d3a14c1bb054b655f0f12427db68a90b87dd1d412dad1c83441c13102a75e14fe0221e30e0a858ffe605406f870059ac2a5919278c9949796ce2b2d
|
7
|
+
data.tar.gz: 6a743d549430da2af1f3336d12c350fb8f5abaf71488840ad364ea3da5f332bda19dda027488bbbea217402ed2f4c7ca4689b741da3170168faae4d7f510583c
|
data/.yardopts
CHANGED
data/AUTHENTICATION.md
CHANGED
@@ -120,15 +120,6 @@ To configure your system for this, simply:
|
|
120
120
|
**NOTE:** This is _not_ recommended for running in production. The Cloud SDK
|
121
121
|
*should* only be used during development.
|
122
122
|
|
123
|
-
[gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
|
124
|
-
[dev-console]: https://console.cloud.google.com/project
|
125
|
-
|
126
|
-
[enable-apis]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/enable-apis.png
|
127
|
-
|
128
|
-
[create-new-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account.png
|
129
|
-
[create-new-service-account-existing-keys]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account-existing-keys.png
|
130
|
-
[reuse-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/reuse-service-account.png
|
131
|
-
|
132
123
|
## Creating a Service Account
|
133
124
|
|
134
125
|
Google Cloud requires **Service Account Credentials** to
|
@@ -139,31 +130,22 @@ If you are not running this client within
|
|
139
130
|
[Google Cloud Platform environments](#google-cloud-platform-environments), you
|
140
131
|
need a Google Developers service account.
|
141
132
|
|
142
|
-
1. Visit the [Google
|
133
|
+
1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
|
143
134
|
2. Create a new project or click on an existing project.
|
144
|
-
3. Activate the
|
135
|
+
3. Activate the menu in the upper left and select **APIs & Services**. From
|
145
136
|
here, you will enable the APIs that your application requires.
|
146
137
|
|
147
|
-
![Enable the APIs that your application requires][enable-apis]
|
148
|
-
|
149
138
|
*Note: You may need to enable billing in order to use these services.*
|
150
139
|
|
151
140
|
4. Select **Credentials** from the side navigation.
|
152
141
|
|
153
|
-
|
154
|
-
|
155
|
-
![Create a new service account][create-new-service-account]
|
156
|
-
|
157
|
-
![Create a new service account With Existing Keys][create-new-service-account-existing-keys]
|
158
|
-
|
159
|
-
Find the "Add credentials" drop down and select "Service account" to be
|
160
|
-
guided through downloading a new JSON key file.
|
142
|
+
Find the "Create credentials" drop down near the top of the page, and select
|
143
|
+
"Service account" to be guided through downloading a new JSON key file.
|
161
144
|
|
162
145
|
If you want to re-use an existing service account, you can easily generate a
|
163
|
-
new key file. Just select the account you wish to re-use,
|
164
|
-
|
165
|
-
|
166
|
-
![Re-use an existing service account][reuse-service-account]
|
146
|
+
new key file. Just select the account you wish to re-use, click the pencil
|
147
|
+
tool on the right side to edit the service account, select the **Keys** tab,
|
148
|
+
and then select **Add Key**.
|
167
149
|
|
168
150
|
The key file you download will be used by this library to authenticate API
|
169
151
|
requests and should be stored in a secure location.
|
data/README.md
CHANGED
@@ -37,7 +37,7 @@ request = ::Google::Cloud::Spanner::Admin::Database::V1::ListDatabasesRequest.ne
|
|
37
37
|
response = client.list_databases request
|
38
38
|
```
|
39
39
|
|
40
|
-
View the [Client Library Documentation](https://
|
40
|
+
View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/google-cloud-spanner-admin-database-v1/latest)
|
41
41
|
for class and method documentation.
|
42
42
|
|
43
43
|
See also the [Product Documentation](https://cloud.google.com/spanner)
|
@@ -31,10 +31,11 @@ module Google
|
|
31
31
|
#
|
32
32
|
# Cloud Spanner Database Admin API
|
33
33
|
#
|
34
|
-
# The Cloud Spanner Database Admin API can be used to
|
35
|
-
#
|
36
|
-
#
|
37
|
-
#
|
34
|
+
# The Cloud Spanner Database Admin API can be used to:
|
35
|
+
# * create, drop, and list databases
|
36
|
+
# * update the schema of pre-existing databases
|
37
|
+
# * create, delete and list backups for a database
|
38
|
+
# * restore a database from an existing backup
|
38
39
|
#
|
39
40
|
class Client
|
40
41
|
include Paths
|
@@ -109,6 +110,8 @@ module Google
|
|
109
110
|
|
110
111
|
default_config.rpcs.create_backup.timeout = 3600.0
|
111
112
|
|
113
|
+
default_config.rpcs.copy_backup.timeout = 3600.0
|
114
|
+
|
112
115
|
default_config.rpcs.get_backup.timeout = 3600.0
|
113
116
|
default_config.rpcs.get_backup.retry_policy = {
|
114
117
|
initial_delay: 1.0, max_delay: 32.0, multiplier: 1.3, retry_codes: [14, 4]
|
@@ -212,6 +215,7 @@ module Google
|
|
212
215
|
|
213
216
|
@operations_client = Operations.new do |config|
|
214
217
|
config.credentials = credentials
|
218
|
+
config.quota_project = @quota_project_id
|
215
219
|
config.endpoint = @config.endpoint
|
216
220
|
end
|
217
221
|
|
@@ -353,7 +357,7 @@ module Google
|
|
353
357
|
# @param options [::Gapic::CallOptions, ::Hash]
|
354
358
|
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
355
359
|
#
|
356
|
-
# @overload create_database(parent: nil, create_statement: nil, extra_statements: nil, encryption_config: nil)
|
360
|
+
# @overload create_database(parent: nil, create_statement: nil, extra_statements: nil, encryption_config: nil, database_dialect: nil)
|
357
361
|
# Pass arguments to `create_database` via keyword arguments. Note that at
|
358
362
|
# least one keyword argument is required. To specify no parameters, or to keep all
|
359
363
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
@@ -376,6 +380,8 @@ module Google
|
|
376
380
|
# Optional. The encryption configuration for the database. If this field is not
|
377
381
|
# specified, Cloud Spanner will encrypt/decrypt all data at rest using
|
378
382
|
# Google default encryption.
|
383
|
+
# @param database_dialect [::Google::Cloud::Spanner::Admin::Database::V1::DatabaseDialect]
|
384
|
+
# Optional. The dialect of the Cloud Spanner Database.
|
379
385
|
#
|
380
386
|
# @yield [response, operation] Access the result along with the RPC operation
|
381
387
|
# @yieldparam response [::Gapic::Operation]
|
@@ -660,6 +666,8 @@ module Google
|
|
660
666
|
# Drops (aka deletes) a Cloud Spanner database.
|
661
667
|
# Completed backups for the database will be retained according to their
|
662
668
|
# `expire_time`.
|
669
|
+
# Note: Cloud Spanner might continue to accept requests for a few seconds
|
670
|
+
# after the database has been deleted.
|
663
671
|
#
|
664
672
|
# @overload drop_database(request, options = nil)
|
665
673
|
# Pass arguments to `drop_database` via a request object, either of type
|
@@ -1246,6 +1254,134 @@ module Google
|
|
1246
1254
|
raise ::Google::Cloud::Error.from_error(e)
|
1247
1255
|
end
|
1248
1256
|
|
1257
|
+
##
|
1258
|
+
# Starts copying a Cloud Spanner Backup.
|
1259
|
+
# The returned backup {::Google::Longrunning::Operation long-running operation}
|
1260
|
+
# will have a name of the format
|
1261
|
+
# `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
|
1262
|
+
# and can be used to track copying of the backup. The operation is associated
|
1263
|
+
# with the destination backup.
|
1264
|
+
# The {::Google::Longrunning::Operation#metadata metadata} field type is
|
1265
|
+
# {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}.
|
1266
|
+
# The {::Google::Longrunning::Operation#response response} field type is
|
1267
|
+
# {::Google::Cloud::Spanner::Admin::Database::V1::Backup Backup}, if successful. Cancelling the returned operation will stop the
|
1268
|
+
# copying and delete the backup.
|
1269
|
+
# Concurrent CopyBackup requests can run on the same source backup.
|
1270
|
+
#
|
1271
|
+
# @overload copy_backup(request, options = nil)
|
1272
|
+
# Pass arguments to `copy_backup` via a request object, either of type
|
1273
|
+
# {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest} or an equivalent Hash.
|
1274
|
+
#
|
1275
|
+
# @param request [::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest, ::Hash]
|
1276
|
+
# A request object representing the call parameters. Required. To specify no
|
1277
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
1278
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
1279
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
1280
|
+
#
|
1281
|
+
# @overload copy_backup(parent: nil, backup_id: nil, source_backup: nil, expire_time: nil, encryption_config: nil)
|
1282
|
+
# Pass arguments to `copy_backup` via keyword arguments. Note that at
|
1283
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
1284
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
1285
|
+
#
|
1286
|
+
# @param parent [::String]
|
1287
|
+
# Required. The name of the destination instance that will contain the backup copy.
|
1288
|
+
# Values are of the form: `projects/<project>/instances/<instance>`.
|
1289
|
+
# @param backup_id [::String]
|
1290
|
+
# Required. The id of the backup copy.
|
1291
|
+
# The `backup_id` appended to `parent` forms the full backup_uri of the form
|
1292
|
+
# `projects/<project>/instances/<instance>/backups/<backup>`.
|
1293
|
+
# @param source_backup [::String]
|
1294
|
+
# Required. The source backup to be copied.
|
1295
|
+
# The source backup needs to be in READY state for it to be copied.
|
1296
|
+
# Once CopyBackup is in progress, the source backup cannot be deleted or
|
1297
|
+
# cleaned up on expiration until CopyBackup is finished.
|
1298
|
+
# Values are of the form:
|
1299
|
+
# `projects/<project>/instances/<instance>/backups/<backup>`.
|
1300
|
+
# @param expire_time [::Google::Protobuf::Timestamp, ::Hash]
|
1301
|
+
# Required. The expiration time of the backup in microsecond granularity.
|
1302
|
+
# The expiration time must be at least 6 hours and at most 366 days
|
1303
|
+
# from the `create_time` of the source backup. Once the `expire_time` has
|
1304
|
+
# passed, the backup is eligible to be automatically deleted by Cloud Spanner
|
1305
|
+
# to free the resources used by the backup.
|
1306
|
+
# @param encryption_config [::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig, ::Hash]
|
1307
|
+
# Optional. The encryption configuration used to encrypt the backup. If this field is
|
1308
|
+
# not specified, the backup will use the same
|
1309
|
+
# encryption configuration as the source backup by default, namely
|
1310
|
+
# {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type} =
|
1311
|
+
# `USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION`.
|
1312
|
+
#
|
1313
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
1314
|
+
# @yieldparam response [::Gapic::Operation]
|
1315
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
1316
|
+
#
|
1317
|
+
# @return [::Gapic::Operation]
|
1318
|
+
#
|
1319
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
1320
|
+
#
|
1321
|
+
# @example Basic example
|
1322
|
+
# require "google/cloud/spanner/admin/database/v1"
|
1323
|
+
#
|
1324
|
+
# # Create a client object. The client can be reused for multiple calls.
|
1325
|
+
# client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new
|
1326
|
+
#
|
1327
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
1328
|
+
# request = Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest.new
|
1329
|
+
#
|
1330
|
+
# # Call the copy_backup method.
|
1331
|
+
# result = client.copy_backup request
|
1332
|
+
#
|
1333
|
+
# # The returned object is of type Gapic::Operation. You can use this
|
1334
|
+
# # object to check the status of an operation, cancel it, or wait
|
1335
|
+
# # for results. Here is how to block until completion:
|
1336
|
+
# result.wait_until_done! timeout: 60
|
1337
|
+
# if result.response?
|
1338
|
+
# p result.response
|
1339
|
+
# else
|
1340
|
+
# puts "Error!"
|
1341
|
+
# end
|
1342
|
+
#
|
1343
|
+
def copy_backup request, options = nil
|
1344
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
1345
|
+
|
1346
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest
|
1347
|
+
|
1348
|
+
# Converts hash and nil to an options object
|
1349
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
1350
|
+
|
1351
|
+
# Customize the options with defaults
|
1352
|
+
metadata = @config.rpcs.copy_backup.metadata.to_h
|
1353
|
+
|
1354
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
1355
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
1356
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
1357
|
+
gapic_version: ::Google::Cloud::Spanner::Admin::Database::V1::VERSION
|
1358
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
1359
|
+
|
1360
|
+
header_params = {}
|
1361
|
+
if request.parent
|
1362
|
+
header_params["parent"] = request.parent
|
1363
|
+
end
|
1364
|
+
|
1365
|
+
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
1366
|
+
metadata[:"x-goog-request-params"] ||= request_params_header
|
1367
|
+
|
1368
|
+
options.apply_defaults timeout: @config.rpcs.copy_backup.timeout,
|
1369
|
+
metadata: metadata,
|
1370
|
+
retry_policy: @config.rpcs.copy_backup.retry_policy
|
1371
|
+
|
1372
|
+
options.apply_defaults timeout: @config.timeout,
|
1373
|
+
metadata: @config.metadata,
|
1374
|
+
retry_policy: @config.retry_policy
|
1375
|
+
|
1376
|
+
@database_admin_stub.call_rpc :copy_backup, request, options: options do |response, operation|
|
1377
|
+
response = ::Gapic::Operation.new response, @operations_client, options: options
|
1378
|
+
yield response, operation if block_given?
|
1379
|
+
return response
|
1380
|
+
end
|
1381
|
+
rescue ::GRPC::BadStatus => e
|
1382
|
+
raise ::Google::Cloud::Error.from_error(e)
|
1383
|
+
end
|
1384
|
+
|
1249
1385
|
##
|
1250
1386
|
# Gets metadata on a pending or completed {::Google::Cloud::Spanner::Admin::Database::V1::Backup Backup}.
|
1251
1387
|
#
|
@@ -1827,6 +1963,8 @@ module Google
|
|
1827
1963
|
# for {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseMetadata RestoreDatabaseMetadata} is
|
1828
1964
|
# `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`.
|
1829
1965
|
# * `metadata.<field_name>` - any field in metadata.value.
|
1966
|
+
# `metadata.@type` must be specified first, if filtering on metadata
|
1967
|
+
# fields.
|
1830
1968
|
# * `error` - Error associated with the long-running operation.
|
1831
1969
|
# * `response.@type` - the type of response.
|
1832
1970
|
# * `response.<field_name>` - any field in response.value.
|
@@ -1979,6 +2117,8 @@ module Google
|
|
1979
2117
|
# for {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} is
|
1980
2118
|
# `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.
|
1981
2119
|
# * `metadata.<field_name>` - any field in metadata.value.
|
2120
|
+
# `metadata.@type` must be specified first if filtering on metadata
|
2121
|
+
# fields.
|
1982
2122
|
# * `error` - Error associated with the long-running operation.
|
1983
2123
|
# * `response.@type` - the type of response.
|
1984
2124
|
# * `response.<field_name>` - any field in response.value.
|
@@ -1990,8 +2130,11 @@ module Google
|
|
1990
2130
|
# Here are a few examples:
|
1991
2131
|
#
|
1992
2132
|
# * `done:true` - The operation is complete.
|
1993
|
-
# * `metadata.database
|
1994
|
-
#
|
2133
|
+
# * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
|
2134
|
+
# `metadata.database:prod` - Returns operations where:
|
2135
|
+
# * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
|
2136
|
+
# * The database the backup was taken from has a name containing the
|
2137
|
+
# string "prod".
|
1995
2138
|
# * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
|
1996
2139
|
# `(metadata.name:howl) AND` \
|
1997
2140
|
# `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \
|
@@ -2000,6 +2143,29 @@ module Google
|
|
2000
2143
|
# * The backup name contains the string "howl".
|
2001
2144
|
# * The operation started before 2018-03-28T14:50:00Z.
|
2002
2145
|
# * The operation resulted in an error.
|
2146
|
+
# * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) AND` \
|
2147
|
+
# `(metadata.source_backup:test) AND` \
|
2148
|
+
# `(metadata.progress.start_time < \"2022-01-18T14:50:00Z\") AND` \
|
2149
|
+
# `(error:*)` - Returns operations where:
|
2150
|
+
# * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}.
|
2151
|
+
# * The source backup of the copied backup name contains the string
|
2152
|
+
# "test".
|
2153
|
+
# * The operation started before 2022-01-18T14:50:00Z.
|
2154
|
+
# * The operation resulted in an error.
|
2155
|
+
# * `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
|
2156
|
+
# `(metadata.database:test_db)) OR` \
|
2157
|
+
# `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata)
|
2158
|
+
# AND` \
|
2159
|
+
# `(metadata.source_backup:test_bkp)) AND` \
|
2160
|
+
# `(error:*)` - Returns operations where:
|
2161
|
+
# * The operation's metadata matches either of criteria:
|
2162
|
+
# * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} AND the
|
2163
|
+
# database the backup was taken from has name containing string
|
2164
|
+
# "test_db"
|
2165
|
+
# * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata} AND the
|
2166
|
+
# backup the backup was copied from has name containing string
|
2167
|
+
# "test_bkp"
|
2168
|
+
# * The operation resulted in an error.
|
2003
2169
|
# @param page_size [::Integer]
|
2004
2170
|
# Number of operations to be returned in the response. If 0 or
|
2005
2171
|
# less, defaults to the server's maximum allowed page size.
|
@@ -2267,6 +2433,11 @@ module Google
|
|
2267
2433
|
#
|
2268
2434
|
attr_reader :create_backup
|
2269
2435
|
##
|
2436
|
+
# RPC-specific configuration for `copy_backup`
|
2437
|
+
# @return [::Gapic::Config::Method]
|
2438
|
+
#
|
2439
|
+
attr_reader :copy_backup
|
2440
|
+
##
|
2270
2441
|
# RPC-specific configuration for `get_backup`
|
2271
2442
|
# @return [::Gapic::Config::Method]
|
2272
2443
|
#
|
@@ -2324,6 +2495,8 @@ module Google
|
|
2324
2495
|
@test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
|
2325
2496
|
create_backup_config = parent_rpcs.create_backup if parent_rpcs.respond_to? :create_backup
|
2326
2497
|
@create_backup = ::Gapic::Config::Method.new create_backup_config
|
2498
|
+
copy_backup_config = parent_rpcs.copy_backup if parent_rpcs.respond_to? :copy_backup
|
2499
|
+
@copy_backup = ::Gapic::Config::Method.new copy_backup_config
|
2327
2500
|
get_backup_config = parent_rpcs.get_backup if parent_rpcs.respond_to? :get_backup
|
2328
2501
|
@get_backup = ::Gapic::Config::Method.new get_backup_config
|
2329
2502
|
update_backup_config = parent_rpcs.update_backup if parent_rpcs.respond_to? :update_backup
|
@@ -36,10 +36,11 @@ module Google
|
|
36
36
|
##
|
37
37
|
# Cloud Spanner Database Admin API
|
38
38
|
#
|
39
|
-
# The Cloud Spanner Database Admin API can be used to
|
40
|
-
#
|
41
|
-
#
|
42
|
-
#
|
39
|
+
# The Cloud Spanner Database Admin API can be used to:
|
40
|
+
# * create, drop, and list databases
|
41
|
+
# * update the schema of pre-existing databases
|
42
|
+
# * create, delete and list backups for a database
|
43
|
+
# * restore a database from an existing backup
|
43
44
|
#
|
44
45
|
# To load this service and instantiate a client:
|
45
46
|
#
|
@@ -27,6 +27,8 @@ module Google
|
|
27
27
|
##
|
28
28
|
# To load this package, including all its services, and instantiate a client:
|
29
29
|
#
|
30
|
+
# @example
|
31
|
+
#
|
30
32
|
# require "google/cloud/spanner/admin/database/v1"
|
31
33
|
# client = ::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new
|
32
34
|
#
|
@@ -7,7 +7,6 @@ require 'google/longrunning/operations_pb'
|
|
7
7
|
require 'google/protobuf/field_mask_pb'
|
8
8
|
require 'google/protobuf/timestamp_pb'
|
9
9
|
require 'google/spanner/admin/database/v1/common_pb'
|
10
|
-
require 'google/api/annotations_pb'
|
11
10
|
require 'google/protobuf'
|
12
11
|
|
13
12
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
@@ -22,6 +21,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
22
21
|
optional :state, :enum, 6, "google.spanner.admin.database.v1.Backup.State"
|
23
22
|
repeated :referencing_databases, :string, 7
|
24
23
|
optional :encryption_info, :message, 8, "google.spanner.admin.database.v1.EncryptionInfo"
|
24
|
+
optional :database_dialect, :enum, 10, "google.spanner.admin.database.v1.DatabaseDialect"
|
25
|
+
repeated :referencing_backups, :string, 11
|
26
|
+
optional :max_expire_time, :message, 12, "google.protobuf.Timestamp"
|
25
27
|
end
|
26
28
|
add_enum "google.spanner.admin.database.v1.Backup.State" do
|
27
29
|
value :STATE_UNSPECIFIED, 0
|
@@ -40,6 +42,19 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
40
42
|
optional :progress, :message, 3, "google.spanner.admin.database.v1.OperationProgress"
|
41
43
|
optional :cancel_time, :message, 4, "google.protobuf.Timestamp"
|
42
44
|
end
|
45
|
+
add_message "google.spanner.admin.database.v1.CopyBackupRequest" do
|
46
|
+
optional :parent, :string, 1
|
47
|
+
optional :backup_id, :string, 2
|
48
|
+
optional :source_backup, :string, 3
|
49
|
+
optional :expire_time, :message, 4, "google.protobuf.Timestamp"
|
50
|
+
optional :encryption_config, :message, 5, "google.spanner.admin.database.v1.CopyBackupEncryptionConfig"
|
51
|
+
end
|
52
|
+
add_message "google.spanner.admin.database.v1.CopyBackupMetadata" do
|
53
|
+
optional :name, :string, 1
|
54
|
+
optional :source_backup, :string, 2
|
55
|
+
optional :progress, :message, 3, "google.spanner.admin.database.v1.OperationProgress"
|
56
|
+
optional :cancel_time, :message, 4, "google.protobuf.Timestamp"
|
57
|
+
end
|
43
58
|
add_message "google.spanner.admin.database.v1.UpdateBackupRequest" do
|
44
59
|
optional :backup, :message, 1, "google.spanner.admin.database.v1.Backup"
|
45
60
|
optional :update_mask, :message, 2, "google.protobuf.FieldMask"
|
@@ -86,6 +101,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
86
101
|
value :GOOGLE_DEFAULT_ENCRYPTION, 2
|
87
102
|
value :CUSTOMER_MANAGED_ENCRYPTION, 3
|
88
103
|
end
|
104
|
+
add_message "google.spanner.admin.database.v1.CopyBackupEncryptionConfig" do
|
105
|
+
optional :encryption_type, :enum, 1, "google.spanner.admin.database.v1.CopyBackupEncryptionConfig.EncryptionType"
|
106
|
+
optional :kms_key_name, :string, 2
|
107
|
+
end
|
108
|
+
add_enum "google.spanner.admin.database.v1.CopyBackupEncryptionConfig.EncryptionType" do
|
109
|
+
value :ENCRYPTION_TYPE_UNSPECIFIED, 0
|
110
|
+
value :USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION, 1
|
111
|
+
value :GOOGLE_DEFAULT_ENCRYPTION, 2
|
112
|
+
value :CUSTOMER_MANAGED_ENCRYPTION, 3
|
113
|
+
end
|
89
114
|
end
|
90
115
|
end
|
91
116
|
|
@@ -99,6 +124,8 @@ module Google
|
|
99
124
|
Backup::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.Backup.State").enummodule
|
100
125
|
CreateBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CreateBackupRequest").msgclass
|
101
126
|
CreateBackupMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CreateBackupMetadata").msgclass
|
127
|
+
CopyBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CopyBackupRequest").msgclass
|
128
|
+
CopyBackupMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CopyBackupMetadata").msgclass
|
102
129
|
UpdateBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.UpdateBackupRequest").msgclass
|
103
130
|
GetBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.GetBackupRequest").msgclass
|
104
131
|
DeleteBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.DeleteBackupRequest").msgclass
|
@@ -109,6 +136,8 @@ module Google
|
|
109
136
|
BackupInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.BackupInfo").msgclass
|
110
137
|
CreateBackupEncryptionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CreateBackupEncryptionConfig").msgclass
|
111
138
|
CreateBackupEncryptionConfig::EncryptionType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CreateBackupEncryptionConfig.EncryptionType").enummodule
|
139
|
+
CopyBackupEncryptionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CopyBackupEncryptionConfig").msgclass
|
140
|
+
CopyBackupEncryptionConfig::EncryptionType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.CopyBackupEncryptionConfig.EncryptionType").enummodule
|
112
141
|
end
|
113
142
|
end
|
114
143
|
end
|
@@ -5,7 +5,6 @@ require 'google/api/field_behavior_pb'
|
|
5
5
|
require 'google/api/resource_pb'
|
6
6
|
require 'google/protobuf/timestamp_pb'
|
7
7
|
require 'google/rpc/status_pb'
|
8
|
-
require 'google/api/annotations_pb'
|
9
8
|
require 'google/protobuf'
|
10
9
|
|
11
10
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
@@ -28,6 +27,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
28
27
|
value :GOOGLE_DEFAULT_ENCRYPTION, 1
|
29
28
|
value :CUSTOMER_MANAGED_ENCRYPTION, 2
|
30
29
|
end
|
30
|
+
add_enum "google.spanner.admin.database.v1.DatabaseDialect" do
|
31
|
+
value :DATABASE_DIALECT_UNSPECIFIED, 0
|
32
|
+
value :GOOGLE_STANDARD_SQL, 1
|
33
|
+
value :POSTGRESQL, 2
|
34
|
+
end
|
31
35
|
end
|
32
36
|
end
|
33
37
|
|
@@ -41,6 +45,7 @@ module Google
|
|
41
45
|
EncryptionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.EncryptionConfig").msgclass
|
42
46
|
EncryptionInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.EncryptionInfo").msgclass
|
43
47
|
EncryptionInfo::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.EncryptionInfo.Type").enummodule
|
48
|
+
DatabaseDialect = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.DatabaseDialect").enummodule
|
44
49
|
end
|
45
50
|
end
|
46
51
|
end
|
@@ -32,6 +32,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
32
32
|
optional :version_retention_period, :string, 6
|
33
33
|
optional :earliest_version_time, :message, 7, "google.protobuf.Timestamp"
|
34
34
|
optional :default_leader, :string, 9
|
35
|
+
optional :database_dialect, :enum, 10, "google.spanner.admin.database.v1.DatabaseDialect"
|
35
36
|
end
|
36
37
|
add_enum "google.spanner.admin.database.v1.Database.State" do
|
37
38
|
value :STATE_UNSPECIFIED, 0
|
@@ -53,6 +54,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
53
54
|
optional :create_statement, :string, 2
|
54
55
|
repeated :extra_statements, :string, 3
|
55
56
|
optional :encryption_config, :message, 4, "google.spanner.admin.database.v1.EncryptionConfig"
|
57
|
+
optional :database_dialect, :enum, 5, "google.spanner.admin.database.v1.DatabaseDialect"
|
56
58
|
end
|
57
59
|
add_message "google.spanner.admin.database.v1.CreateDatabaseMetadata" do
|
58
60
|
optional :database, :string, 1
|
@@ -28,10 +28,11 @@ module Google
|
|
28
28
|
module DatabaseAdmin
|
29
29
|
# Cloud Spanner Database Admin API
|
30
30
|
#
|
31
|
-
# The Cloud Spanner Database Admin API can be used to
|
32
|
-
#
|
33
|
-
#
|
34
|
-
#
|
31
|
+
# The Cloud Spanner Database Admin API can be used to:
|
32
|
+
# * create, drop, and list databases
|
33
|
+
# * update the schema of pre-existing databases
|
34
|
+
# * create, delete and list backups for a database
|
35
|
+
# * restore a database from an existing backup
|
35
36
|
class Service
|
36
37
|
|
37
38
|
include ::GRPC::GenericService
|
@@ -64,6 +65,8 @@ module Google
|
|
64
65
|
# Drops (aka deletes) a Cloud Spanner database.
|
65
66
|
# Completed backups for the database will be retained according to their
|
66
67
|
# `expire_time`.
|
68
|
+
# Note: Cloud Spanner might continue to accept requests for a few seconds
|
69
|
+
# after the database has been deleted.
|
67
70
|
rpc :DropDatabase, ::Google::Cloud::Spanner::Admin::Database::V1::DropDatabaseRequest, ::Google::Protobuf::Empty
|
68
71
|
# Returns the schema of a Cloud Spanner database as a list of formatted
|
69
72
|
# DDL statements. This method does not show pending schema updates, those may
|
@@ -110,6 +113,19 @@ module Google
|
|
110
113
|
# There can be only one pending backup creation per database. Backup creation
|
111
114
|
# of different databases can run concurrently.
|
112
115
|
rpc :CreateBackup, ::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupRequest, ::Google::Longrunning::Operation
|
116
|
+
# Starts copying a Cloud Spanner Backup.
|
117
|
+
# The returned backup [long-running operation][google.longrunning.Operation]
|
118
|
+
# will have a name of the format
|
119
|
+
# `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
|
120
|
+
# and can be used to track copying of the backup. The operation is associated
|
121
|
+
# with the destination backup.
|
122
|
+
# The [metadata][google.longrunning.Operation.metadata] field type is
|
123
|
+
# [CopyBackupMetadata][google.spanner.admin.database.v1.CopyBackupMetadata].
|
124
|
+
# The [response][google.longrunning.Operation.response] field type is
|
125
|
+
# [Backup][google.spanner.admin.database.v1.Backup], if successful. Cancelling the returned operation will stop the
|
126
|
+
# copying and delete the backup.
|
127
|
+
# Concurrent CopyBackup requests can run on the same source backup.
|
128
|
+
rpc :CopyBackup, ::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupRequest, ::Google::Longrunning::Operation
|
113
129
|
# Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
|
114
130
|
rpc :GetBackup, ::Google::Cloud::Spanner::Admin::Database::V1::GetBackupRequest, ::Google::Cloud::Spanner::Admin::Database::V1::Backup
|
115
131
|
# Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup].
|
@@ -33,11 +33,7 @@ module Google
|
|
33
33
|
# // For Kubernetes resources, the format is {api group}/{kind}.
|
34
34
|
# option (google.api.resource) = {
|
35
35
|
# type: "pubsub.googleapis.com/Topic"
|
36
|
-
#
|
37
|
-
# pattern: "projects/{project}/topics/{topic}"
|
38
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
39
|
-
# parent_name_extractor: "projects/{project}"
|
40
|
-
# }
|
36
|
+
# pattern: "projects/{project}/topics/{topic}"
|
41
37
|
# };
|
42
38
|
# }
|
43
39
|
#
|
@@ -45,10 +41,7 @@ module Google
|
|
45
41
|
#
|
46
42
|
# resources:
|
47
43
|
# - type: "pubsub.googleapis.com/Topic"
|
48
|
-
#
|
49
|
-
# - pattern: "projects/{project}/topics/{topic}"
|
50
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
51
|
-
# parent_name_extractor: "projects/{project}"
|
44
|
+
# pattern: "projects/{project}/topics/{topic}"
|
52
45
|
#
|
53
46
|
# Sometimes, resources have multiple patterns, typically because they can
|
54
47
|
# live under multiple parents.
|
@@ -58,26 +51,10 @@ module Google
|
|
58
51
|
# message LogEntry {
|
59
52
|
# option (google.api.resource) = {
|
60
53
|
# type: "logging.googleapis.com/LogEntry"
|
61
|
-
#
|
62
|
-
#
|
63
|
-
#
|
64
|
-
#
|
65
|
-
# }
|
66
|
-
# name_descriptor: {
|
67
|
-
# pattern: "folders/{folder}/logs/{log}"
|
68
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
69
|
-
# parent_name_extractor: "folders/{folder}"
|
70
|
-
# }
|
71
|
-
# name_descriptor: {
|
72
|
-
# pattern: "organizations/{organization}/logs/{log}"
|
73
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Organization"
|
74
|
-
# parent_name_extractor: "organizations/{organization}"
|
75
|
-
# }
|
76
|
-
# name_descriptor: {
|
77
|
-
# pattern: "billingAccounts/{billing_account}/logs/{log}"
|
78
|
-
# parent_type: "billing.googleapis.com/BillingAccount"
|
79
|
-
# parent_name_extractor: "billingAccounts/{billing_account}"
|
80
|
-
# }
|
54
|
+
# pattern: "projects/{project}/logs/{log}"
|
55
|
+
# pattern: "folders/{folder}/logs/{log}"
|
56
|
+
# pattern: "organizations/{organization}/logs/{log}"
|
57
|
+
# pattern: "billingAccounts/{billing_account}/logs/{log}"
|
81
58
|
# };
|
82
59
|
# }
|
83
60
|
#
|
@@ -85,48 +62,10 @@ module Google
|
|
85
62
|
#
|
86
63
|
# resources:
|
87
64
|
# - type: 'logging.googleapis.com/LogEntry'
|
88
|
-
#
|
89
|
-
#
|
90
|
-
#
|
91
|
-
#
|
92
|
-
# - pattern: "folders/{folder}/logs/{log}"
|
93
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
94
|
-
# parent_name_extractor: "folders/{folder}"
|
95
|
-
# - pattern: "organizations/{organization}/logs/{log}"
|
96
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Organization"
|
97
|
-
# parent_name_extractor: "organizations/{organization}"
|
98
|
-
# - pattern: "billingAccounts/{billing_account}/logs/{log}"
|
99
|
-
# parent_type: "billing.googleapis.com/BillingAccount"
|
100
|
-
# parent_name_extractor: "billingAccounts/{billing_account}"
|
101
|
-
#
|
102
|
-
# For flexible resources, the resource name doesn't contain parent names, but
|
103
|
-
# the resource itself has parents for policy evaluation.
|
104
|
-
#
|
105
|
-
# Example:
|
106
|
-
#
|
107
|
-
# message Shelf {
|
108
|
-
# option (google.api.resource) = {
|
109
|
-
# type: "library.googleapis.com/Shelf"
|
110
|
-
# name_descriptor: {
|
111
|
-
# pattern: "shelves/{shelf}"
|
112
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
113
|
-
# }
|
114
|
-
# name_descriptor: {
|
115
|
-
# pattern: "shelves/{shelf}"
|
116
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
117
|
-
# }
|
118
|
-
# };
|
119
|
-
# }
|
120
|
-
#
|
121
|
-
# The ResourceDescriptor Yaml config will look like:
|
122
|
-
#
|
123
|
-
# resources:
|
124
|
-
# - type: 'library.googleapis.com/Shelf'
|
125
|
-
# name_descriptor:
|
126
|
-
# - pattern: "shelves/{shelf}"
|
127
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
128
|
-
# - pattern: "shelves/{shelf}"
|
129
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
65
|
+
# pattern: "projects/{project}/logs/{log}"
|
66
|
+
# pattern: "folders/{folder}/logs/{log}"
|
67
|
+
# pattern: "organizations/{organization}/logs/{log}"
|
68
|
+
# pattern: "billingAccounts/{billing_account}/logs/{log}"
|
130
69
|
# @!attribute [rw] type
|
131
70
|
# @return [::String]
|
132
71
|
# The resource type. It must be in the format of
|
@@ -83,6 +83,25 @@ module Google
|
|
83
83
|
# @!attribute [r] encryption_info
|
84
84
|
# @return [::Google::Cloud::Spanner::Admin::Database::V1::EncryptionInfo]
|
85
85
|
# Output only. The encryption information for the backup.
|
86
|
+
# @!attribute [r] database_dialect
|
87
|
+
# @return [::Google::Cloud::Spanner::Admin::Database::V1::DatabaseDialect]
|
88
|
+
# Output only. The database dialect information for the backup.
|
89
|
+
# @!attribute [r] referencing_backups
|
90
|
+
# @return [::Array<::String>]
|
91
|
+
# Output only. The names of the destination backups being created by copying
|
92
|
+
# this source backup. The backup names are of the form
|
93
|
+
# `projects/<project>/instances/<instance>/backups/<backup>`.
|
94
|
+
# Referencing backups may exist in different instances. The existence of
|
95
|
+
# any referencing backup prevents the backup from being deleted. When the
|
96
|
+
# copy operation is done (either successfully completed or cancelled or the
|
97
|
+
# destination backup is deleted), the reference to the backup is removed.
|
98
|
+
# @!attribute [r] max_expire_time
|
99
|
+
# @return [::Google::Protobuf::Timestamp]
|
100
|
+
# Output only. The max allowed expiration time of the backup, with
|
101
|
+
# microseconds granularity. A backup's expiration time can be configured in
|
102
|
+
# multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or
|
103
|
+
# copying an existing backup, the expiration time specified must be
|
104
|
+
# less than `Backup.max_expire_time`.
|
86
105
|
class Backup
|
87
106
|
include ::Google::Protobuf::MessageExts
|
88
107
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -161,6 +180,78 @@ module Google
|
|
161
180
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
162
181
|
end
|
163
182
|
|
183
|
+
# The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
|
184
|
+
# @!attribute [rw] parent
|
185
|
+
# @return [::String]
|
186
|
+
# Required. The name of the destination instance that will contain the backup copy.
|
187
|
+
# Values are of the form: `projects/<project>/instances/<instance>`.
|
188
|
+
# @!attribute [rw] backup_id
|
189
|
+
# @return [::String]
|
190
|
+
# Required. The id of the backup copy.
|
191
|
+
# The `backup_id` appended to `parent` forms the full backup_uri of the form
|
192
|
+
# `projects/<project>/instances/<instance>/backups/<backup>`.
|
193
|
+
# @!attribute [rw] source_backup
|
194
|
+
# @return [::String]
|
195
|
+
# Required. The source backup to be copied.
|
196
|
+
# The source backup needs to be in READY state for it to be copied.
|
197
|
+
# Once CopyBackup is in progress, the source backup cannot be deleted or
|
198
|
+
# cleaned up on expiration until CopyBackup is finished.
|
199
|
+
# Values are of the form:
|
200
|
+
# `projects/<project>/instances/<instance>/backups/<backup>`.
|
201
|
+
# @!attribute [rw] expire_time
|
202
|
+
# @return [::Google::Protobuf::Timestamp]
|
203
|
+
# Required. The expiration time of the backup in microsecond granularity.
|
204
|
+
# The expiration time must be at least 6 hours and at most 366 days
|
205
|
+
# from the `create_time` of the source backup. Once the `expire_time` has
|
206
|
+
# passed, the backup is eligible to be automatically deleted by Cloud Spanner
|
207
|
+
# to free the resources used by the backup.
|
208
|
+
# @!attribute [rw] encryption_config
|
209
|
+
# @return [::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig]
|
210
|
+
# Optional. The encryption configuration used to encrypt the backup. If this field is
|
211
|
+
# not specified, the backup will use the same
|
212
|
+
# encryption configuration as the source backup by default, namely
|
213
|
+
# {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type} =
|
214
|
+
# `USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION`.
|
215
|
+
class CopyBackupRequest
|
216
|
+
include ::Google::Protobuf::MessageExts
|
217
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
218
|
+
end
|
219
|
+
|
220
|
+
# Metadata type for the google.longrunning.Operation returned by
|
221
|
+
# {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}.
|
222
|
+
# @!attribute [rw] name
|
223
|
+
# @return [::String]
|
224
|
+
# The name of the backup being created through the copy operation.
|
225
|
+
# Values are of the form
|
226
|
+
# `projects/<project>/instances/<instance>/backups/<backup>`.
|
227
|
+
# @!attribute [rw] source_backup
|
228
|
+
# @return [::String]
|
229
|
+
# The name of the source backup that is being copied.
|
230
|
+
# Values are of the form
|
231
|
+
# `projects/<project>/instances/<instance>/backups/<backup>`.
|
232
|
+
# @!attribute [rw] progress
|
233
|
+
# @return [::Google::Cloud::Spanner::Admin::Database::V1::OperationProgress]
|
234
|
+
# The progress of the
|
235
|
+
# {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup} operation.
|
236
|
+
# @!attribute [rw] cancel_time
|
237
|
+
# @return [::Google::Protobuf::Timestamp]
|
238
|
+
# The time at which cancellation of CopyBackup operation was received.
|
239
|
+
# Operations.CancelOperation
|
240
|
+
# starts asynchronous cancellation on a long-running operation. The server
|
241
|
+
# makes a best effort to cancel the operation, but success is not guaranteed.
|
242
|
+
# Clients can use
|
243
|
+
# Operations.GetOperation or
|
244
|
+
# other methods to check whether the cancellation succeeded or whether the
|
245
|
+
# operation completed despite cancellation. On successful cancellation,
|
246
|
+
# the operation is not deleted; instead, it becomes an operation with
|
247
|
+
# an {::Google::Longrunning::Operation#error Operation.error} value with a
|
248
|
+
# {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
|
249
|
+
# corresponding to `Code.CANCELLED`.
|
250
|
+
class CopyBackupMetadata
|
251
|
+
include ::Google::Protobuf::MessageExts
|
252
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
253
|
+
end
|
254
|
+
|
164
255
|
# The request for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#update_backup UpdateBackup}.
|
165
256
|
# @!attribute [rw] backup
|
166
257
|
# @return [::Google::Cloud::Spanner::Admin::Database::V1::Backup]
|
@@ -299,6 +390,8 @@ module Google
|
|
299
390
|
# for {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} is
|
300
391
|
# `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.
|
301
392
|
# * `metadata.<field_name>` - any field in metadata.value.
|
393
|
+
# `metadata.@type` must be specified first if filtering on metadata
|
394
|
+
# fields.
|
302
395
|
# * `error` - Error associated with the long-running operation.
|
303
396
|
# * `response.@type` - the type of response.
|
304
397
|
# * `response.<field_name>` - any field in response.value.
|
@@ -310,8 +403,11 @@ module Google
|
|
310
403
|
# Here are a few examples:
|
311
404
|
#
|
312
405
|
# * `done:true` - The operation is complete.
|
313
|
-
# * `metadata.database
|
314
|
-
#
|
406
|
+
# * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
|
407
|
+
# `metadata.database:prod` - Returns operations where:
|
408
|
+
# * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata}.
|
409
|
+
# * The database the backup was taken from has a name containing the
|
410
|
+
# string "prod".
|
315
411
|
# * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
|
316
412
|
# `(metadata.name:howl) AND` \
|
317
413
|
# `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \
|
@@ -320,6 +416,29 @@ module Google
|
|
320
416
|
# * The backup name contains the string "howl".
|
321
417
|
# * The operation started before 2018-03-28T14:50:00Z.
|
322
418
|
# * The operation resulted in an error.
|
419
|
+
# * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) AND` \
|
420
|
+
# `(metadata.source_backup:test) AND` \
|
421
|
+
# `(metadata.progress.start_time < \"2022-01-18T14:50:00Z\") AND` \
|
422
|
+
# `(error:*)` - Returns operations where:
|
423
|
+
# * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata}.
|
424
|
+
# * The source backup of the copied backup name contains the string
|
425
|
+
# "test".
|
426
|
+
# * The operation started before 2022-01-18T14:50:00Z.
|
427
|
+
# * The operation resulted in an error.
|
428
|
+
# * `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
|
429
|
+
# `(metadata.database:test_db)) OR` \
|
430
|
+
# `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata)
|
431
|
+
# AND` \
|
432
|
+
# `(metadata.source_backup:test_bkp)) AND` \
|
433
|
+
# `(error:*)` - Returns operations where:
|
434
|
+
# * The operation's metadata matches either of criteria:
|
435
|
+
# * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupMetadata CreateBackupMetadata} AND the
|
436
|
+
# database the backup was taken from has name containing string
|
437
|
+
# "test_db"
|
438
|
+
# * The operation's metadata type is {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupMetadata CopyBackupMetadata} AND the
|
439
|
+
# backup the backup was copied from has name containing string
|
440
|
+
# "test_bkp"
|
441
|
+
# * The operation resulted in an error.
|
323
442
|
# @!attribute [rw] page_size
|
324
443
|
# @return [::Integer]
|
325
444
|
# Number of operations to be returned in the response. If 0 or
|
@@ -341,11 +460,11 @@ module Google
|
|
341
460
|
# @return [::Array<::Google::Longrunning::Operation>]
|
342
461
|
# The list of matching backup [long-running
|
343
462
|
# operations][google.longrunning.Operation]. Each operation's name will be
|
344
|
-
# prefixed by the backup's name
|
345
|
-
# {::Google::Longrunning::Operation#metadata metadata}
|
346
|
-
#
|
347
|
-
# pending or have completed/failed/canceled within the
|
348
|
-
# Operations returned are ordered by
|
463
|
+
# prefixed by the backup's name. The operation's
|
464
|
+
# {::Google::Longrunning::Operation#metadata metadata} field type
|
465
|
+
# `metadata.type_url` describes the type of the metadata. Operations returned
|
466
|
+
# include those that are pending or have completed/failed/canceled within the
|
467
|
+
# last 7 days. Operations returned are ordered by
|
349
468
|
# `operation.metadata.value.progress.start_time` in descending order starting
|
350
469
|
# from the most recently started operation.
|
351
470
|
# @!attribute [rw] next_page_token
|
@@ -416,6 +535,41 @@ module Google
|
|
416
535
|
CUSTOMER_MANAGED_ENCRYPTION = 3
|
417
536
|
end
|
418
537
|
end
|
538
|
+
|
539
|
+
# Encryption configuration for the copied backup.
|
540
|
+
# @!attribute [rw] encryption_type
|
541
|
+
# @return [::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig::EncryptionType]
|
542
|
+
# Required. The encryption type of the backup.
|
543
|
+
# @!attribute [rw] kms_key_name
|
544
|
+
# @return [::String]
|
545
|
+
# Optional. The Cloud KMS key that will be used to protect the backup.
|
546
|
+
# This field should be set only when
|
547
|
+
# {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig#encryption_type encryption_type} is
|
548
|
+
# `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
|
549
|
+
# `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
|
550
|
+
class CopyBackupEncryptionConfig
|
551
|
+
include ::Google::Protobuf::MessageExts
|
552
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
553
|
+
|
554
|
+
# Encryption types for the backup.
|
555
|
+
module EncryptionType
|
556
|
+
# Unspecified. Do not use.
|
557
|
+
ENCRYPTION_TYPE_UNSPECIFIED = 0
|
558
|
+
|
559
|
+
# This is the default option for {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#copy_backup CopyBackup}
|
560
|
+
# when {::Google::Cloud::Spanner::Admin::Database::V1::CopyBackupEncryptionConfig encryption_config} is not specified.
|
561
|
+
# For example, if the source backup is using `Customer_Managed_Encryption`,
|
562
|
+
# the backup will be using the same Cloud KMS key as the source backup.
|
563
|
+
USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION = 1
|
564
|
+
|
565
|
+
# Use Google default encryption.
|
566
|
+
GOOGLE_DEFAULT_ENCRYPTION = 2
|
567
|
+
|
568
|
+
# Use customer managed encryption. If specified, `kms_key_name`
|
569
|
+
# must contain a valid Cloud KMS key.
|
570
|
+
CUSTOMER_MANAGED_ENCRYPTION = 3
|
571
|
+
end
|
572
|
+
end
|
419
573
|
end
|
420
574
|
end
|
421
575
|
end
|
@@ -85,6 +85,19 @@ module Google
|
|
85
85
|
CUSTOMER_MANAGED_ENCRYPTION = 2
|
86
86
|
end
|
87
87
|
end
|
88
|
+
|
89
|
+
# Indicates the dialect type of a database.
|
90
|
+
module DatabaseDialect
|
91
|
+
# Default value. This value will create a database with the
|
92
|
+
# GOOGLE_STANDARD_SQL dialect.
|
93
|
+
DATABASE_DIALECT_UNSPECIFIED = 0
|
94
|
+
|
95
|
+
# Google standard SQL.
|
96
|
+
GOOGLE_STANDARD_SQL = 1
|
97
|
+
|
98
|
+
# PostgreSQL supported SQL.
|
99
|
+
POSTGRESQL = 2
|
100
|
+
end
|
88
101
|
end
|
89
102
|
end
|
90
103
|
end
|
@@ -93,6 +93,9 @@ module Google
|
|
93
93
|
# This is the same as the value of default_leader
|
94
94
|
# database option set using DatabaseAdmin.CreateDatabase or
|
95
95
|
# DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
|
96
|
+
# @!attribute [r] database_dialect
|
97
|
+
# @return [::Google::Cloud::Spanner::Admin::Database::V1::DatabaseDialect]
|
98
|
+
# Output only. The dialect of the Cloud Spanner Database.
|
96
99
|
class Database
|
97
100
|
include ::Google::Protobuf::MessageExts
|
98
101
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -177,6 +180,9 @@ module Google
|
|
177
180
|
# Optional. The encryption configuration for the database. If this field is not
|
178
181
|
# specified, Cloud Spanner will encrypt/decrypt all data at rest using
|
179
182
|
# Google default encryption.
|
183
|
+
# @!attribute [rw] database_dialect
|
184
|
+
# @return [::Google::Cloud::Spanner::Admin::Database::V1::DatabaseDialect]
|
185
|
+
# Optional. The dialect of the Cloud Spanner Database.
|
180
186
|
class CreateDatabaseRequest
|
181
187
|
include ::Google::Protobuf::MessageExts
|
182
188
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -339,6 +345,8 @@ module Google
|
|
339
345
|
# for {::Google::Cloud::Spanner::Admin::Database::V1::RestoreDatabaseMetadata RestoreDatabaseMetadata} is
|
340
346
|
# `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`.
|
341
347
|
# * `metadata.<field_name>` - any field in metadata.value.
|
348
|
+
# `metadata.@type` must be specified first, if filtering on metadata
|
349
|
+
# fields.
|
342
350
|
# * `error` - Error associated with the long-running operation.
|
343
351
|
# * `response.@type` - the type of response.
|
344
352
|
# * `response.<field_name>` - any field in response.value.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-spanner-admin-database-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gapic-common
|
@@ -237,7 +237,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
237
|
- !ruby/object:Gem::Version
|
238
238
|
version: '0'
|
239
239
|
requirements: []
|
240
|
-
rubygems_version: 3.
|
240
|
+
rubygems_version: 3.3.5
|
241
241
|
signing_key:
|
242
242
|
specification_version: 4
|
243
243
|
summary: API Client library for the Cloud Spanner Database Admin V1 API
|