google-cloud-spanner 1.6.1 → 1.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/google-cloud-spanner.rb +5 -4
- data/lib/google/cloud/spanner.rb +2 -346
- data/lib/google/cloud/spanner/admin/database.rb +39 -3
- data/lib/google/cloud/spanner/admin/database/credentials.rb +5 -9
- data/lib/google/cloud/spanner/admin/database/v1.rb +69 -28
- data/lib/google/cloud/spanner/admin/database/v1/credentials.rb +46 -0
- data/lib/google/cloud/spanner/admin/database/v1/database_admin_client.rb +111 -53
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/iam_policy.rb +63 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb +8 -19
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/longrunning/operations.rb +93 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/any.rb +15 -9
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/empty.rb +29 -0
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/rpc/status.rb +2 -1
- data/lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/spanner_database_admin.rb +2 -12
- data/lib/google/cloud/spanner/admin/instance.rb +39 -3
- data/lib/google/cloud/spanner/admin/instance/credentials.rb +5 -9
- data/lib/google/cloud/spanner/admin/instance/v1.rb +69 -28
- data/lib/google/cloud/spanner/admin/instance/v1/credentials.rb +46 -0
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/iam_policy.rb +63 -0
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/policy.rb +8 -19
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/longrunning/operations.rb +93 -0
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/any.rb +15 -9
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/empty.rb +29 -0
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/field_mask.rb +8 -1
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/rpc/status.rb +2 -1
- data/lib/google/cloud/spanner/admin/instance/v1/doc/google/spanner/admin/instance/v1/spanner_instance_admin.rb +2 -12
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin_client.rb +125 -58
- data/lib/google/cloud/spanner/database/job.rb +1 -0
- data/lib/google/cloud/spanner/instance/job.rb +1 -0
- data/lib/google/cloud/spanner/v1/credentials.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/duration.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/empty.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/struct.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/protobuf/timestamp.rb +9 -6
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/keys.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/mutation.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/query_plan.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/result_set.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/transaction.rb +1 -0
- data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/type.rb +1 -0
- data/lib/google/cloud/spanner/v1/spanner_client.rb +28 -26
- data/lib/google/cloud/spanner/version.rb +1 -1
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_pb.rb +1 -1
- data/lib/google/spanner/admin/database/v1/spanner_database_admin_services_pb.rb +3 -2
- data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_pb.rb +1 -1
- data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_services_pb.rb +3 -2
- data/lib/google/spanner/v1/keys_pb.rb +1 -0
- data/lib/google/spanner/v1/mutation_pb.rb +1 -0
- data/lib/google/spanner/v1/query_plan_pb.rb +1 -0
- data/lib/google/spanner/v1/result_set_pb.rb +1 -0
- data/lib/google/spanner/v1/spanner_pb.rb +1 -0
- data/lib/google/spanner/v1/spanner_services_pb.rb +1 -0
- data/lib/google/spanner/v1/transaction_pb.rb +1 -0
- data/lib/google/spanner/v1/type_pb.rb +1 -0
- metadata +14 -8
- data/lib/google/cloud/spanner/admin/database/v1/doc/overview.rb +0 -58
- data/lib/google/cloud/spanner/admin/instance/v1/doc/overview.rb +0 -58
@@ -12,6 +12,7 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
|
+
|
15
16
|
require "googleauth"
|
16
17
|
|
17
18
|
module Google
|
@@ -19,15 +20,10 @@ module Google
|
|
19
20
|
module Spanner
|
20
21
|
module Admin
|
21
22
|
module Database
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
].freeze
|
27
|
-
PATH_ENV_VARS = %w(SPANNER_ADMIN_DATABASE_KEYFILE GOOGLE_CLOUD_KEYFILE GCLOUD_KEYFILE)
|
28
|
-
JSON_ENV_VARS = %w(SPANNER_ADMIN_DATABASE_KEYFILE_JSON GOOGLE_CLOUD_KEYFILE_JSON GCLOUD_KEYFILE_JSON)
|
29
|
-
DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
|
30
|
-
end
|
23
|
+
##
|
24
|
+
# @deprecated Use version-specific credentials classes
|
25
|
+
#
|
26
|
+
Credentials = Google::Cloud::Spanner::Admin::Database::V1::Credentials
|
31
27
|
end
|
32
28
|
end
|
33
29
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2018 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -12,40 +12,72 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
|
+
|
15
16
|
require "google/cloud/spanner/admin/database/v1/database_admin_client"
|
17
|
+
require "google/spanner/admin/database/v1/spanner_database_admin_pb"
|
16
18
|
|
17
19
|
module Google
|
18
20
|
module Cloud
|
19
21
|
module Spanner
|
20
22
|
module Admin
|
21
|
-
# rubocop:disable LineLength
|
22
|
-
|
23
|
-
##
|
24
|
-
# # Ruby Client for Cloud Spanner Database Admin API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
|
25
|
-
#
|
26
|
-
# [Cloud Spanner Database Admin API][Product Documentation]:
|
27
|
-
#
|
28
|
-
# - [Product Documentation][]
|
29
|
-
#
|
30
|
-
# ## Quick Start
|
31
|
-
# In order to use this library, you first need to go through the following
|
32
|
-
# steps:
|
33
|
-
#
|
34
|
-
# 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
|
35
|
-
# 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
|
36
|
-
# 3. [Enable the Cloud Spanner Database Admin API.](https://console.cloud.google.com/apis/api/spanner-admin-database)
|
37
|
-
# 4. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
|
38
|
-
#
|
39
|
-
# ### Next Steps
|
40
|
-
# - Read the [Cloud Spanner Database Admin API Product documentation][Product Documentation]
|
41
|
-
# to learn more about the product and see How-to Guides.
|
42
|
-
# - View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-ruby/blob/master/README.md)
|
43
|
-
# to see the full list of Cloud APIs that we cover.
|
44
|
-
#
|
45
|
-
# [Product Documentation]: https://cloud.google.com/spanner-admin-database
|
46
|
-
#
|
47
|
-
#
|
48
23
|
module Database
|
24
|
+
# rubocop:disable LineLength
|
25
|
+
|
26
|
+
##
|
27
|
+
# # Ruby Client for Cloud Spanner Database Admin API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
|
28
|
+
#
|
29
|
+
# [Cloud Spanner Database Admin API][Product Documentation]:
|
30
|
+
#
|
31
|
+
# - [Product Documentation][]
|
32
|
+
#
|
33
|
+
# ## Quick Start
|
34
|
+
# In order to use this library, you first need to go through the following
|
35
|
+
# steps:
|
36
|
+
#
|
37
|
+
# 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
|
38
|
+
# 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
|
39
|
+
# 3. [Enable the Cloud Spanner Database Admin API.](https://console.cloud.google.com/apis/library/spanner.googleapis.com)
|
40
|
+
# 4. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
|
41
|
+
#
|
42
|
+
# ### Installation
|
43
|
+
# ```
|
44
|
+
# $ gem install google-cloud-spanner
|
45
|
+
# ```
|
46
|
+
#
|
47
|
+
# ### Next Steps
|
48
|
+
# - Read the [Cloud Spanner Database Admin API Product documentation][Product Documentation]
|
49
|
+
# to learn more about the product and see How-to Guides.
|
50
|
+
# - View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-ruby/blob/master/README.md)
|
51
|
+
# to see the full list of Cloud APIs that we cover.
|
52
|
+
#
|
53
|
+
# [Product Documentation]: https://cloud.google.com/spanner
|
54
|
+
#
|
55
|
+
# ## Enabling Logging
|
56
|
+
#
|
57
|
+
# To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
|
58
|
+
# The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
|
59
|
+
# or a [`Google::Cloud::Logging::Logger`](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
|
60
|
+
# that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
|
61
|
+
# and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
|
62
|
+
#
|
63
|
+
# Configuring a Ruby stdlib logger:
|
64
|
+
#
|
65
|
+
# ```ruby
|
66
|
+
# require "logger"
|
67
|
+
#
|
68
|
+
# module MyLogger
|
69
|
+
# LOGGER = Logger.new $stderr, level: Logger::WARN
|
70
|
+
# def logger
|
71
|
+
# LOGGER
|
72
|
+
# end
|
73
|
+
# end
|
74
|
+
#
|
75
|
+
# # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
|
76
|
+
# module GRPC
|
77
|
+
# extend MyLogger
|
78
|
+
# end
|
79
|
+
# ```
|
80
|
+
#
|
49
81
|
module V1
|
50
82
|
# rubocop:enable LineLength
|
51
83
|
|
@@ -80,11 +112,18 @@ module Google
|
|
80
112
|
# or the specified config is missing data points.
|
81
113
|
# @param timeout [Numeric]
|
82
114
|
# The default timeout, in seconds, for calls made through this client.
|
115
|
+
# @param metadata [Hash]
|
116
|
+
# Default metadata to be sent with each request. This can be overridden on a per call basis.
|
117
|
+
# @param exception_transformer [Proc]
|
118
|
+
# An optional proc that intercepts any exceptions raised during an API call to inject
|
119
|
+
# custom error handling.
|
83
120
|
def self.new \
|
84
121
|
credentials: nil,
|
85
122
|
scopes: nil,
|
86
123
|
client_config: nil,
|
87
124
|
timeout: nil,
|
125
|
+
metadata: nil,
|
126
|
+
exception_transformer: nil,
|
88
127
|
lib_name: nil,
|
89
128
|
lib_version: nil
|
90
129
|
kwargs = {
|
@@ -92,6 +131,8 @@ module Google
|
|
92
131
|
scopes: scopes,
|
93
132
|
client_config: client_config,
|
94
133
|
timeout: timeout,
|
134
|
+
metadata: metadata,
|
135
|
+
exception_transformer: exception_transformer,
|
95
136
|
lib_name: lib_name,
|
96
137
|
lib_version: lib_version
|
97
138
|
}.select { |_, v| v != nil }
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# Copyright 2018 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
|
16
|
+
require "googleauth"
|
17
|
+
|
18
|
+
module Google
|
19
|
+
module Cloud
|
20
|
+
module Spanner
|
21
|
+
module Admin
|
22
|
+
module Database
|
23
|
+
module V1
|
24
|
+
class Credentials < Google::Auth::Credentials
|
25
|
+
SCOPE = [
|
26
|
+
"https://www.googleapis.com/auth/cloud-platform",
|
27
|
+
"https://www.googleapis.com/auth/spanner.admin"
|
28
|
+
].freeze
|
29
|
+
PATH_ENV_VARS = %w(SPANNER_ADMIN_DATABASE_CREDENTIALS
|
30
|
+
SPANNER_ADMIN_DATABASE_KEYFILE
|
31
|
+
GOOGLE_CLOUD_CREDENTIALS
|
32
|
+
GOOGLE_CLOUD_KEYFILE
|
33
|
+
GCLOUD_KEYFILE)
|
34
|
+
JSON_ENV_VARS = %w(SPANNER_ADMIN_DATABASE_CREDENTIALS_JSON
|
35
|
+
SPANNER_ADMIN_DATABASE_KEYFILE_JSON
|
36
|
+
GOOGLE_CLOUD_CREDENTIALS_JSON
|
37
|
+
GOOGLE_CLOUD_KEYFILE_JSON
|
38
|
+
GCLOUD_KEYFILE_JSON)
|
39
|
+
DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2018 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -18,9 +18,7 @@
|
|
18
18
|
# and updates to that file get reflected here through a refresh process.
|
19
19
|
# For the short term, the refresh process will only be runnable by Google
|
20
20
|
# engineers.
|
21
|
-
|
22
|
-
# The only allowed edits are to method and file documentation. A 3-way
|
23
|
-
# merge preserves those additions if the generated source changes.
|
21
|
+
|
24
22
|
|
25
23
|
require "json"
|
26
24
|
require "pathname"
|
@@ -30,7 +28,7 @@ require "google/gax/operation"
|
|
30
28
|
require "google/longrunning/operations_client"
|
31
29
|
|
32
30
|
require "google/spanner/admin/database/v1/spanner_database_admin_pb"
|
33
|
-
require "google/cloud/spanner/admin/database/credentials"
|
31
|
+
require "google/cloud/spanner/admin/database/v1/credentials"
|
34
32
|
|
35
33
|
module Google
|
36
34
|
module Cloud
|
@@ -47,6 +45,7 @@ module Google
|
|
47
45
|
# @!attribute [r] database_admin_stub
|
48
46
|
# @return [Google::Spanner::Admin::Database::V1::DatabaseAdmin::Stub]
|
49
47
|
class DatabaseAdminClient
|
48
|
+
# @private
|
50
49
|
attr_reader :database_admin_stub
|
51
50
|
|
52
51
|
# The default address of the service.
|
@@ -55,6 +54,9 @@ module Google
|
|
55
54
|
# The default port of the service.
|
56
55
|
DEFAULT_SERVICE_PORT = 443
|
57
56
|
|
57
|
+
# The default set of gRPC interceptors.
|
58
|
+
GRPC_INTERCEPTORS = []
|
59
|
+
|
58
60
|
DEFAULT_TIMEOUT = 30
|
59
61
|
|
60
62
|
PAGE_DESCRIPTORS = {
|
@@ -75,7 +77,8 @@ module Google
|
|
75
77
|
|
76
78
|
# @private
|
77
79
|
class OperationsClient < Google::Longrunning::OperationsClient
|
78
|
-
SERVICE_ADDRESS = SERVICE_ADDRESS
|
80
|
+
self::SERVICE_ADDRESS = DatabaseAdminClient::SERVICE_ADDRESS
|
81
|
+
self::GRPC_INTERCEPTORS = DatabaseAdminClient::GRPC_INTERCEPTORS
|
79
82
|
end
|
80
83
|
|
81
84
|
INSTANCE_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
|
@@ -138,11 +141,18 @@ module Google
|
|
138
141
|
# or the specified config is missing data points.
|
139
142
|
# @param timeout [Numeric]
|
140
143
|
# The default timeout, in seconds, for calls made through this client.
|
144
|
+
# @param metadata [Hash]
|
145
|
+
# Default metadata to be sent with each request. This can be overridden on a per call basis.
|
146
|
+
# @param exception_transformer [Proc]
|
147
|
+
# An optional proc that intercepts any exceptions raised during an API call to inject
|
148
|
+
# custom error handling.
|
141
149
|
def initialize \
|
142
150
|
credentials: nil,
|
143
151
|
scopes: ALL_SCOPES,
|
144
152
|
client_config: {},
|
145
153
|
timeout: DEFAULT_TIMEOUT,
|
154
|
+
metadata: nil,
|
155
|
+
exception_transformer: nil,
|
146
156
|
lib_name: nil,
|
147
157
|
lib_version: ""
|
148
158
|
# These require statements are intentionally placed here to initialize
|
@@ -151,7 +161,7 @@ module Google
|
|
151
161
|
require "google/gax/grpc"
|
152
162
|
require "google/spanner/admin/database/v1/spanner_database_admin_services_pb"
|
153
163
|
|
154
|
-
credentials ||= Google::Cloud::Spanner::Admin::Database::Credentials.default
|
164
|
+
credentials ||= Google::Cloud::Spanner::Admin::Database::V1::Credentials.default
|
155
165
|
|
156
166
|
@operations_client = OperationsClient.new(
|
157
167
|
credentials: credentials,
|
@@ -163,7 +173,7 @@ module Google
|
|
163
173
|
)
|
164
174
|
|
165
175
|
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
166
|
-
updater_proc = Google::Cloud::Spanner::Admin::Database::Credentials.new(credentials).updater_proc
|
176
|
+
updater_proc = Google::Cloud::Spanner::Admin::Database::V1::Credentials.new(credentials).updater_proc
|
167
177
|
end
|
168
178
|
if credentials.is_a?(GRPC::Core::Channel)
|
169
179
|
channel = credentials
|
@@ -187,6 +197,7 @@ module Google
|
|
187
197
|
google_api_client.freeze
|
188
198
|
|
189
199
|
headers = { :"x-goog-api-client" => google_api_client }
|
200
|
+
headers.merge!(metadata) unless metadata.nil?
|
190
201
|
client_config_file = Pathname.new(__dir__).join(
|
191
202
|
"database_admin_client_config.json"
|
192
203
|
)
|
@@ -199,13 +210,14 @@ module Google
|
|
199
210
|
timeout,
|
200
211
|
page_descriptors: PAGE_DESCRIPTORS,
|
201
212
|
errors: Google::Gax::Grpc::API_ERRORS,
|
202
|
-
|
213
|
+
metadata: headers
|
203
214
|
)
|
204
215
|
end
|
205
216
|
|
206
217
|
# Allow overriding the service path/port in subclasses.
|
207
218
|
service_path = self.class::SERVICE_ADDRESS
|
208
219
|
port = self.class::DEFAULT_SERVICE_PORT
|
220
|
+
interceptors = self.class::GRPC_INTERCEPTORS
|
209
221
|
@database_admin_stub = Google::Gax::Grpc.create_stub(
|
210
222
|
service_path,
|
211
223
|
port,
|
@@ -213,44 +225,54 @@ module Google
|
|
213
225
|
channel: channel,
|
214
226
|
updater_proc: updater_proc,
|
215
227
|
scopes: scopes,
|
228
|
+
interceptors: interceptors,
|
216
229
|
&Google::Spanner::Admin::Database::V1::DatabaseAdmin::Stub.method(:new)
|
217
230
|
)
|
218
231
|
|
219
232
|
@list_databases = Google::Gax.create_api_call(
|
220
233
|
@database_admin_stub.method(:list_databases),
|
221
|
-
defaults["list_databases"]
|
234
|
+
defaults["list_databases"],
|
235
|
+
exception_transformer: exception_transformer
|
222
236
|
)
|
223
237
|
@create_database = Google::Gax.create_api_call(
|
224
238
|
@database_admin_stub.method(:create_database),
|
225
|
-
defaults["create_database"]
|
239
|
+
defaults["create_database"],
|
240
|
+
exception_transformer: exception_transformer
|
226
241
|
)
|
227
242
|
@get_database = Google::Gax.create_api_call(
|
228
243
|
@database_admin_stub.method(:get_database),
|
229
|
-
defaults["get_database"]
|
244
|
+
defaults["get_database"],
|
245
|
+
exception_transformer: exception_transformer
|
230
246
|
)
|
231
247
|
@update_database_ddl = Google::Gax.create_api_call(
|
232
248
|
@database_admin_stub.method(:update_database_ddl),
|
233
|
-
defaults["update_database_ddl"]
|
249
|
+
defaults["update_database_ddl"],
|
250
|
+
exception_transformer: exception_transformer
|
234
251
|
)
|
235
252
|
@drop_database = Google::Gax.create_api_call(
|
236
253
|
@database_admin_stub.method(:drop_database),
|
237
|
-
defaults["drop_database"]
|
254
|
+
defaults["drop_database"],
|
255
|
+
exception_transformer: exception_transformer
|
238
256
|
)
|
239
257
|
@get_database_ddl = Google::Gax.create_api_call(
|
240
258
|
@database_admin_stub.method(:get_database_ddl),
|
241
|
-
defaults["get_database_ddl"]
|
259
|
+
defaults["get_database_ddl"],
|
260
|
+
exception_transformer: exception_transformer
|
242
261
|
)
|
243
262
|
@set_iam_policy = Google::Gax.create_api_call(
|
244
263
|
@database_admin_stub.method(:set_iam_policy),
|
245
|
-
defaults["set_iam_policy"]
|
264
|
+
defaults["set_iam_policy"],
|
265
|
+
exception_transformer: exception_transformer
|
246
266
|
)
|
247
267
|
@get_iam_policy = Google::Gax.create_api_call(
|
248
268
|
@database_admin_stub.method(:get_iam_policy),
|
249
|
-
defaults["get_iam_policy"]
|
269
|
+
defaults["get_iam_policy"],
|
270
|
+
exception_transformer: exception_transformer
|
250
271
|
)
|
251
272
|
@test_iam_permissions = Google::Gax.create_api_call(
|
252
273
|
@database_admin_stub.method(:test_iam_permissions),
|
253
|
-
defaults["test_iam_permissions"]
|
274
|
+
defaults["test_iam_permissions"],
|
275
|
+
exception_transformer: exception_transformer
|
254
276
|
)
|
255
277
|
end
|
256
278
|
|
@@ -270,6 +292,9 @@ module Google
|
|
270
292
|
# @param options [Google::Gax::CallOptions]
|
271
293
|
# Overrides the default settings for this call, e.g, timeout,
|
272
294
|
# retries, etc.
|
295
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
296
|
+
# @yieldparam result [Google::Gax::PagedEnumerable<Google::Spanner::Admin::Database::V1::Database>]
|
297
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
273
298
|
# @return [Google::Gax::PagedEnumerable<Google::Spanner::Admin::Database::V1::Database>]
|
274
299
|
# An enumerable of Google::Spanner::Admin::Database::V1::Database instances.
|
275
300
|
# See Google::Gax::PagedEnumerable documentation for other
|
@@ -277,9 +302,9 @@ module Google
|
|
277
302
|
# object.
|
278
303
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
279
304
|
# @example
|
280
|
-
# require "google/cloud/spanner/admin/database
|
305
|
+
# require "google/cloud/spanner/admin/database"
|
281
306
|
#
|
282
|
-
# database_admin_client = Google::Cloud::Spanner::Admin::Database
|
307
|
+
# database_admin_client = Google::Cloud::Spanner::Admin::Database.new(version: :v1)
|
283
308
|
# formatted_parent = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdminClient.instance_path("[PROJECT]", "[INSTANCE]")
|
284
309
|
#
|
285
310
|
# # Iterate over all results.
|
@@ -298,13 +323,14 @@ module Google
|
|
298
323
|
def list_databases \
|
299
324
|
parent,
|
300
325
|
page_size: nil,
|
301
|
-
options: nil
|
326
|
+
options: nil,
|
327
|
+
&block
|
302
328
|
req = {
|
303
329
|
parent: parent,
|
304
330
|
page_size: page_size
|
305
331
|
}.delete_if { |_, v| v.nil? }
|
306
332
|
req = Google::Gax::to_proto(req, Google::Spanner::Admin::Database::V1::ListDatabasesRequest)
|
307
|
-
@list_databases.call(req, options)
|
333
|
+
@list_databases.call(req, options, &block)
|
308
334
|
end
|
309
335
|
|
310
336
|
# Creates a new Cloud Spanner database and starts to prepare it for serving.
|
@@ -336,10 +362,12 @@ module Google
|
|
336
362
|
# @return [Google::Gax::Operation]
|
337
363
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
338
364
|
# @example
|
339
|
-
# require "google/cloud/spanner/admin/database
|
365
|
+
# require "google/cloud/spanner/admin/database"
|
340
366
|
#
|
341
|
-
# database_admin_client = Google::Cloud::Spanner::Admin::Database
|
367
|
+
# database_admin_client = Google::Cloud::Spanner::Admin::Database.new(version: :v1)
|
342
368
|
# formatted_parent = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdminClient.instance_path("[PROJECT]", "[INSTANCE]")
|
369
|
+
#
|
370
|
+
# # TODO: Initialize +create_statement+:
|
343
371
|
# create_statement = ''
|
344
372
|
#
|
345
373
|
# # Register a callback during the method call.
|
@@ -399,23 +427,27 @@ module Google
|
|
399
427
|
# @param options [Google::Gax::CallOptions]
|
400
428
|
# Overrides the default settings for this call, e.g, timeout,
|
401
429
|
# retries, etc.
|
430
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
431
|
+
# @yieldparam result [Google::Spanner::Admin::Database::V1::Database]
|
432
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
402
433
|
# @return [Google::Spanner::Admin::Database::V1::Database]
|
403
434
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
404
435
|
# @example
|
405
|
-
# require "google/cloud/spanner/admin/database
|
436
|
+
# require "google/cloud/spanner/admin/database"
|
406
437
|
#
|
407
|
-
# database_admin_client = Google::Cloud::Spanner::Admin::Database
|
438
|
+
# database_admin_client = Google::Cloud::Spanner::Admin::Database.new(version: :v1)
|
408
439
|
# formatted_name = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdminClient.database_path("[PROJECT]", "[INSTANCE]", "[DATABASE]")
|
409
440
|
# response = database_admin_client.get_database(formatted_name)
|
410
441
|
|
411
442
|
def get_database \
|
412
443
|
name,
|
413
|
-
options: nil
|
444
|
+
options: nil,
|
445
|
+
&block
|
414
446
|
req = {
|
415
447
|
name: name
|
416
448
|
}.delete_if { |_, v| v.nil? }
|
417
449
|
req = Google::Gax::to_proto(req, Google::Spanner::Admin::Database::V1::GetDatabaseRequest)
|
418
|
-
@get_database.call(req, options)
|
450
|
+
@get_database.call(req, options, &block)
|
419
451
|
end
|
420
452
|
|
421
453
|
# Updates the schema of a Cloud Spanner database by
|
@@ -456,10 +488,12 @@ module Google
|
|
456
488
|
# @return [Google::Gax::Operation]
|
457
489
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
458
490
|
# @example
|
459
|
-
# require "google/cloud/spanner/admin/database
|
491
|
+
# require "google/cloud/spanner/admin/database"
|
460
492
|
#
|
461
|
-
# database_admin_client = Google::Cloud::Spanner::Admin::Database
|
493
|
+
# database_admin_client = Google::Cloud::Spanner::Admin::Database.new(version: :v1)
|
462
494
|
# formatted_database = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdminClient.database_path("[PROJECT]", "[INSTANCE]", "[DATABASE]")
|
495
|
+
#
|
496
|
+
# # TODO: Initialize +statements+:
|
463
497
|
# statements = []
|
464
498
|
#
|
465
499
|
# # Register a callback during the method call.
|
@@ -518,22 +552,26 @@ module Google
|
|
518
552
|
# @param options [Google::Gax::CallOptions]
|
519
553
|
# Overrides the default settings for this call, e.g, timeout,
|
520
554
|
# retries, etc.
|
555
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
556
|
+
# @yieldparam result []
|
557
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
521
558
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
522
559
|
# @example
|
523
|
-
# require "google/cloud/spanner/admin/database
|
560
|
+
# require "google/cloud/spanner/admin/database"
|
524
561
|
#
|
525
|
-
# database_admin_client = Google::Cloud::Spanner::Admin::Database
|
562
|
+
# database_admin_client = Google::Cloud::Spanner::Admin::Database.new(version: :v1)
|
526
563
|
# formatted_database = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdminClient.database_path("[PROJECT]", "[INSTANCE]", "[DATABASE]")
|
527
564
|
# database_admin_client.drop_database(formatted_database)
|
528
565
|
|
529
566
|
def drop_database \
|
530
567
|
database,
|
531
|
-
options: nil
|
568
|
+
options: nil,
|
569
|
+
&block
|
532
570
|
req = {
|
533
571
|
database: database
|
534
572
|
}.delete_if { |_, v| v.nil? }
|
535
573
|
req = Google::Gax::to_proto(req, Google::Spanner::Admin::Database::V1::DropDatabaseRequest)
|
536
|
-
@drop_database.call(req, options)
|
574
|
+
@drop_database.call(req, options, &block)
|
537
575
|
nil
|
538
576
|
end
|
539
577
|
|
@@ -546,23 +584,27 @@ module Google
|
|
546
584
|
# @param options [Google::Gax::CallOptions]
|
547
585
|
# Overrides the default settings for this call, e.g, timeout,
|
548
586
|
# retries, etc.
|
587
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
588
|
+
# @yieldparam result [Google::Spanner::Admin::Database::V1::GetDatabaseDdlResponse]
|
589
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
549
590
|
# @return [Google::Spanner::Admin::Database::V1::GetDatabaseDdlResponse]
|
550
591
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
551
592
|
# @example
|
552
|
-
# require "google/cloud/spanner/admin/database
|
593
|
+
# require "google/cloud/spanner/admin/database"
|
553
594
|
#
|
554
|
-
# database_admin_client = Google::Cloud::Spanner::Admin::Database
|
595
|
+
# database_admin_client = Google::Cloud::Spanner::Admin::Database.new(version: :v1)
|
555
596
|
# formatted_database = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdminClient.database_path("[PROJECT]", "[INSTANCE]", "[DATABASE]")
|
556
597
|
# response = database_admin_client.get_database_ddl(formatted_database)
|
557
598
|
|
558
599
|
def get_database_ddl \
|
559
600
|
database,
|
560
|
-
options: nil
|
601
|
+
options: nil,
|
602
|
+
&block
|
561
603
|
req = {
|
562
604
|
database: database
|
563
605
|
}.delete_if { |_, v| v.nil? }
|
564
606
|
req = Google::Gax::to_proto(req, Google::Spanner::Admin::Database::V1::GetDatabaseDdlRequest)
|
565
|
-
@get_database_ddl.call(req, options)
|
607
|
+
@get_database_ddl.call(req, options, &block)
|
566
608
|
end
|
567
609
|
|
568
610
|
# Sets the access control policy on a database resource. Replaces any
|
@@ -574,7 +616,7 @@ module Google
|
|
574
616
|
# @param resource [String]
|
575
617
|
# REQUIRED: The resource for which the policy is being specified.
|
576
618
|
# +resource+ is usually specified as a path. For example, a Project
|
577
|
-
# resource is specified as +projects
|
619
|
+
# resource is specified as +projects/\\{project}+.
|
578
620
|
# @param policy [Google::Iam::V1::Policy | Hash]
|
579
621
|
# REQUIRED: The complete policy to be applied to the +resource+. The size of
|
580
622
|
# the policy is limited to a few 10s of KB. An empty policy is a
|
@@ -585,26 +627,32 @@ module Google
|
|
585
627
|
# @param options [Google::Gax::CallOptions]
|
586
628
|
# Overrides the default settings for this call, e.g, timeout,
|
587
629
|
# retries, etc.
|
630
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
631
|
+
# @yieldparam result [Google::Iam::V1::Policy]
|
632
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
588
633
|
# @return [Google::Iam::V1::Policy]
|
589
634
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
590
635
|
# @example
|
591
|
-
# require "google/cloud/spanner/admin/database
|
636
|
+
# require "google/cloud/spanner/admin/database"
|
592
637
|
#
|
593
|
-
# database_admin_client = Google::Cloud::Spanner::Admin::Database
|
638
|
+
# database_admin_client = Google::Cloud::Spanner::Admin::Database.new(version: :v1)
|
594
639
|
# formatted_resource = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdminClient.database_path("[PROJECT]", "[INSTANCE]", "[DATABASE]")
|
640
|
+
#
|
641
|
+
# # TODO: Initialize +policy+:
|
595
642
|
# policy = {}
|
596
643
|
# response = database_admin_client.set_iam_policy(formatted_resource, policy)
|
597
644
|
|
598
645
|
def set_iam_policy \
|
599
646
|
resource,
|
600
647
|
policy,
|
601
|
-
options: nil
|
648
|
+
options: nil,
|
649
|
+
&block
|
602
650
|
req = {
|
603
651
|
resource: resource,
|
604
652
|
policy: policy
|
605
653
|
}.delete_if { |_, v| v.nil? }
|
606
654
|
req = Google::Gax::to_proto(req, Google::Iam::V1::SetIamPolicyRequest)
|
607
|
-
@set_iam_policy.call(req, options)
|
655
|
+
@set_iam_policy.call(req, options, &block)
|
608
656
|
end
|
609
657
|
|
610
658
|
# Gets the access control policy for a database resource. Returns an empty
|
@@ -616,27 +664,31 @@ module Google
|
|
616
664
|
# @param resource [String]
|
617
665
|
# REQUIRED: The resource for which the policy is being requested.
|
618
666
|
# +resource+ is usually specified as a path. For example, a Project
|
619
|
-
# resource is specified as +projects
|
667
|
+
# resource is specified as +projects/\\{project}+.
|
620
668
|
# @param options [Google::Gax::CallOptions]
|
621
669
|
# Overrides the default settings for this call, e.g, timeout,
|
622
670
|
# retries, etc.
|
671
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
672
|
+
# @yieldparam result [Google::Iam::V1::Policy]
|
673
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
623
674
|
# @return [Google::Iam::V1::Policy]
|
624
675
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
625
676
|
# @example
|
626
|
-
# require "google/cloud/spanner/admin/database
|
677
|
+
# require "google/cloud/spanner/admin/database"
|
627
678
|
#
|
628
|
-
# database_admin_client = Google::Cloud::Spanner::Admin::Database
|
679
|
+
# database_admin_client = Google::Cloud::Spanner::Admin::Database.new(version: :v1)
|
629
680
|
# formatted_resource = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdminClient.database_path("[PROJECT]", "[INSTANCE]", "[DATABASE]")
|
630
681
|
# response = database_admin_client.get_iam_policy(formatted_resource)
|
631
682
|
|
632
683
|
def get_iam_policy \
|
633
684
|
resource,
|
634
|
-
options: nil
|
685
|
+
options: nil,
|
686
|
+
&block
|
635
687
|
req = {
|
636
688
|
resource: resource
|
637
689
|
}.delete_if { |_, v| v.nil? }
|
638
690
|
req = Google::Gax::to_proto(req, Google::Iam::V1::GetIamPolicyRequest)
|
639
|
-
@get_iam_policy.call(req, options)
|
691
|
+
@get_iam_policy.call(req, options, &block)
|
640
692
|
end
|
641
693
|
|
642
694
|
# Returns permissions that the caller has on the specified database resource.
|
@@ -649,7 +701,7 @@ module Google
|
|
649
701
|
# @param resource [String]
|
650
702
|
# REQUIRED: The resource for which the policy detail is being requested.
|
651
703
|
# +resource+ is usually specified as a path. For example, a Project
|
652
|
-
# resource is specified as +projects
|
704
|
+
# resource is specified as +projects/\\{project}+.
|
653
705
|
# @param permissions [Array<String>]
|
654
706
|
# The set of permissions to check for the +resource+. Permissions with
|
655
707
|
# wildcards (such as '*' or 'storage.*') are not allowed. For more
|
@@ -658,26 +710,32 @@ module Google
|
|
658
710
|
# @param options [Google::Gax::CallOptions]
|
659
711
|
# Overrides the default settings for this call, e.g, timeout,
|
660
712
|
# retries, etc.
|
713
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
714
|
+
# @yieldparam result [Google::Iam::V1::TestIamPermissionsResponse]
|
715
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
661
716
|
# @return [Google::Iam::V1::TestIamPermissionsResponse]
|
662
717
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
663
718
|
# @example
|
664
|
-
# require "google/cloud/spanner/admin/database
|
719
|
+
# require "google/cloud/spanner/admin/database"
|
665
720
|
#
|
666
|
-
# database_admin_client = Google::Cloud::Spanner::Admin::Database
|
721
|
+
# database_admin_client = Google::Cloud::Spanner::Admin::Database.new(version: :v1)
|
667
722
|
# formatted_resource = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdminClient.database_path("[PROJECT]", "[INSTANCE]", "[DATABASE]")
|
723
|
+
#
|
724
|
+
# # TODO: Initialize +permissions+:
|
668
725
|
# permissions = []
|
669
726
|
# response = database_admin_client.test_iam_permissions(formatted_resource, permissions)
|
670
727
|
|
671
728
|
def test_iam_permissions \
|
672
729
|
resource,
|
673
730
|
permissions,
|
674
|
-
options: nil
|
731
|
+
options: nil,
|
732
|
+
&block
|
675
733
|
req = {
|
676
734
|
resource: resource,
|
677
735
|
permissions: permissions
|
678
736
|
}.delete_if { |_, v| v.nil? }
|
679
737
|
req = Google::Gax::to_proto(req, Google::Iam::V1::TestIamPermissionsRequest)
|
680
|
-
@test_iam_permissions.call(req, options)
|
738
|
+
@test_iam_permissions.call(req, options, &block)
|
681
739
|
end
|
682
740
|
end
|
683
741
|
end
|