google-cloud-location 0.2.0 → 0.3.beta.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0962f8206b145aa8889c014015dcf1051c400c8287c2ed7c42d6a348175cc858'
4
- data.tar.gz: b44971705b3afc1ff2873b562d1504b500bde4b8e0816b0f4558c661847335a1
3
+ metadata.gz: d91f01afc5e162fb6acf5fbed86b645f1703832e51dab92a65cf56585ad96791
4
+ data.tar.gz: 2ea953918c7f1d8429bb906cc705327ec82f1975ba99a5afa0efd1c2416ab87a
5
5
  SHA512:
6
- metadata.gz: 510c7182786ba700b46b8295c4aa9040e8b6b00e34aab17c37dc0f0a4c3c50a8593194395744a2e52e921f17086f289d38e8bffc9479a22e37aba975dff348ce
7
- data.tar.gz: e864db74c317e78bba110f3f5d536ce60a20c73d22d5beac4d787d28bd27c415d9e5e8ec1dd5413de493db35c83da97bc9414387f9675fcff762a098f5e2be5a
6
+ metadata.gz: 4bdcf798ec2fe4299a48fdfda05e073323c8f4ecdda9037e9f85383a1005e2f300cb5f6e7a1900c8a9215db9bd57ac12d7b69bd8f76a85107bc6032fce7ac659
7
+ data.tar.gz: bfa91aea618ca13c9cf930ca356f368f32542c99b131d38aee920d8adc1d253b8cb0c9a88c4cdf730866c26d6bde73237ab7db9b98606af5a3ef196501d795bb
data/AUTHENTICATION.md CHANGED
@@ -112,7 +112,7 @@ credentials are discovered.
112
112
  To configure your system for this, simply:
113
113
 
114
114
  1. [Download and install the Cloud SDK](https://cloud.google.com/sdk)
115
- 2. Authenticate using OAuth 2.0 `$ gcloud auth login`
115
+ 2. Authenticate using OAuth 2.0 `$ gcloud auth application-default login`
116
116
  3. Write code as if already authenticated.
117
117
 
118
118
  **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2021 Google LLC
3
+ # Copyright 2022 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -0,0 +1,426 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/errors"
20
+ require "google/cloud/location/locations_pb"
21
+ require "google/cloud/location/locations/rest/service_stub"
22
+
23
+ module Google
24
+ module Cloud
25
+ module Location
26
+ module Locations
27
+ module Rest
28
+ ##
29
+ # REST client for the Locations service.
30
+ #
31
+ # An abstract interface that provides location-related information for
32
+ # a service. Service-specific metadata is provided through the
33
+ # {::Google::Cloud::Location::Location#metadata Location.metadata} field.
34
+ #
35
+ class Client
36
+ # @private
37
+ attr_reader :locations_stub
38
+
39
+ ##
40
+ # Configure the Locations Client class.
41
+ #
42
+ # See {::Google::Cloud::Location::Locations::Rest::Client::Configuration}
43
+ # for a description of the configuration fields.
44
+ #
45
+ # @example
46
+ #
47
+ # # Modify the configuration for all Locations clients
48
+ # ::Google::Cloud::Location::Locations::Rest::Client.configure do |config|
49
+ # config.timeout = 10.0
50
+ # end
51
+ #
52
+ # @yield [config] Configure the Client client.
53
+ # @yieldparam config [Client::Configuration]
54
+ #
55
+ # @return [Client::Configuration]
56
+ #
57
+ def self.configure
58
+ @configure ||= begin
59
+ namespace = ["Google", "Cloud", "Location"]
60
+ parent_config = while namespace.any?
61
+ parent_name = namespace.join "::"
62
+ parent_const = const_get parent_name
63
+ break parent_const.configure if parent_const.respond_to? :configure
64
+ namespace.pop
65
+ end
66
+ default_config = Client::Configuration.new parent_config
67
+
68
+ default_config
69
+ end
70
+ yield @configure if block_given?
71
+ @configure
72
+ end
73
+
74
+ ##
75
+ # Configure the Locations Client instance.
76
+ #
77
+ # The configuration is set to the derived mode, meaning that values can be changed,
78
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
79
+ # should be made on {Client.configure}.
80
+ #
81
+ # See {::Google::Cloud::Location::Locations::Rest::Client::Configuration}
82
+ # for a description of the configuration fields.
83
+ #
84
+ # @yield [config] Configure the Client client.
85
+ # @yieldparam config [Client::Configuration]
86
+ #
87
+ # @return [Client::Configuration]
88
+ #
89
+ def configure
90
+ yield @config if block_given?
91
+ @config
92
+ end
93
+
94
+ ##
95
+ # Create a new Locations REST client object.
96
+ #
97
+ # @example
98
+ #
99
+ # # Create a client using the default configuration
100
+ # client = ::Google::Cloud::Location::Locations::Rest::Client.new
101
+ #
102
+ # # Create a client using a custom configuration
103
+ # client = ::Google::Cloud::Location::Locations::Rest::Client.new do |config|
104
+ # config.timeout = 10.0
105
+ # end
106
+ #
107
+ # @yield [config] Configure the Locations client.
108
+ # @yieldparam config [Client::Configuration]
109
+ #
110
+ def initialize
111
+ # Create the configuration object
112
+ @config = Configuration.new Client.configure
113
+
114
+ # Yield the configuration if needed
115
+ yield @config if block_given?
116
+
117
+ # Create credentials
118
+ credentials = @config.credentials
119
+ # Use self-signed JWT if the endpoint is unchanged from default,
120
+ # but only if the default endpoint does not have a region prefix.
121
+ enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
122
+ !@config.endpoint.split(".").first.include?("-")
123
+ credentials ||= Credentials.default scope: @config.scope,
124
+ enable_self_signed_jwt: enable_self_signed_jwt
125
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
126
+ credentials = Credentials.new credentials, scope: @config.scope
127
+ end
128
+
129
+ @quota_project_id = @config.quota_project
130
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
131
+
132
+ @locations_stub = ::Google::Cloud::Location::Locations::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
133
+ end
134
+
135
+ # Service calls
136
+
137
+ ##
138
+ # Lists information about the supported locations for this service.
139
+ #
140
+ # @overload list_locations(request, options = nil)
141
+ # Pass arguments to `list_locations` via a request object, either of type
142
+ # {::Google::Cloud::Location::ListLocationsRequest} or an equivalent Hash.
143
+ #
144
+ # @param request [::Google::Cloud::Location::ListLocationsRequest, ::Hash]
145
+ # A request object representing the call parameters. Required. To specify no
146
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
147
+ # @param options [::Gapic::CallOptions, ::Hash]
148
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
149
+ #
150
+ # @overload list_locations(name: nil, filter: nil, page_size: nil, page_token: nil)
151
+ # Pass arguments to `list_locations` via keyword arguments. Note that at
152
+ # least one keyword argument is required. To specify no parameters, or to keep all
153
+ # the default parameter values, pass an empty Hash as a request object (see above).
154
+ #
155
+ # @param name [::String]
156
+ # The resource that owns the locations collection, if applicable.
157
+ # @param filter [::String]
158
+ # The standard list filter.
159
+ # @param page_size [::Integer]
160
+ # The standard list page size.
161
+ # @param page_token [::String]
162
+ # The standard list page token.
163
+ # @yield [result, response] Access the result along with the Faraday response object
164
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Location::Location>]
165
+ # @yieldparam response [::Faraday::Response]
166
+ #
167
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Location::Location>]
168
+ #
169
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
170
+ def list_locations request, options = nil
171
+ raise ::ArgumentError, "request must be provided" if request.nil?
172
+
173
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Location::ListLocationsRequest
174
+
175
+ # Converts hash and nil to an options object
176
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
177
+
178
+ # Customize the options with defaults
179
+ call_metadata = @config.rpcs.list_locations.metadata.to_h
180
+
181
+ # Set x-goog-api-client and x-goog-user-project headers
182
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
183
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
184
+ gapic_version: ::Google::Cloud::Location::VERSION,
185
+ transports_version_send: [:rest]
186
+
187
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
188
+
189
+ options.apply_defaults timeout: @config.rpcs.list_locations.timeout,
190
+ metadata: call_metadata,
191
+ retry_policy: @config.rpcs.list_locations.retry_policy
192
+
193
+ options.apply_defaults timeout: @config.timeout,
194
+ metadata: @config.metadata,
195
+ retry_policy: @config.retry_policy
196
+
197
+ @locations_stub.list_locations request, options do |result, response|
198
+ result = ::Gapic::Rest::PagedEnumerable.new @locations_stub, :list_locations, "locations", request, result, options
199
+ yield result, response if block_given?
200
+ return result
201
+ end
202
+ rescue ::Faraday::Error => e
203
+ begin
204
+ raise ::Gapic::Rest::Error.wrap_faraday_error e
205
+ rescue ::Gapic::Rest::Error => gapic_error
206
+ raise ::Google::Cloud::Error.from_error gapic_error
207
+ end
208
+ end
209
+
210
+ ##
211
+ # Gets information about a location.
212
+ #
213
+ # @overload get_location(request, options = nil)
214
+ # Pass arguments to `get_location` via a request object, either of type
215
+ # {::Google::Cloud::Location::GetLocationRequest} or an equivalent Hash.
216
+ #
217
+ # @param request [::Google::Cloud::Location::GetLocationRequest, ::Hash]
218
+ # A request object representing the call parameters. Required. To specify no
219
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
220
+ # @param options [::Gapic::CallOptions, ::Hash]
221
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
222
+ #
223
+ # @overload get_location(name: nil)
224
+ # Pass arguments to `get_location` via keyword arguments. Note that at
225
+ # least one keyword argument is required. To specify no parameters, or to keep all
226
+ # the default parameter values, pass an empty Hash as a request object (see above).
227
+ #
228
+ # @param name [::String]
229
+ # Resource name for the location.
230
+ # @yield [result, response] Access the result along with the Faraday response object
231
+ # @yieldparam result [::Google::Cloud::Location::Location]
232
+ # @yieldparam response [::Faraday::Response]
233
+ #
234
+ # @return [::Google::Cloud::Location::Location]
235
+ #
236
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
237
+ def get_location request, options = nil
238
+ raise ::ArgumentError, "request must be provided" if request.nil?
239
+
240
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Location::GetLocationRequest
241
+
242
+ # Converts hash and nil to an options object
243
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
244
+
245
+ # Customize the options with defaults
246
+ call_metadata = @config.rpcs.get_location.metadata.to_h
247
+
248
+ # Set x-goog-api-client and x-goog-user-project headers
249
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
250
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
251
+ gapic_version: ::Google::Cloud::Location::VERSION,
252
+ transports_version_send: [:rest]
253
+
254
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
255
+
256
+ options.apply_defaults timeout: @config.rpcs.get_location.timeout,
257
+ metadata: call_metadata,
258
+ retry_policy: @config.rpcs.get_location.retry_policy
259
+
260
+ options.apply_defaults timeout: @config.timeout,
261
+ metadata: @config.metadata,
262
+ retry_policy: @config.retry_policy
263
+
264
+ @locations_stub.get_location request, options do |result, response|
265
+ yield result, response if block_given?
266
+ return result
267
+ end
268
+ rescue ::Faraday::Error => e
269
+ begin
270
+ raise ::Gapic::Rest::Error.wrap_faraday_error e
271
+ rescue ::Gapic::Rest::Error => gapic_error
272
+ raise ::Google::Cloud::Error.from_error gapic_error
273
+ end
274
+ end
275
+
276
+ ##
277
+ # Configuration class for the Locations REST API.
278
+ #
279
+ # This class represents the configuration for Locations REST,
280
+ # providing control over timeouts, retry behavior, logging, transport
281
+ # parameters, and other low-level controls. Certain parameters can also be
282
+ # applied individually to specific RPCs. See
283
+ # {::Google::Cloud::Location::Locations::Rest::Client::Configuration::Rpcs}
284
+ # for a list of RPCs that can be configured independently.
285
+ #
286
+ # Configuration can be applied globally to all clients, or to a single client
287
+ # on construction.
288
+ #
289
+ # @example
290
+ #
291
+ # # Modify the global config, setting the timeout for
292
+ # # list_locations to 20 seconds,
293
+ # # and all remaining timeouts to 10 seconds.
294
+ # ::Google::Cloud::Location::Locations::Rest::Client.configure do |config|
295
+ # config.timeout = 10.0
296
+ # config.rpcs.list_locations.timeout = 20.0
297
+ # end
298
+ #
299
+ # # Apply the above configuration only to a new client.
300
+ # client = ::Google::Cloud::Location::Locations::Rest::Client.new do |config|
301
+ # config.timeout = 10.0
302
+ # config.rpcs.list_locations.timeout = 20.0
303
+ # end
304
+ #
305
+ # @!attribute [rw] endpoint
306
+ # The hostname or hostname:port of the service endpoint.
307
+ # Defaults to `"cloud.googleapis.com"`.
308
+ # @return [::String]
309
+ # @!attribute [rw] credentials
310
+ # Credentials to send with calls. You may provide any of the following types:
311
+ # * (`String`) The path to a service account key file in JSON format
312
+ # * (`Hash`) A service account key as a Hash
313
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
314
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
315
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
316
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
317
+ # * (`nil`) indicating no credentials
318
+ # @return [::Object]
319
+ # @!attribute [rw] scope
320
+ # The OAuth scopes
321
+ # @return [::Array<::String>]
322
+ # @!attribute [rw] lib_name
323
+ # The library name as recorded in instrumentation and logging
324
+ # @return [::String]
325
+ # @!attribute [rw] lib_version
326
+ # The library version as recorded in instrumentation and logging
327
+ # @return [::String]
328
+ # @!attribute [rw] timeout
329
+ # The call timeout in seconds.
330
+ # @return [::Numeric]
331
+ # @!attribute [rw] metadata
332
+ # Additional headers to be sent with the call.
333
+ # @return [::Hash{::Symbol=>::String}]
334
+ # @!attribute [rw] retry_policy
335
+ # The retry policy. The value is a hash with the following keys:
336
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
337
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
338
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
339
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
340
+ # trigger a retry.
341
+ # @return [::Hash]
342
+ # @!attribute [rw] quota_project
343
+ # A separate project against which to charge quota.
344
+ # @return [::String]
345
+ #
346
+ class Configuration
347
+ extend ::Gapic::Config
348
+
349
+ config_attr :endpoint, "cloud.googleapis.com", ::String
350
+ config_attr :credentials, nil do |value|
351
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
352
+ allowed.any? { |klass| klass === value }
353
+ end
354
+ config_attr :scope, nil, ::String, ::Array, nil
355
+ config_attr :lib_name, nil, ::String, nil
356
+ config_attr :lib_version, nil, ::String, nil
357
+ config_attr :timeout, nil, ::Numeric, nil
358
+ config_attr :metadata, nil, ::Hash, nil
359
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
360
+ config_attr :quota_project, nil, ::String, nil
361
+
362
+ # @private
363
+ def initialize parent_config = nil
364
+ @parent_config = parent_config unless parent_config.nil?
365
+
366
+ yield self if block_given?
367
+ end
368
+
369
+ ##
370
+ # Configurations for individual RPCs
371
+ # @return [Rpcs]
372
+ #
373
+ def rpcs
374
+ @rpcs ||= begin
375
+ parent_rpcs = nil
376
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
377
+ Rpcs.new parent_rpcs
378
+ end
379
+ end
380
+
381
+ ##
382
+ # Configuration RPC class for the Locations API.
383
+ #
384
+ # Includes fields providing the configuration for each RPC in this service.
385
+ # Each configuration object is of type `Gapic::Config::Method` and includes
386
+ # the following configuration fields:
387
+ #
388
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
389
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional headers
390
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
391
+ # include the following keys:
392
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
393
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
394
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
395
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
396
+ # trigger a retry.
397
+ #
398
+ class Rpcs
399
+ ##
400
+ # RPC-specific configuration for `list_locations`
401
+ # @return [::Gapic::Config::Method]
402
+ #
403
+ attr_reader :list_locations
404
+ ##
405
+ # RPC-specific configuration for `get_location`
406
+ # @return [::Gapic::Config::Method]
407
+ #
408
+ attr_reader :get_location
409
+
410
+ # @private
411
+ def initialize parent_rpcs = nil
412
+ list_locations_config = parent_rpcs.list_locations if parent_rpcs.respond_to? :list_locations
413
+ @list_locations = ::Gapic::Config::Method.new list_locations_config
414
+ get_location_config = parent_rpcs.get_location if parent_rpcs.respond_to? :get_location
415
+ @get_location = ::Gapic::Config::Method.new get_location_config
416
+
417
+ yield self if block_given?
418
+ end
419
+ end
420
+ end
421
+ end
422
+ end
423
+ end
424
+ end
425
+ end
426
+ end
@@ -0,0 +1,174 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/location/locations_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Location
24
+ module Locations
25
+ module Rest
26
+ ##
27
+ # REST service stub for the Locations service.
28
+ # Service stub contains baseline method implementations
29
+ # including transcoding, making the REST call, and deserialing the response.
30
+ #
31
+ class ServiceStub
32
+ def initialize endpoint:, credentials:
33
+ # These require statements are intentionally placed here to initialize
34
+ # the REST modules only when it's required.
35
+ require "gapic/rest"
36
+
37
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials, numeric_enums: true
38
+ end
39
+
40
+ ##
41
+ # Baseline implementation for the list_locations REST call
42
+ #
43
+ # @param request_pb [::Google::Cloud::Location::ListLocationsRequest]
44
+ # A request object representing the call parameters. Required.
45
+ # @param options [::Gapic::CallOptions]
46
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
47
+ #
48
+ # @yield [result, response] Access the result along with the Faraday response object
49
+ # @yieldparam result [::Google::Cloud::Location::ListLocationsResponse]
50
+ # @yieldparam response [::Faraday::Response]
51
+ #
52
+ # @return [::Google::Cloud::Location::ListLocationsResponse]
53
+ # A result object deserialized from the server's reply
54
+ def list_locations request_pb, options = nil
55
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
56
+
57
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_locations_request request_pb
58
+ query_string_params = if query_string_params.any?
59
+ query_string_params.to_h { |p| p.split("=", 2) }
60
+ else
61
+ {}
62
+ end
63
+
64
+ response = @client_stub.make_http_request(
65
+ verb,
66
+ uri: uri,
67
+ body: body || "",
68
+ params: query_string_params,
69
+ options: options
70
+ )
71
+ result = ::Google::Cloud::Location::ListLocationsResponse.decode_json response.body, ignore_unknown_fields: true
72
+
73
+ yield result, response if block_given?
74
+ result
75
+ end
76
+
77
+ ##
78
+ # Baseline implementation for the get_location REST call
79
+ #
80
+ # @param request_pb [::Google::Cloud::Location::GetLocationRequest]
81
+ # A request object representing the call parameters. Required.
82
+ # @param options [::Gapic::CallOptions]
83
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
84
+ #
85
+ # @yield [result, response] Access the result along with the Faraday response object
86
+ # @yieldparam result [::Google::Cloud::Location::Location]
87
+ # @yieldparam response [::Faraday::Response]
88
+ #
89
+ # @return [::Google::Cloud::Location::Location]
90
+ # A result object deserialized from the server's reply
91
+ def get_location request_pb, options = nil
92
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
93
+
94
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_location_request request_pb
95
+ query_string_params = if query_string_params.any?
96
+ query_string_params.to_h { |p| p.split("=", 2) }
97
+ else
98
+ {}
99
+ end
100
+
101
+ response = @client_stub.make_http_request(
102
+ verb,
103
+ uri: uri,
104
+ body: body || "",
105
+ params: query_string_params,
106
+ options: options
107
+ )
108
+ result = ::Google::Cloud::Location::Location.decode_json response.body, ignore_unknown_fields: true
109
+
110
+ yield result, response if block_given?
111
+ result
112
+ end
113
+
114
+ ##
115
+ # @private
116
+ #
117
+ # GRPC transcoding helper method for the list_locations REST call
118
+ #
119
+ # @param request_pb [::Google::Cloud::Location::ListLocationsRequest]
120
+ # A request object representing the call parameters. Required.
121
+ # @return [Array(String, [String, nil], Hash{String => String})]
122
+ # Uri, Body, Query string parameters
123
+ def self.transcode_list_locations_request request_pb
124
+ transcoder = Gapic::Rest::GrpcTranscoder.new
125
+ .with_bindings(
126
+ uri_method: :get,
127
+ uri_template: "/v1/{name}",
128
+ matches: [
129
+ ["name", %r{^locations/?$}, false]
130
+ ]
131
+ )
132
+ .with_bindings(
133
+ uri_method: :get,
134
+ uri_template: "/v1/{name}/locations",
135
+ matches: [
136
+ ["name", %r{^projects/[^/]+/?$}, false]
137
+ ]
138
+ )
139
+ transcoder.transcode request_pb
140
+ end
141
+
142
+ ##
143
+ # @private
144
+ #
145
+ # GRPC transcoding helper method for the get_location REST call
146
+ #
147
+ # @param request_pb [::Google::Cloud::Location::GetLocationRequest]
148
+ # A request object representing the call parameters. Required.
149
+ # @return [Array(String, [String, nil], Hash{String => String})]
150
+ # Uri, Body, Query string parameters
151
+ def self.transcode_get_location_request request_pb
152
+ transcoder = Gapic::Rest::GrpcTranscoder.new
153
+ .with_bindings(
154
+ uri_method: :get,
155
+ uri_template: "/v1/{name}",
156
+ matches: [
157
+ ["name", %r{^locations/[^/]+/?$}, false]
158
+ ]
159
+ )
160
+ .with_bindings(
161
+ uri_method: :get,
162
+ uri_template: "/v1/{name}",
163
+ matches: [
164
+ ["name", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
165
+ ]
166
+ )
167
+ transcoder.transcode request_pb
168
+ end
169
+ end
170
+ end
171
+ end
172
+ end
173
+ end
174
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/location/version"
24
+
25
+ require "google/cloud/location/locations/credentials"
26
+ require "google/cloud/location/locations/rest/client"
27
+
28
+ module Google
29
+ module Cloud
30
+ module Location
31
+ ##
32
+ # An abstract interface that provides location-related information for
33
+ # a service. Service-specific metadata is provided through the
34
+ # {::Google::Cloud::Location::Location#metadata Location.metadata} field.
35
+ #
36
+ # To load this service and instantiate a REST client:
37
+ #
38
+ # require "google/cloud/location/locations/rest"
39
+ # client = ::Google::Cloud::Location::Locations::Rest::Client.new
40
+ #
41
+ module Locations
42
+ # Client for the REST transport
43
+ module Rest
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
51
+ require "google/cloud/location/locations/rest/helpers" if ::File.file? helper_path
@@ -24,6 +24,7 @@ require "google/cloud/location/version"
24
24
 
25
25
  require "google/cloud/location/locations/credentials"
26
26
  require "google/cloud/location/locations/client"
27
+ require "google/cloud/location/locations/rest"
27
28
 
28
29
  module Google
29
30
  module Cloud
@@ -33,11 +34,16 @@ module Google
33
34
  # a service. Service-specific metadata is provided through the
34
35
  # {::Google::Cloud::Location::Location#metadata Location.metadata} field.
35
36
  #
36
- # To load this service and instantiate a client:
37
+ # To load this service and instantiate a GRPC client:
37
38
  #
38
39
  # require "google/cloud/location/locations"
39
40
  # client = ::Google::Cloud::Location::Locations::Client.new
40
41
  #
42
+ # To load this service and instantiate a REST client:
43
+ #
44
+ # require "google/cloud/location/locations/rest"
45
+ # client = ::Google::Cloud::Location::Locations::Rest::Client.new
46
+ #
41
47
  module Locations
42
48
  end
43
49
  end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/location/locations/rest"
20
+ require "google/cloud/location/version"
21
+
22
+ module Google
23
+ module Cloud
24
+ ##
25
+ # To load just the REST part of this package, including all its services, and instantiate a REST client:
26
+ #
27
+ # @example
28
+ #
29
+ # require "google/cloud/location/rest"
30
+ # client = ::Google::Cloud::Location::Locations::Rest::Client.new
31
+ #
32
+ module Location
33
+ end
34
+ end
35
+ end
@@ -20,7 +20,7 @@
20
20
  module Google
21
21
  module Cloud
22
22
  module Location
23
- VERSION = "0.2.0"
23
+ VERSION = "0.3.beta.1"
24
24
  end
25
25
  end
26
26
  end
@@ -22,13 +22,20 @@ require "google/cloud/location/version"
22
22
  module Google
23
23
  module Cloud
24
24
  ##
25
- # To load this package, including all its services, and instantiate a client:
25
+ # To load this package, including all its services, and instantiate a GRPC client:
26
26
  #
27
27
  # @example
28
28
  #
29
29
  # require "google/cloud/location"
30
30
  # client = ::Google::Cloud::Location::Locations::Client.new
31
31
  #
32
+ # To load this package, including all its services, and instantiate a REST client:
33
+ #
34
+ # @example
35
+ #
36
+ # require "google/cloud/location"
37
+ # client = ::Google::Cloud::Location::Locations::Rest::Client.new
38
+ #
32
39
  module Location
33
40
  end
34
41
  end
@@ -0,0 +1,318 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to.
39
+ # @!attribute [rw] launch_stage
40
+ # @return [::Google::Api::LaunchStage]
41
+ # Launch stage of this version of the API.
42
+ # @!attribute [rw] rest_numeric_enums
43
+ # @return [::Boolean]
44
+ # When using transport=rest, the client request will encode enums as
45
+ # numbers rather than strings.
46
+ # @!attribute [rw] java_settings
47
+ # @return [::Google::Api::JavaSettings]
48
+ # Settings for legacy Java features, supported in the Service YAML.
49
+ # @!attribute [rw] cpp_settings
50
+ # @return [::Google::Api::CppSettings]
51
+ # Settings for C++ client libraries.
52
+ # @!attribute [rw] php_settings
53
+ # @return [::Google::Api::PhpSettings]
54
+ # Settings for PHP client libraries.
55
+ # @!attribute [rw] python_settings
56
+ # @return [::Google::Api::PythonSettings]
57
+ # Settings for Python client libraries.
58
+ # @!attribute [rw] node_settings
59
+ # @return [::Google::Api::NodeSettings]
60
+ # Settings for Node client libraries.
61
+ # @!attribute [rw] dotnet_settings
62
+ # @return [::Google::Api::DotnetSettings]
63
+ # Settings for .NET client libraries.
64
+ # @!attribute [rw] ruby_settings
65
+ # @return [::Google::Api::RubySettings]
66
+ # Settings for Ruby client libraries.
67
+ # @!attribute [rw] go_settings
68
+ # @return [::Google::Api::GoSettings]
69
+ # Settings for Go client libraries.
70
+ class ClientLibrarySettings
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+
75
+ # This message configures the settings for publishing [Google Cloud Client
76
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
77
+ # generated from the service config.
78
+ # @!attribute [rw] method_settings
79
+ # @return [::Array<::Google::Api::MethodSettings>]
80
+ # A list of API method settings, e.g. the behavior for methods that use the
81
+ # long-running operation pattern.
82
+ # @!attribute [rw] new_issue_uri
83
+ # @return [::String]
84
+ # Link to a place that API users can report issues. Example:
85
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
86
+ # @!attribute [rw] documentation_uri
87
+ # @return [::String]
88
+ # Link to product home page. Example:
89
+ # https://cloud.google.com/asset-inventory/docs/overview
90
+ # @!attribute [rw] api_short_name
91
+ # @return [::String]
92
+ # Used as a tracking tag when collecting data about the APIs developer
93
+ # relations artifacts like docs, packages delivered to package managers,
94
+ # etc. Example: "speech".
95
+ # @!attribute [rw] github_label
96
+ # @return [::String]
97
+ # GitHub label to apply to issues and pull requests opened for this API.
98
+ # @!attribute [rw] codeowner_github_teams
99
+ # @return [::Array<::String>]
100
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
101
+ # containing source code for the client libraries for this API.
102
+ # @!attribute [rw] doc_tag_prefix
103
+ # @return [::String]
104
+ # A prefix used in sample code when demarking regions to be included in
105
+ # documentation.
106
+ # @!attribute [rw] organization
107
+ # @return [::Google::Api::ClientLibraryOrganization]
108
+ # For whom the client library is being published.
109
+ # @!attribute [rw] library_settings
110
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
111
+ # Client library settings. If the same version string appears multiple
112
+ # times in this list, then the last one wins. Settings from earlier
113
+ # settings with the same version string are discarded.
114
+ class Publishing
115
+ include ::Google::Protobuf::MessageExts
116
+ extend ::Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # Settings for Java client libraries.
120
+ # @!attribute [rw] library_package
121
+ # @return [::String]
122
+ # The package name to use in Java. Clobbers the java_package option
123
+ # set in the protobuf. This should be used **only** by APIs
124
+ # who have already set the language_settings.java.package_name" field
125
+ # in gapic.yaml. API teams should use the protobuf java_package option
126
+ # where possible.
127
+ #
128
+ # Example of a YAML configuration::
129
+ #
130
+ # publishing:
131
+ # java_settings:
132
+ # library_package: com.google.cloud.pubsub.v1
133
+ # @!attribute [rw] service_class_names
134
+ # @return [::Google::Protobuf::Map{::String => ::String}]
135
+ # Configure the Java class name to use instead of the service's for its
136
+ # corresponding generated GAPIC client. Keys are fully-qualified
137
+ # service names as they appear in the protobuf (including the full
138
+ # the language_settings.java.interface_names" field in gapic.yaml. API
139
+ # teams should otherwise use the service name as it appears in the
140
+ # protobuf.
141
+ #
142
+ # Example of a YAML configuration::
143
+ #
144
+ # publishing:
145
+ # java_settings:
146
+ # service_class_names:
147
+ # - google.pubsub.v1.Publisher: TopicAdmin
148
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
149
+ # @!attribute [rw] common
150
+ # @return [::Google::Api::CommonLanguageSettings]
151
+ # Some settings.
152
+ class JavaSettings
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+
156
+ # @!attribute [rw] key
157
+ # @return [::String]
158
+ # @!attribute [rw] value
159
+ # @return [::String]
160
+ class ServiceClassNamesEntry
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
164
+ end
165
+
166
+ # Settings for C++ client libraries.
167
+ # @!attribute [rw] common
168
+ # @return [::Google::Api::CommonLanguageSettings]
169
+ # Some settings.
170
+ class CppSettings
171
+ include ::Google::Protobuf::MessageExts
172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
175
+ # Settings for Php client libraries.
176
+ # @!attribute [rw] common
177
+ # @return [::Google::Api::CommonLanguageSettings]
178
+ # Some settings.
179
+ class PhpSettings
180
+ include ::Google::Protobuf::MessageExts
181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
182
+ end
183
+
184
+ # Settings for Python client libraries.
185
+ # @!attribute [rw] common
186
+ # @return [::Google::Api::CommonLanguageSettings]
187
+ # Some settings.
188
+ class PythonSettings
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+ end
192
+
193
+ # Settings for Node client libraries.
194
+ # @!attribute [rw] common
195
+ # @return [::Google::Api::CommonLanguageSettings]
196
+ # Some settings.
197
+ class NodeSettings
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+ end
201
+
202
+ # Settings for Dotnet client libraries.
203
+ # @!attribute [rw] common
204
+ # @return [::Google::Api::CommonLanguageSettings]
205
+ # Some settings.
206
+ class DotnetSettings
207
+ include ::Google::Protobuf::MessageExts
208
+ extend ::Google::Protobuf::MessageExts::ClassMethods
209
+ end
210
+
211
+ # Settings for Ruby client libraries.
212
+ # @!attribute [rw] common
213
+ # @return [::Google::Api::CommonLanguageSettings]
214
+ # Some settings.
215
+ class RubySettings
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # Settings for Go client libraries.
221
+ # @!attribute [rw] common
222
+ # @return [::Google::Api::CommonLanguageSettings]
223
+ # Some settings.
224
+ class GoSettings
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+
229
+ # Describes the generator configuration for a method.
230
+ # @!attribute [rw] selector
231
+ # @return [::String]
232
+ # The fully qualified name of the method, for which the options below apply.
233
+ # This is used to find the method to apply the options.
234
+ # @!attribute [rw] long_running
235
+ # @return [::Google::Api::MethodSettings::LongRunning]
236
+ # Describes settings to use for long-running operations when generating
237
+ # API methods for RPCs. Complements RPCs that use the annotations in
238
+ # google/longrunning/operations.proto.
239
+ #
240
+ # Example of a YAML configuration::
241
+ #
242
+ # publishing:
243
+ # method_behavior:
244
+ # - selector: CreateAdDomain
245
+ # long_running:
246
+ # initial_poll_delay:
247
+ # seconds: 60 # 1 minute
248
+ # poll_delay_multiplier: 1.5
249
+ # max_poll_delay:
250
+ # seconds: 360 # 6 minutes
251
+ # total_poll_timeout:
252
+ # seconds: 54000 # 90 minutes
253
+ class MethodSettings
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # Describes settings to use when generating API methods that use the
258
+ # long-running operation pattern.
259
+ # All default values below are from those used in the client library
260
+ # generators (e.g.
261
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
262
+ # @!attribute [rw] initial_poll_delay
263
+ # @return [::Google::Protobuf::Duration]
264
+ # Initial delay after which the first poll request will be made.
265
+ # Default value: 5 seconds.
266
+ # @!attribute [rw] poll_delay_multiplier
267
+ # @return [::Float]
268
+ # Multiplier to gradually increase delay between subsequent polls until it
269
+ # reaches max_poll_delay.
270
+ # Default value: 1.5.
271
+ # @!attribute [rw] max_poll_delay
272
+ # @return [::Google::Protobuf::Duration]
273
+ # Maximum time between two subsequent poll requests.
274
+ # Default value: 45 seconds.
275
+ # @!attribute [rw] total_poll_timeout
276
+ # @return [::Google::Protobuf::Duration]
277
+ # Total polling timeout.
278
+ # Default value: 5 minutes.
279
+ class LongRunning
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+ end
283
+ end
284
+
285
+ # The organization for which the client libraries are being published.
286
+ # Affects the url where generated docs are published, etc.
287
+ module ClientLibraryOrganization
288
+ # Not useful.
289
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
290
+
291
+ # Google Cloud Platform Org.
292
+ CLOUD = 1
293
+
294
+ # Ads (Advertising) Org.
295
+ ADS = 2
296
+
297
+ # Photos Org.
298
+ PHOTOS = 3
299
+
300
+ # Street View Org.
301
+ STREET_VIEW = 4
302
+ end
303
+
304
+ # To where should client libraries be published?
305
+ module ClientLibraryDestination
306
+ # Client libraries will neither be generated nor published to package
307
+ # managers.
308
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
309
+
310
+ # Generate the client library in a repo under github.com/googleapis,
311
+ # but don't publish it to package managers.
312
+ GITHUB = 10
313
+
314
+ # Publish the library to package managers like nuget.org and npmjs.com.
315
+ PACKAGE_MANAGER = 20
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # The launch stage as defined by [Google Cloud Platform
23
+ # Launch Stages](https://cloud.google.com/terms/launch-stages).
24
+ module LaunchStage
25
+ # Do not use this default value.
26
+ LAUNCH_STAGE_UNSPECIFIED = 0
27
+
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
34
+ # Early Access features are limited to a closed group of testers. To use
35
+ # these features, you must sign up in advance and sign a Trusted Tester
36
+ # agreement (which includes confidentiality provisions). These features may
37
+ # be unstable, changed in backward-incompatible ways, and are not
38
+ # guaranteed to be released.
39
+ EARLY_ACCESS = 1
40
+
41
+ # Alpha is a limited availability test for releases before they are cleared
42
+ # for widespread use. By Alpha, all significant design issues are resolved
43
+ # and we are in the process of verifying functionality. Alpha customers
44
+ # need to apply for access, agree to applicable terms, and have their
45
+ # projects allowlisted. Alpha releases don't have to be feature complete,
46
+ # no SLAs are provided, and there are no technical support obligations, but
47
+ # they will be far enough along that customers can actually use them in
48
+ # test environments or for limited-use tests -- just like they would in
49
+ # normal production cases.
50
+ ALPHA = 2
51
+
52
+ # Beta is the point at which we are ready to open a release for any
53
+ # customer to use. There are no SLA or technical support obligations in a
54
+ # Beta release. Products will be complete from a feature perspective, but
55
+ # may have some open outstanding issues. Beta releases are suitable for
56
+ # limited production use cases.
57
+ BETA = 3
58
+
59
+ # GA features are open to all developers and are considered stable and
60
+ # fully qualified for production use.
61
+ GA = 4
62
+
63
+ # Deprecated features are scheduled to be shut down and removed. For more
64
+ # information, see the "Deprecation Policy" section of our [Terms of
65
+ # Service](https://cloud.google.com/terms/)
66
+ # and the [Google Cloud Platform Subject to the Deprecation
67
+ # Policy](https://cloud.google.com/terms/deprecation) documentation.
68
+ DEPRECATED = 5
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # A Duration represents a signed, fixed-length span of time represented
23
+ # as a count of seconds and fractions of seconds at nanosecond
24
+ # resolution. It is independent of any calendar and concepts like "day"
25
+ # or "month". It is related to Timestamp in that the difference between
26
+ # two Timestamp values is a Duration and it can be added or subtracted
27
+ # from a Timestamp. Range is approximately +-10,000 years.
28
+ #
29
+ # # Examples
30
+ #
31
+ # Example 1: Compute Duration from two Timestamps in pseudo code.
32
+ #
33
+ # Timestamp start = ...;
34
+ # Timestamp end = ...;
35
+ # Duration duration = ...;
36
+ #
37
+ # duration.seconds = end.seconds - start.seconds;
38
+ # duration.nanos = end.nanos - start.nanos;
39
+ #
40
+ # if (duration.seconds < 0 && duration.nanos > 0) {
41
+ # duration.seconds += 1;
42
+ # duration.nanos -= 1000000000;
43
+ # } else if (duration.seconds > 0 && duration.nanos < 0) {
44
+ # duration.seconds -= 1;
45
+ # duration.nanos += 1000000000;
46
+ # }
47
+ #
48
+ # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
49
+ #
50
+ # Timestamp start = ...;
51
+ # Duration duration = ...;
52
+ # Timestamp end = ...;
53
+ #
54
+ # end.seconds = start.seconds + duration.seconds;
55
+ # end.nanos = start.nanos + duration.nanos;
56
+ #
57
+ # if (end.nanos < 0) {
58
+ # end.seconds -= 1;
59
+ # end.nanos += 1000000000;
60
+ # } else if (end.nanos >= 1000000000) {
61
+ # end.seconds += 1;
62
+ # end.nanos -= 1000000000;
63
+ # }
64
+ #
65
+ # Example 3: Compute Duration from datetime.timedelta in Python.
66
+ #
67
+ # td = datetime.timedelta(days=3, minutes=10)
68
+ # duration = Duration()
69
+ # duration.FromTimedelta(td)
70
+ #
71
+ # # JSON Mapping
72
+ #
73
+ # In JSON format, the Duration type is encoded as a string rather than an
74
+ # object, where the string ends in the suffix "s" (indicating seconds) and
75
+ # is preceded by the number of seconds, with nanoseconds expressed as
76
+ # fractional seconds. For example, 3 seconds with 0 nanoseconds should be
77
+ # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
78
+ # be expressed in JSON format as "3.000000001s", and 3 seconds and 1
79
+ # microsecond should be expressed in JSON format as "3.000001s".
80
+ # @!attribute [rw] seconds
81
+ # @return [::Integer]
82
+ # Signed seconds of the span of time. Must be from -315,576,000,000
83
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
84
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
85
+ # @!attribute [rw] nanos
86
+ # @return [::Integer]
87
+ # Signed fractions of a second at nanosecond resolution of the span
88
+ # of time. Durations less than one second are represented with a 0
89
+ # `seconds` field and a positive or negative `nanos` field. For durations
90
+ # of one second or more, a non-zero value for the `nanos` field must be
91
+ # of the same sign as the `seconds` field. Must be from -999,999,999
92
+ # to +999,999,999 inclusive.
93
+ class Duration
94
+ include ::Google::Protobuf::MessageExts
95
+ extend ::Google::Protobuf::MessageExts::ClassMethods
96
+ end
97
+ end
98
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-location
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-04 00:00:00.000000000 Z
11
+ date: 2022-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.10'
19
+ version: '0.12'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '0.10'
29
+ version: '0.12'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -172,18 +172,25 @@ files:
172
172
  - lib/google/cloud/location/locations.rb
173
173
  - lib/google/cloud/location/locations/client.rb
174
174
  - lib/google/cloud/location/locations/credentials.rb
175
+ - lib/google/cloud/location/locations/rest.rb
176
+ - lib/google/cloud/location/locations/rest/client.rb
177
+ - lib/google/cloud/location/locations/rest/service_stub.rb
175
178
  - lib/google/cloud/location/locations_pb.rb
176
179
  - lib/google/cloud/location/locations_services_pb.rb
180
+ - lib/google/cloud/location/rest.rb
177
181
  - lib/google/cloud/location/version.rb
178
182
  - proto_docs/README.md
183
+ - proto_docs/google/api/client.rb
184
+ - proto_docs/google/api/launch_stage.rb
179
185
  - proto_docs/google/api/resource.rb
180
186
  - proto_docs/google/cloud/location/locations.rb
181
187
  - proto_docs/google/protobuf/any.rb
188
+ - proto_docs/google/protobuf/duration.rb
182
189
  homepage: https://github.com/googleapis/google-cloud-ruby
183
190
  licenses:
184
191
  - Apache-2.0
185
192
  metadata: {}
186
- post_install_message:
193
+ post_install_message:
187
194
  rdoc_options: []
188
195
  require_paths:
189
196
  - lib
@@ -194,12 +201,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
194
201
  version: '2.6'
195
202
  required_rubygems_version: !ruby/object:Gem::Requirement
196
203
  requirements:
197
- - - ">="
204
+ - - ">"
198
205
  - !ruby/object:Gem::Version
199
- version: '0'
206
+ version: 1.3.1
200
207
  requirements: []
201
- rubygems_version: 3.3.14
202
- signing_key:
208
+ rubygems_version: 3.3.7
209
+ signing_key:
203
210
  specification_version: 4
204
211
  summary: API Client library for the Locations API
205
212
  test_files: []