google-shopping-merchant-quota-v1beta 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e92b39503be10db0b924fd96af39e60a058ac892db26cfe29a6cc1676aefc093
4
- data.tar.gz: fa8ce17f8e15bad134502fe752685d3d35188bdac6f0d4f9129e49ac6a31fa7c
3
+ metadata.gz: 199f1c83504c3155f652f54d055b1d3328973c3d70e7f4eae9756525eac77438
4
+ data.tar.gz: c595461ba5f3125337dc3d20539cf8ee3285eb03d8ef4cf2dc9d4687853791e2
5
5
  SHA512:
6
- metadata.gz: 53e417095783d465340d3af8918e467309d9e586f2788cd9b19e98378ad5ed8356db99475aea1eca123b3572d09037876a8004da72012c384e57ebc06834799b
7
- data.tar.gz: ff74d11520495db9fd6b5d7dac162a805ebb7c5ee7c4dbe714a0f6f6c482dfdbba06ab83ad4240e3ff12317c4195a476c8a5cdfb66c6fe83664094197ac6be4e
6
+ metadata.gz: 4ec7bd73b55d0d149108dc44a22d3cfc6b1f45d1712422f21b33a42b9a080e6cca6b228efccaab16a4bcb7a7c3b5e5c9c6c538032020e28e8b7f65cc4b68e730
7
+ data.tar.gz: 63093f8268232d8bc421d1655248467d2d44cde8c67120cab47bbe031c83ffebc45e06b77b3d8a58636334f14a2386eb41ec6b729e17cf700600d489c6df2c60
data/README.md CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  Programmatically manage your Merchant Center accounts.
4
4
 
5
- Programmatically manage your Merchant Center accounts.
6
5
 
7
6
  https://github.com/googleapis/google-cloud-ruby
8
7
 
@@ -43,33 +42,43 @@ for class and method documentation.
43
42
  See also the [Product Documentation](https://developers.google.com/merchant/api)
44
43
  for general usage information.
45
44
 
46
- ## Enabling Logging
47
-
48
- To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
- or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
51
- that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
- and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
53
-
54
- Configuring a Ruby stdlib logger:
45
+ ## Debug Logging
46
+
47
+ This library comes with opt-in Debug Logging that can help you troubleshoot
48
+ your application's integration with the API. When logging is activated, key
49
+ events such as requests and responses, along with data payloads and metadata
50
+ such as headers and client configuration, are logged to the standard error
51
+ stream.
52
+
53
+ **WARNING:** Client Library Debug Logging includes your data payloads in
54
+ plaintext, which could include sensitive data such as PII for yourself or your
55
+ customers, private keys, or other security data that could be compromising if
56
+ leaked. Always practice good data hygiene with your application logs, and follow
57
+ the principle of least access. Google also recommends that Client Library Debug
58
+ Logging be enabled only temporarily during active debugging, and not used
59
+ permanently in production.
60
+
61
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
62
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
63
+ list of client library gem names. This will select the default logging behavior,
64
+ which writes logs to the standard error stream. On a local workstation, this may
65
+ result in logs appearing on the console. When running on a Google Cloud hosting
66
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
67
+ results in logs appearing alongside your application logs in the
68
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
69
+
70
+ You can customize logging by modifying the `logger` configuration when
71
+ constructing a client object. For example:
55
72
 
56
73
  ```ruby
74
+ require "google/shopping/merchant/quota/v1beta"
57
75
  require "logger"
58
76
 
59
- module MyLogger
60
- LOGGER = Logger.new $stderr, level: Logger::WARN
61
- def logger
62
- LOGGER
63
- end
64
- end
65
-
66
- # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
67
- module GRPC
68
- extend MyLogger
77
+ client = ::Google::Shopping::Merchant::Quota::V1beta::QuotaService::Client.new do |config|
78
+ config.logger = Logger.new "my-app.log"
69
79
  end
70
80
  ```
71
81
 
72
-
73
82
  ## Google Cloud Samples
74
83
 
75
84
  To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
@@ -31,6 +31,9 @@ module Google
31
31
  # Service to get method call quota information per Merchant API method.
32
32
  #
33
33
  class Client
34
+ # @private
35
+ API_VERSION = ""
36
+
34
37
  # @private
35
38
  DEFAULT_ENDPOINT_TEMPLATE = "merchantapi.$UNIVERSE_DOMAIN$"
36
39
 
@@ -160,8 +163,28 @@ module Google
160
163
  universe_domain: @config.universe_domain,
161
164
  channel_args: @config.channel_args,
162
165
  interceptors: @config.interceptors,
163
- channel_pool_config: @config.channel_pool
166
+ channel_pool_config: @config.channel_pool,
167
+ logger: @config.logger
164
168
  )
169
+
170
+ @quota_service_stub.stub_logger&.info do |entry|
171
+ entry.set_system_name
172
+ entry.set_service
173
+ entry.message = "Created client for #{entry.service}"
174
+ entry.set_credentials_fields credentials
175
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
176
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
177
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
178
+ end
179
+ end
180
+
181
+ ##
182
+ # The logger used for request/response debug logging.
183
+ #
184
+ # @return [Logger]
185
+ #
186
+ def logger
187
+ @quota_service_stub.logger
165
188
  end
166
189
 
167
190
  # Service calls
@@ -233,10 +256,11 @@ module Google
233
256
  # Customize the options with defaults
234
257
  metadata = @config.rpcs.list_quota_groups.metadata.to_h
235
258
 
236
- # Set x-goog-api-client and x-goog-user-project headers
259
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
237
260
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
238
261
  lib_name: @config.lib_name, lib_version: @config.lib_version,
239
262
  gapic_version: ::Google::Shopping::Merchant::Quota::V1beta::VERSION
263
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
240
264
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
241
265
 
242
266
  header_params = {}
@@ -258,7 +282,7 @@ module Google
258
282
  @quota_service_stub.call_rpc :list_quota_groups, request, options: options do |response, operation|
259
283
  response = ::Gapic::PagedEnumerable.new @quota_service_stub, :list_quota_groups, request, response, operation, options
260
284
  yield response, operation if block_given?
261
- return response
285
+ throw :response, response
262
286
  end
263
287
  rescue ::GRPC::BadStatus => e
264
288
  raise ::Google::Cloud::Error.from_error(e)
@@ -347,6 +371,11 @@ module Google
347
371
  # default endpoint URL. The default value of nil uses the environment
348
372
  # universe (usually the default "googleapis.com" universe).
349
373
  # @return [::String,nil]
374
+ # @!attribute [rw] logger
375
+ # A custom logger to use for request/response debug logging, or the value
376
+ # `:default` (the default) to construct a default logger, or `nil` to
377
+ # explicitly disable logging.
378
+ # @return [::Logger,:default,nil]
350
379
  #
351
380
  class Configuration
352
381
  extend ::Gapic::Config
@@ -371,6 +400,7 @@ module Google
371
400
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
372
401
  config_attr :quota_project, nil, ::String, nil
373
402
  config_attr :universe_domain, nil, ::String, nil
403
+ config_attr :logger, :default, ::Logger, nil, :default
374
404
 
375
405
  # @private
376
406
  def initialize parent_config = nil
@@ -33,6 +33,9 @@ module Google
33
33
  # Service to get method call quota information per Merchant API method.
34
34
  #
35
35
  class Client
36
+ # @private
37
+ API_VERSION = ""
38
+
36
39
  # @private
37
40
  DEFAULT_ENDPOINT_TEMPLATE = "merchantapi.$UNIVERSE_DOMAIN$"
38
41
 
@@ -153,8 +156,28 @@ module Google
153
156
  endpoint: @config.endpoint,
154
157
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
155
158
  universe_domain: @config.universe_domain,
156
- credentials: credentials
159
+ credentials: credentials,
160
+ logger: @config.logger
157
161
  )
162
+
163
+ @quota_service_stub.logger(stub: true)&.info do |entry|
164
+ entry.set_system_name
165
+ entry.set_service
166
+ entry.message = "Created client for #{entry.service}"
167
+ entry.set_credentials_fields credentials
168
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
169
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
170
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
171
+ end
172
+ end
173
+
174
+ ##
175
+ # The logger used for request/response debug logging.
176
+ #
177
+ # @return [Logger]
178
+ #
179
+ def logger
180
+ @quota_service_stub.logger
158
181
  end
159
182
 
160
183
  # Service calls
@@ -225,12 +248,13 @@ module Google
225
248
  # Customize the options with defaults
226
249
  call_metadata = @config.rpcs.list_quota_groups.metadata.to_h
227
250
 
228
- # Set x-goog-api-client and x-goog-user-project headers
251
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
229
252
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
230
253
  lib_name: @config.lib_name, lib_version: @config.lib_version,
231
254
  gapic_version: ::Google::Shopping::Merchant::Quota::V1beta::VERSION,
232
255
  transports_version_send: [:rest]
233
256
 
257
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
234
258
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
235
259
 
236
260
  options.apply_defaults timeout: @config.rpcs.list_quota_groups.timeout,
@@ -244,7 +268,7 @@ module Google
244
268
  @quota_service_stub.list_quota_groups request, options do |result, operation|
245
269
  result = ::Gapic::Rest::PagedEnumerable.new @quota_service_stub, :list_quota_groups, "quota_groups", request, result, options
246
270
  yield result, operation if block_given?
247
- return result
271
+ throw :response, result
248
272
  end
249
273
  rescue ::Gapic::Rest::Error => e
250
274
  raise ::Google::Cloud::Error.from_error(e)
@@ -324,6 +348,11 @@ module Google
324
348
  # default endpoint URL. The default value of nil uses the environment
325
349
  # universe (usually the default "googleapis.com" universe).
326
350
  # @return [::String,nil]
351
+ # @!attribute [rw] logger
352
+ # A custom logger to use for request/response debug logging, or the value
353
+ # `:default` (the default) to construct a default logger, or `nil` to
354
+ # explicitly disable logging.
355
+ # @return [::Logger,:default,nil]
327
356
  #
328
357
  class Configuration
329
358
  extend ::Gapic::Config
@@ -345,6 +374,7 @@ module Google
345
374
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
346
375
  config_attr :quota_project, nil, ::String, nil
347
376
  config_attr :universe_domain, nil, ::String, nil
377
+ config_attr :logger, :default, ::Logger, nil, :default
348
378
 
349
379
  # @private
350
380
  def initialize parent_config = nil
@@ -31,7 +31,8 @@ module Google
31
31
  # including transcoding, making the REST call, and deserialing the response.
32
32
  #
33
33
  class ServiceStub
34
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
+ # @private
35
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
35
36
  # These require statements are intentionally placed here to initialize
36
37
  # the REST modules only when it's required.
37
38
  require "gapic/rest"
@@ -41,7 +42,9 @@ module Google
41
42
  universe_domain: universe_domain,
42
43
  credentials: credentials,
43
44
  numeric_enums: true,
44
- raise_faraday_errors: false
45
+ service_name: self.class,
46
+ raise_faraday_errors: false,
47
+ logger: logger
45
48
  end
46
49
 
47
50
  ##
@@ -62,6 +65,15 @@ module Google
62
65
  @client_stub.endpoint
63
66
  end
64
67
 
68
+ ##
69
+ # The logger used for request/response debug logging.
70
+ #
71
+ # @return [Logger]
72
+ #
73
+ def logger stub: false
74
+ stub ? @client_stub.stub_logger : @client_stub.logger
75
+ end
76
+
65
77
  ##
66
78
  # Baseline implementation for the list_quota_groups REST call
67
79
  #
@@ -88,16 +100,18 @@ module Google
88
100
 
89
101
  response = @client_stub.make_http_request(
90
102
  verb,
91
- uri: uri,
92
- body: body || "",
93
- params: query_string_params,
103
+ uri: uri,
104
+ body: body || "",
105
+ params: query_string_params,
106
+ method_name: "list_quota_groups",
94
107
  options: options
95
108
  )
96
109
  operation = ::Gapic::Rest::TransportOperation.new response
97
110
  result = ::Google::Shopping::Merchant::Quota::V1beta::ListQuotaGroupsResponse.decode_json response.body, ignore_unknown_fields: true
98
-
99
- yield result, operation if block_given?
100
- result
111
+ catch :response do
112
+ yield result, operation if block_given?
113
+ result
114
+ end
101
115
  end
102
116
 
103
117
  ##
@@ -22,7 +22,7 @@ module Google
22
22
  module Merchant
23
23
  module Quota
24
24
  module V1beta
25
- VERSION = "0.1.0"
25
+ VERSION = "0.2.0"
26
26
  end
27
27
  end
28
28
  end
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -196,9 +199,32 @@ module Google
196
199
  # @!attribute [rw] common
197
200
  # @return [::Google::Api::CommonLanguageSettings]
198
201
  # Some settings.
202
+ # @!attribute [rw] experimental_features
203
+ # @return [::Google::Api::PythonSettings::ExperimentalFeatures]
204
+ # Experimental features to be included during client library generation.
199
205
  class PythonSettings
200
206
  include ::Google::Protobuf::MessageExts
201
207
  extend ::Google::Protobuf::MessageExts::ClassMethods
208
+
209
+ # Experimental features to be included during client library generation.
210
+ # These fields will be deprecated once the feature graduates and is enabled
211
+ # by default.
212
+ # @!attribute [rw] rest_async_io_enabled
213
+ # @return [::Boolean]
214
+ # Enables generation of asynchronous REST clients if `rest` transport is
215
+ # enabled. By default, asynchronous REST clients will not be generated.
216
+ # This feature will be enabled by default 1 month after launching the
217
+ # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
224
+ class ExperimentalFeatures
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
202
228
  end
203
229
 
204
230
  # Settings for Node client libraries.
@@ -280,9 +306,28 @@ module Google
280
306
  # @!attribute [rw] common
281
307
  # @return [::Google::Api::CommonLanguageSettings]
282
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
283
319
  class GoSettings
284
320
  include ::Google::Protobuf::MessageExts
285
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
286
331
  end
287
332
 
288
333
  # Describes the generator configuration for a method.
@@ -290,6 +335,13 @@ module Google
290
335
  # @return [::String]
291
336
  # The fully qualified name of the method, for which the options below apply.
292
337
  # This is used to find the method to apply the options.
338
+ #
339
+ # Example:
340
+ #
341
+ # publishing:
342
+ # method_settings:
343
+ # - selector: google.storage.control.v2.StorageControl.CreateFolder
344
+ # # method settings for CreateFolder...
293
345
  # @!attribute [rw] long_running
294
346
  # @return [::Google::Api::MethodSettings::LongRunning]
295
347
  # Describes settings to use for long-running operations when generating
@@ -298,17 +350,14 @@ module Google
298
350
  #
299
351
  # Example of a YAML configuration::
300
352
  #
301
- # publishing:
302
- # method_settings:
353
+ # publishing:
354
+ # method_settings:
303
355
  # - selector: google.cloud.speech.v2.Speech.BatchRecognize
304
356
  # long_running:
305
- # initial_poll_delay:
306
- # seconds: 60 # 1 minute
357
+ # initial_poll_delay: 60s # 1 minute
307
358
  # poll_delay_multiplier: 1.5
308
- # max_poll_delay:
309
- # seconds: 360 # 6 minutes
310
- # total_poll_timeout:
311
- # seconds: 54000 # 90 minutes
359
+ # max_poll_delay: 360s # 6 minutes
360
+ # total_poll_timeout: 54000s # 90 minutes
312
361
  # @!attribute [rw] auto_populated_fields
313
362
  # @return [::Array<::String>]
314
363
  # List of top-level fields of the request message, that should be
@@ -317,8 +366,8 @@ module Google
317
366
  #
318
367
  # Example of a YAML configuration:
319
368
  #
320
- # publishing:
321
- # method_settings:
369
+ # publishing:
370
+ # method_settings:
322
371
  # - selector: google.example.v1.ExampleService.CreateExample
323
372
  # auto_populated_fields:
324
373
  # - request_id
@@ -354,6 +403,17 @@ module Google
354
403
  end
355
404
  end
356
405
 
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
357
417
  # The organization for which the client libraries are being published.
358
418
  # Affects the url where generated docs are published, etc.
359
419
  module ClientLibraryOrganization
@@ -124,8 +124,13 @@ module Google
124
124
  # @return [::String]
125
125
  # The plural name used in the resource name and permission names, such as
126
126
  # 'projects' for the resource name of 'projects/\\{project}' and the permission
127
- # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
128
- # concept of the `plural` field in k8s CRD spec
127
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception
128
+ # to this is for Nested Collections that have stuttering names, as defined
129
+ # in [AIP-122](https://google.aip.dev/122#nested-collections), where the
130
+ # collection ID in the resource name pattern does not necessarily directly
131
+ # match the `plural` value.
132
+ #
133
+ # It is the same concept of the `plural` field in k8s CRD spec
129
134
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
130
135
  #
131
136
  # Note: The plural form is required even for singleton resources. See
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-shopping-merchant-quota-v1beta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-19 00:00:00.000000000 Z
11
+ date: 2024-12-10 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.21.1
19
+ version: 0.24.0
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.21.1
29
+ version: 0.24.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  requirements: []
99
- rubygems_version: 3.5.6
99
+ rubygems_version: 3.5.23
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: Programmatically manage your Merchant Center accounts.