google-cloud-spanner 2.10.1 → 2.11.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.
@@ -0,0 +1,321 @@
1
+ # Copyright 2021 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
+ require "google-cloud-spanner"
16
+ require "google/cloud/config"
17
+ require "gapic/config"
18
+
19
+ module Google
20
+ module Cloud
21
+ module Spanner
22
+ module Admin
23
+ module Instance
24
+ ##
25
+ # Create a new client object for a InstanceAdmin.
26
+ #
27
+ # This returns an instance of
28
+ # Google::Cloud::Spanner::Admin::Instance::V1::InstanceAdmin::Client
29
+ # for version V1 of the API.
30
+ #
31
+ # ## About InstanceAdmin
32
+ #
33
+ # Google Cloud Spanner Instance Admin Service
34
+ #
35
+ # The Cloud Spanner Instance Admin API can be used to create, delete,
36
+ # modify and list instances. Instances are dedicated Cloud Spanner
37
+ # serving and storage resources to be used by Cloud Spanner databases.
38
+ #
39
+ # For more information on connecting to Google Cloud see the
40
+ # {file:AUTHENTICATION.md Authentication Guide}.
41
+ #
42
+ # @param [String] project_id Project identifier for the Spanner service
43
+ # you are connecting to. If not present, the default project for the
44
+ # credentials is used.
45
+ # @param [String, Hash, Google::Auth::Credentials] credentials The path to
46
+ # the keyfile as a String, the contents of the keyfile as a Hash, or a
47
+ # Google::Auth::Credentials object. (See {Spanner::Credentials})
48
+ # If `emulator_host` is present, this becomes optional and the value is
49
+ # internally overriden with `:this_channel_is_insecure`.
50
+ # @param [String, Array<String>] scope The OAuth 2.0 scopes controlling
51
+ # the set of resources and operations that the connection can access.
52
+ # See [Using OAuth 2.0 to Access Google
53
+ # APIs](https://developers.google.com/identity/protocols/OAuth2).
54
+ #
55
+ # The default scopes are:
56
+ #
57
+ # * `https://www.googleapis.com/auth/spanner`
58
+ # * `https://www.googleapis.com/auth/spanner.data`
59
+ # @param [Integer] timeout Default timeout to use in requests. Optional.
60
+ # @param [String] endpoint Override of the endpoint host name. Optional.
61
+ # If the param is nil, uses `emulator_host` or the default endpoint.
62
+ # @param [String] project Alias for the `project_id` argument. Deprecated.
63
+ # @param [String] keyfile Alias for the `credentials` argument.
64
+ # Deprecated.
65
+ # @param [String] emulator_host Spanner emulator host. Optional.
66
+ # If the param is nil, uses the value of the `emulator_host` config.
67
+ # @param [String] lib_name Library name. This will be added as a prefix
68
+ # to the API call tracking header `x-goog-api-client` with provided
69
+ # lib version for telemetry. Optional. For example prefix looks like
70
+ # `spanner-activerecord/0.0.1 gccl/1.13.1`. Here,
71
+ # `spanner-activerecord/0.0.1` is provided custom library name and
72
+ # version and `gccl/1.13.1` represents the Cloud Spanner Ruby library
73
+ # with version.
74
+ # @param [String] lib_version Library version. This will be added as a
75
+ # prefix to the API call tracking header `x-goog-api-client` with
76
+ # provided lib name for telemetry. Optional. For example prefix look like
77
+ # `spanner-activerecord/0.0.1 gccl/1.13.1`. Here,
78
+ # `spanner-activerecord/0.0.1` is provided custom library name and
79
+ # version and `gccl/1.13.1` represents the Cloud Spanner Ruby library
80
+ # with version.
81
+ #
82
+ # @return [Admin::Instance::V1::InstanceAdmin::Client] A client object of version V1.
83
+ #
84
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize, Metrics/MethodLength
85
+ def self.instance_admin project_id: nil,
86
+ credentials: nil,
87
+ scope: nil,
88
+ timeout: nil,
89
+ endpoint: nil,
90
+ project: nil,
91
+ keyfile: nil,
92
+ emulator_host: nil,
93
+ lib_name: nil,
94
+ lib_version: nil
95
+ project_id ||= project || default_project_id
96
+ scope ||= configure.scope
97
+ timeout ||= configure.timeout
98
+ emulator_host ||= configure.emulator_host
99
+ endpoint ||= emulator_host || configure.endpoint
100
+ credentials ||= keyfile
101
+ lib_name ||= configure.lib_name
102
+ lib_version ||= configure.lib_version
103
+
104
+ if emulator_host
105
+ credentials = :this_channel_is_insecure
106
+ else
107
+ credentials ||= default_credentials scope: scope
108
+ unless credentials.is_a? Google::Auth::Credentials
109
+ credentials = Spanner::Credentials.new credentials, scope: scope
110
+ end
111
+
112
+ if credentials.respond_to? :project_id
113
+ project_id ||= credentials.project_id
114
+ end
115
+ end
116
+
117
+ project_id = project_id.to_s # Always cast to a string
118
+ raise ArgumentError, "project_id is missing" if project_id.empty?
119
+
120
+ Admin::Instance::V1::InstanceAdmin::Client.new do |config|
121
+ config.credentials = channel endpoint, credentials
122
+ config.timeout = timeout if timeout
123
+ config.endpoint = endpoint if endpoint
124
+ config.lib_name = lib_name_with_prefix lib_name, lib_version
125
+ config.lib_version = Google::Cloud::Spanner::VERSION
126
+ config.metadata = { "google-cloud-resource-prefix" => "projects/#{project_id}" }
127
+ end
128
+ end
129
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize, Metrics/MethodLength
130
+
131
+ ##
132
+ # Configure the Google Cloud Spanner Instance Admin library. This configuration can be
133
+ # applied globally to all clients.
134
+ #
135
+ # @example
136
+ #
137
+ # Modify the global config, setting the timeout to 10 seconds for all admin instances.
138
+ #
139
+ # require "google/cloud/spanner/admin/instance"
140
+ #
141
+ # ::Google::Cloud::Spanner::Admin::Instance.configure do |config|
142
+ # config.timeout = 10.0
143
+ # end
144
+ #
145
+ # The following configuration parameters are supported:
146
+ #
147
+ # * `credentials` (*type:* `String, Hash, Google::Auth::Credentials`) -
148
+ # The path to the keyfile as a String, the contents of the keyfile as a
149
+ # Hash, or a Google::Auth::Credentials object.
150
+ # * `lib_name` (*type:* `String`) -
151
+ # The library name as recorded in instrumentation and logging.
152
+ # * `lib_version` (*type:* `String`) -
153
+ # The library version as recorded in instrumentation and logging.
154
+ # * `interceptors` (*type:* `Array<GRPC::ClientInterceptor>`) -
155
+ # An array of interceptors that are run before calls are executed.
156
+ # * `timeout` (*type:* `Numeric`) -
157
+ # Default timeout in seconds.
158
+ # * `emulator_host` - (String) Host name of the emulator. Defaults to
159
+ # `ENV["SPANNER_EMULATOR_HOST"]`.
160
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) -
161
+ # Additional gRPC headers to be sent with the call.
162
+ # * `retry_policy` (*type:* `Hash`) -
163
+ # The retry policy. The value is a hash with the following keys:
164
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
165
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
166
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
167
+ # * `:retry_codes` (*type:* `Array<String>`) -
168
+ # The error codes that should trigger a retry.
169
+ #
170
+ # @return [::Google::Cloud::Config] The default configuration used by this library
171
+ #
172
+ def self.configure
173
+ @configure ||= begin
174
+ namespace = ["Google", "Cloud", "Spanner"]
175
+ parent_config = while namespace.any?
176
+ parent_name = namespace.join "::"
177
+ parent_const = const_get parent_name
178
+ break parent_const.configure if parent_const.respond_to? :configure
179
+ namespace.pop
180
+ end
181
+
182
+ default_config = Instance::Configuration.new parent_config
183
+ default_config
184
+ end
185
+ yield @configure if block_given?
186
+ @configure
187
+ end
188
+
189
+ ##
190
+ # @private Default project.
191
+ def self.default_project_id
192
+ Google::Cloud.configure.spanner.project_id ||
193
+ Google::Cloud.configure.project_id ||
194
+ Google::Cloud.env.project_id
195
+ end
196
+
197
+ ##
198
+ # @private Default credentials.
199
+ def self.default_credentials scope: nil
200
+ Google::Cloud.configure.spanner.credentials ||
201
+ Google::Cloud.configure.credentials ||
202
+ Spanner::Credentials.default(scope: scope)
203
+ end
204
+
205
+ ##
206
+ # @private gRPC channel.
207
+ def self.channel host, credentials
208
+ require "grpc"
209
+ GRPC::Core::Channel.new host, chan_args, chan_creds(credentials)
210
+ end
211
+
212
+ ##
213
+ # @private gRPC channel args.
214
+ def self.chan_args
215
+ { "grpc.service_config_disable_resolution" => 1 }
216
+ end
217
+
218
+ ##
219
+ # @private gRPC channel credentials
220
+ def self.chan_creds credentials
221
+ return credentials if credentials == :this_channel_is_insecure
222
+ require "grpc"
223
+ GRPC::Core::ChannelCredentials.new.compose \
224
+ GRPC::Core::CallCredentials.new credentials.client.updater_proc
225
+ end
226
+
227
+ ##
228
+ # @private Spanner client library version with the prefix.
229
+ def self.lib_name_with_prefix lib_name, lib_version
230
+ return "gccl" if [nil, "gccl"].include? lib_name
231
+
232
+ value = lib_name.dup
233
+ value << "/#{lib_version}" if lib_version
234
+ value << " gccl"
235
+ end
236
+
237
+ ##
238
+ # Configuration class for the Spanner Admin Instance.
239
+ #
240
+ # This class provides control over timeouts, retry behavior,
241
+ # query options, and other low-level controls.
242
+ #
243
+ # @!attribute [rw] endpoint
244
+ # The hostname or hostname:port of the service endpoint.
245
+ # Defaults to `"spanner.googleapis.com"`.
246
+ # @return [::String]
247
+ # @!attribute [rw] credentials
248
+ # Credentials to send with calls. You may provide any of the following types:
249
+ # * (`String`) The path to a service account key file in JSON format
250
+ # * (`Hash`) A service account key as a Hash
251
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
252
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
253
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
254
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
255
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
256
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
257
+ # * (`nil`) indicating no credentials
258
+ # @return [::Object]
259
+ # @!attribute [rw] scope
260
+ # The OAuth scopes
261
+ # @return [::Array<::String>]
262
+ # @!attribute [rw] lib_name
263
+ # The library name as recorded in instrumentation and logging
264
+ # @return [::String]
265
+ # @!attribute [rw] lib_version
266
+ # The library version as recorded in instrumentation and logging
267
+ # @return [::String]
268
+ # @!attribute [rw] interceptors
269
+ # An array of interceptors that are run before calls are executed.
270
+ # @return [::Array<::GRPC::ClientInterceptor>]
271
+ # @!attribute [rw] timeout
272
+ # The call timeout in seconds.
273
+ # @return [::Numeric]
274
+ # @!attribute [rw] metadata
275
+ # Additional gRPC headers to be sent with the call.
276
+ # @return [::Hash{::Symbol=>::String}]
277
+ # @!attribute [rw] retry_policy
278
+ # The retry policy. The value is a hash with the following keys:
279
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
280
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
281
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
282
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
283
+ # trigger a retry.
284
+ # @return [::Hash]
285
+ # @!attribute [rw] quota_project
286
+ # A separate project against which to charge quota.
287
+ # @return [::String]
288
+ #
289
+ class Configuration
290
+ extend ::Gapic::Config
291
+
292
+ config_attr :endpoint, "spanner.googleapis.com", ::String
293
+ config_attr :credentials, nil do |value|
294
+ allowed = [::String, ::Hash, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
295
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
296
+ allowed.any? { |klass| klass === value }
297
+ end
298
+ config_attr :project_id, nil, ::String, nil
299
+ config_attr :scope, nil, ::String, ::Array, nil
300
+ config_attr :lib_name, nil, ::String, nil
301
+ config_attr :lib_version, nil, ::String, nil
302
+ config_attr :interceptors, nil, ::Array, nil
303
+ config_attr :timeout, nil, ::Numeric, nil
304
+ config_attr :quota_project, nil, ::String, nil
305
+ config_attr :emulator_host, nil, ::String, nil
306
+ config_attr :query_options, nil, ::Hash, nil
307
+ config_attr :metadata, nil, ::Hash, nil
308
+ config_attr :retry_policy, nil, ::Hash, nil
309
+
310
+ # @private
311
+ def initialize parent_config = nil
312
+ @parent_config = parent_config unless parent_config.nil?
313
+
314
+ yield self if block_given?
315
+ end
316
+ end
317
+ end
318
+ end
319
+ end
320
+ end
321
+ end
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "delegate"
17
20
 
@@ -26,6 +29,10 @@ module Google
26
29
  # List is a special case Array with additional values for backup
27
30
  # operations.
28
31
  #
32
+ # @deprecated Use the result of
33
+ # {Google::Cloud::Spanner::Admin::Database#database_admin Client#list_backup_operations}
34
+ # instead.
35
+ #
29
36
  class List < DelegateClass(::Array)
30
37
  # @private
31
38
  # The gRPC Service object.
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "google/cloud/spanner/status"
17
20
  require "google/cloud/spanner/backup/job/list"
@@ -32,6 +35,10 @@ module Google
32
35
  # @see https://cloud.google.com/spanner/reference/rpc/google.longrunning#google.longrunning.Operation
33
36
  # Long-running Operation
34
37
  #
38
+ # @deprecated Use the long-running operation returned by
39
+ # {Google::Cloud::Spanner::Admin::Database#database_admin Client#create_backup}
40
+ # instead.
41
+ #
35
42
  # @example
36
43
  # require "google/cloud/spanner"
37
44
  #
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "delegate"
17
20
 
@@ -25,6 +28,10 @@ module Google
25
28
  # Google::Cloud::Spanner::Backup::List is a special case Array with
26
29
  # additional values.
27
30
  #
31
+ # @deprecated Use the result of
32
+ # {Google::Cloud::Spanner::Admin::Database#database_admin Client#list_backups}
33
+ # instead.
34
+ #
28
35
  class List < DelegateClass(::Array)
29
36
  # @private
30
37
  # The gRPC Service object.
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "google/cloud/spanner/status"
17
20
 
@@ -32,6 +35,10 @@ module Google
32
35
  # @see https://cloud.google.com/spanner/reference/rpc/google.longrunning#google.longrunning.Operation
33
36
  # Long-running Operation
34
37
  #
38
+ # @deprecated Use the long-running operation returned by
39
+ # {Google::Cloud::Spanner::Admin::Database#database_admin Client#restore_database}
40
+ # instead.
41
+ #
35
42
  # @example
36
43
  # require "google/cloud/spanner"
37
44
  #
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "google/cloud/spanner/backup/job"
17
20
  require "google/cloud/spanner/backup/list"
@@ -23,12 +26,23 @@ module Google
23
26
  ##
24
27
  # # Backup
25
28
  #
29
+ # NOTE: From `google-cloud-spanner/v2.11.0` onwards, new features for
30
+ # mananging backups will only be available through the
31
+ # [google-cloud-spanner-admin-database-v1](https://github.com/googleapis/google-cloud-ruby/tree/master/google-cloud-spanner-admin-database-v1)
32
+ # client. See the
33
+ # [README](https://github.com/googleapis/google-cloud-ruby/tree/master/google-cloud-spanner#google-cloud-spanner)
34
+ # for further details.
35
+ #
26
36
  # A backup is a representation of Cloud Spanner database backup.
27
37
  #
28
38
  # See {Google::Cloud::Spanner::Instance#backups},
29
39
  # {Google::Cloud::Spanner::Instance#backup}, and
30
40
  # {Google::Cloud::Spanner::Database#create_backup}.
31
41
  #
42
+ # @deprecated Use
43
+ # {Google::Cloud::Spanner::Admin::Database#database_admin}
44
+ # instead.
45
+ #
32
46
  # @example
33
47
  # require "google/cloud"
34
48
  #
@@ -12,11 +12,16 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  module Google
17
20
  module Cloud
18
21
  module Spanner
19
22
  class Database
23
+ # @deprecated Use
24
+ # {Google::Cloud::Spanner::Admin::Database::V1::BackupInfo} instead.
20
25
  class BackupInfo
21
26
  ##
22
27
  # @private Creates a new Database::BackupInfo instance.
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "delegate"
17
20
 
@@ -26,6 +29,10 @@ module Google
26
29
  # List is a special case Array with additional values for database
27
30
  # operations.
28
31
  #
32
+ # @deprecated Use the result of
33
+ # {Google::Cloud::Spanner::Admin::Database#database_admin Client#list_database_operations}
34
+ # instead.
35
+ #
29
36
  class List < DelegateClass(::Array)
30
37
  # @private
31
38
  # The gRPC Service object.
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "google/cloud/spanner/status"
17
20
  require "google/cloud/spanner/database/job/list"
@@ -32,6 +35,10 @@ module Google
32
35
  # @see https://cloud.google.com/spanner/reference/rpc/google.longrunning#google.longrunning.Operation
33
36
  # Long-running Operation
34
37
  #
38
+ # @deprecated Use the long-running operation returned by
39
+ # {Google::Cloud::Spanner::Admin::Database#database_admin Client#create_database}
40
+ # instead.
41
+ #
35
42
  # @example
36
43
  # require "google/cloud/spanner"
37
44
  #
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "delegate"
17
20
 
@@ -22,6 +25,10 @@ module Google
22
25
  ##
23
26
  # Database::List is a special case Array with additional
24
27
  # values.
28
+ #
29
+ # @deprecated Use the result of
30
+ # {Google::Cloud::Spanner::Admin::Database#database_admin Client#list_databases}
31
+ # instead.
25
32
  class List < DelegateClass(::Array)
26
33
  ##
27
34
  # If not empty, indicates that there are more records that match
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "google/cloud/spanner/database/backup_info"
17
20
 
@@ -19,6 +22,8 @@ module Google
19
22
  module Cloud
20
23
  module Spanner
21
24
  class Database
25
+ # @deprecated Use
26
+ # {Google::Cloud::Spanner::Admin::Database::V1::RestoreInfo} instead.
22
27
  class RestoreInfo
23
28
  ##
24
29
  # @private Creates a new Database::RestoreInfo instance.
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "google/cloud/spanner/database/job"
17
20
  require "google/cloud/spanner/database/list"
@@ -25,6 +28,13 @@ module Google
25
28
  ##
26
29
  # # Database
27
30
  #
31
+ # NOTE: From `google-cloud-spanner/v2.11.0` onwards, new features for
32
+ # mananging databases will only be available through the
33
+ # [google-cloud-spanner-admin-database-v1](https://github.com/googleapis/google-cloud-ruby/tree/master/google-cloud-spanner-admin-database-v1)
34
+ # client. See the
35
+ # [README](https://github.com/googleapis/google-cloud-ruby/tree/master/google-cloud-spanner#google-cloud-spanner)
36
+ # for further details.
37
+ #
28
38
  # Represents a Cloud Spanner database. To use Cloud Spanner's read and
29
39
  # write operations, you must first create a database. A database belongs
30
40
  # to a {Instance} and contains tables and indexes. You may create multiple
@@ -38,6 +48,9 @@ module Google
38
48
  # of {Google::Cloud::Spanner::Client}. See
39
49
  # {Google::Cloud::Spanner::Project#client}.
40
50
  #
51
+ # @deprecated Use
52
+ # {Google::Cloud::Spanner::Admin::Database#database_admin} instead.
53
+ #
41
54
  # @example
42
55
  # require "google/cloud"
43
56
  #
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "delegate"
17
20
 
@@ -23,6 +26,10 @@ module Google
23
26
  ##
24
27
  # Instance::Config::List is a special case Array with additional
25
28
  # values.
29
+ #
30
+ # @deprecated Use the result of
31
+ # {Google::Cloud::Spanner::Admin::Instance#instance_admin Client#list_instance_configs}
32
+ # instead.
26
33
  class List < DelegateClass(::Array)
27
34
  ##
28
35
  # If not empty, indicates that there are more records that match
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "google/cloud/spanner/instance/config/list"
17
20
 
@@ -29,6 +32,10 @@ module Google
29
32
  # See {Google::Cloud::Spanner::Project#instance_configs} and
30
33
  # {Google::Cloud::Spanner::Project#instance_config}.
31
34
  #
35
+ # @deprecated Use
36
+ # {Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig}
37
+ # instead.
38
+ #
32
39
  # @example
33
40
  # require "google/cloud/spanner"
34
41
  #
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "google/cloud/spanner/status"
17
20
 
@@ -31,6 +34,10 @@ module Google
31
34
  # @see https://cloud.google.com/spanner/reference/rpc/google.longrunning#google.longrunning.Operation
32
35
  # Long-running Operation
33
36
  #
37
+ # @deprecated Use the long-running operation returned by
38
+ # {Google::Cloud::Spanner::Admin::Instance#instance_admin Client#create_instance}
39
+ # instead.
40
+ #
34
41
  # @example
35
42
  # require "google/cloud/spanner"
36
43
  #
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # DO NOT EDIT: Unless you're fixing a P0/P1 and/or a security issue. This class
16
+ # is frozen to all new features from `google-cloud-spanner/v2.11.0` onwards.
17
+
15
18
 
16
19
  require "delegate"
17
20
 
@@ -22,6 +25,10 @@ module Google
22
25
  ##
23
26
  # Instance::List is a special case Array with additional
24
27
  # values.
28
+ #
29
+ # @deprecated Use the result of
30
+ # {Google::Cloud::Spanner::Admin::Instance#instance_admin Client#list_instances}
31
+ # instead.
25
32
  class List < DelegateClass(::Array)
26
33
  ##
27
34
  # If not empty, indicates that there are more records that match