google-cloud-apigee_registry-v1 0.8.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd4dadc5242aa4d629fc14462bb25eb0f85b4faa22955bc5f0294c5c35b4075e
4
- data.tar.gz: 1f295266264b88893f154124b94bebd6f7b393f6168771ad27a1fbe212cefb95
3
+ metadata.gz: 936da877d4c51a6c648a39536112983ca02adf9d8e8dd06cb5677f9a4fe41d19
4
+ data.tar.gz: c29b938c491b1491c0fc237031ff0cbb7c5d244c79a7d79d06af5b13197ea453
5
5
  SHA512:
6
- metadata.gz: 046bdea5e62f87201c4e79b05676d28b1ec0cec3d6e5eaf477103aaec13a4d822ab79ef10c7b0514953641801dd383a2d63adcd9a92dd5f4f5795c0cd6d3550d
7
- data.tar.gz: 19413abaa5228c31f2ce149aaa906ad40ecbe3836e78a3f5cf0014c410fe11bc05e2b867de7c547601a10fa6d231ddc050794d3b2bf417d7daede6baacb452d9
6
+ metadata.gz: be9e76204b2e7b174994decc184617a374b3e0ab38f0224489f5eb203c37375879b7b4553c1864568c294d21c9c6114d5f86745ad00123d9f7f51a68c678b49c
7
+ data.tar.gz: 9447b70f0c01d8e76ee0fcbc7663b35b72ad7c8567e8a9d4bf3ac1b4e25bc001f655eb0a1bb99ae5cd0a11fc6b5af8ca49def28c0b05823d78b27e339773e5d4
data/README.md CHANGED
@@ -43,40 +43,50 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/apigee/docs/api-hub/get-started-registry-api/)
44
44
  for general usage information.
45
45
 
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:
46
+ ## Debug Logging
47
+
48
+ This library comes with opt-in Debug Logging that can help you troubleshoot
49
+ your application's integration with the API. When logging is activated, key
50
+ events such as requests and responses, along with data payloads and metadata
51
+ such as headers and client configuration, are logged to the standard error
52
+ stream.
53
+
54
+ **WARNING:** Client Library Debug Logging includes your data payloads in
55
+ plaintext, which could include sensitive data such as PII for yourself or your
56
+ customers, private keys, or other security data that could be compromising if
57
+ leaked. Always practice good data hygiene with your application logs, and follow
58
+ the principle of least access. Google also recommends that Client Library Debug
59
+ Logging be enabled only temporarily during active debugging, and not used
60
+ permanently in production.
61
+
62
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
63
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
64
+ list of client library gem names. This will select the default logging behavior,
65
+ which writes logs to the standard error stream. On a local workstation, this may
66
+ result in logs appearing on the console. When running on a Google Cloud hosting
67
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
68
+ results in logs appearing alongside your application logs in the
69
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
70
+
71
+ You can customize logging by modifying the `logger` configuration when
72
+ constructing a client object. For example:
55
73
 
56
74
  ```ruby
75
+ require "google/cloud/apigee_registry/v1"
57
76
  require "logger"
58
77
 
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
78
+ client = ::Google::Cloud::ApigeeRegistry::V1::Provisioning::Client.new do |config|
79
+ config.logger = Logger.new "my-app.log"
69
80
  end
70
81
  ```
71
82
 
72
-
73
83
  ## Google Cloud Samples
74
84
 
75
85
  To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
76
86
 
77
87
  ## Supported Ruby Versions
78
88
 
79
- This library is supported on Ruby 2.7+.
89
+ This library is supported on Ruby 3.0+.
80
90
 
81
91
  Google provides official support for Ruby versions that are actively supported
82
92
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -167,14 +167,26 @@ module Google
167
167
  universe_domain: @config.universe_domain,
168
168
  channel_args: @config.channel_args,
169
169
  interceptors: @config.interceptors,
170
- channel_pool_config: @config.channel_pool
170
+ channel_pool_config: @config.channel_pool,
171
+ logger: @config.logger
171
172
  )
172
173
 
174
+ @provisioning_stub.stub_logger&.info do |entry|
175
+ entry.set_system_name
176
+ entry.set_service
177
+ entry.message = "Created client for #{entry.service}"
178
+ entry.set_credentials_fields credentials
179
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
180
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
181
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
182
+ end
183
+
173
184
  @location_client = Google::Cloud::Location::Locations::Client.new do |config|
174
185
  config.credentials = credentials
175
186
  config.quota_project = @quota_project_id
176
187
  config.endpoint = @provisioning_stub.endpoint
177
188
  config.universe_domain = @provisioning_stub.universe_domain
189
+ config.logger = @provisioning_stub.logger if config.respond_to? :logger=
178
190
  end
179
191
 
180
192
  @iam_policy_client = Google::Iam::V1::IAMPolicy::Client.new do |config|
@@ -182,6 +194,7 @@ module Google
182
194
  config.quota_project = @quota_project_id
183
195
  config.endpoint = @provisioning_stub.endpoint
184
196
  config.universe_domain = @provisioning_stub.universe_domain
197
+ config.logger = @provisioning_stub.logger if config.respond_to? :logger=
185
198
  end
186
199
  end
187
200
 
@@ -206,6 +219,15 @@ module Google
206
219
  #
207
220
  attr_reader :iam_policy_client
208
221
 
222
+ ##
223
+ # The logger used for request/response debug logging.
224
+ #
225
+ # @return [Logger]
226
+ #
227
+ def logger
228
+ @provisioning_stub.logger
229
+ end
230
+
209
231
  # Service calls
210
232
 
211
233
  ##
@@ -301,7 +323,7 @@ module Google
301
323
  @provisioning_stub.call_rpc :create_instance, request, options: options do |response, operation|
302
324
  response = ::Gapic::Operation.new response, @operations_client, options: options
303
325
  yield response, operation if block_given?
304
- return response
326
+ throw :response, response
305
327
  end
306
328
  rescue ::GRPC::BadStatus => e
307
329
  raise ::Google::Cloud::Error.from_error(e)
@@ -396,7 +418,7 @@ module Google
396
418
  @provisioning_stub.call_rpc :delete_instance, request, options: options do |response, operation|
397
419
  response = ::Gapic::Operation.new response, @operations_client, options: options
398
420
  yield response, operation if block_given?
399
- return response
421
+ throw :response, response
400
422
  end
401
423
  rescue ::GRPC::BadStatus => e
402
424
  raise ::Google::Cloud::Error.from_error(e)
@@ -483,7 +505,6 @@ module Google
483
505
 
484
506
  @provisioning_stub.call_rpc :get_instance, request, options: options do |response, operation|
485
507
  yield response, operation if block_given?
486
- return response
487
508
  end
488
509
  rescue ::GRPC::BadStatus => e
489
510
  raise ::Google::Cloud::Error.from_error(e)
@@ -533,6 +554,13 @@ module Google
533
554
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
534
555
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
535
556
  # * (`nil`) indicating no credentials
557
+ #
558
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
559
+ # external source for authentication to Google Cloud, you must validate it before
560
+ # providing it to a Google API client library. Providing an unvalidated credential
561
+ # configuration to Google APIs can compromise the security of your systems and data.
562
+ # For more information, refer to [Validate credential configurations from external
563
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
536
564
  # @return [::Object]
537
565
  # @!attribute [rw] scope
538
566
  # The OAuth scopes
@@ -572,6 +600,11 @@ module Google
572
600
  # default endpoint URL. The default value of nil uses the environment
573
601
  # universe (usually the default "googleapis.com" universe).
574
602
  # @return [::String,nil]
603
+ # @!attribute [rw] logger
604
+ # A custom logger to use for request/response debug logging, or the value
605
+ # `:default` (the default) to construct a default logger, or `nil` to
606
+ # explicitly disable logging.
607
+ # @return [::Logger,:default,nil]
575
608
  #
576
609
  class Configuration
577
610
  extend ::Gapic::Config
@@ -596,6 +629,7 @@ module Google
596
629
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
597
630
  config_attr :quota_project, nil, ::String, nil
598
631
  config_attr :universe_domain, nil, ::String, nil
632
+ config_attr :logger, :default, ::Logger, nil, :default
599
633
 
600
634
  # @private
601
635
  def initialize parent_config = nil
@@ -124,14 +124,6 @@ module Google
124
124
  # Lists operations that match the specified filter in the request. If the
125
125
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
126
126
  #
127
- # NOTE: the `name` binding allows API services to override the binding
128
- # to use different resource name schemes, such as `users/*/operations`. To
129
- # override the binding, API services can add a binding such as
130
- # `"/v1/{name=users/*}/operations"` to their service configuration.
131
- # For backwards compatibility, the default name includes the operations
132
- # collection id, however overriding users must ensure the name binding
133
- # is the parent resource, without the operations collection id.
134
- #
135
127
  # @overload list_operations(request, options = nil)
136
128
  # Pass arguments to `list_operations` via a request object, either of type
137
129
  # {::Google::Longrunning::ListOperationsRequest} or an equivalent Hash.
@@ -221,7 +213,7 @@ module Google
221
213
  wrap_lro_operation = ->(op_response) { ::Gapic::Operation.new op_response, @operations_client }
222
214
  response = ::Gapic::PagedEnumerable.new @operations_stub, :list_operations, request, response, operation, options, format_resource: wrap_lro_operation
223
215
  yield response, operation if block_given?
224
- return response
216
+ throw :response, response
225
217
  end
226
218
  rescue ::GRPC::BadStatus => e
227
219
  raise ::Google::Cloud::Error.from_error(e)
@@ -317,7 +309,7 @@ module Google
317
309
  @operations_stub.call_rpc :get_operation, request, options: options do |response, operation|
318
310
  response = ::Gapic::Operation.new response, @operations_client, options: options
319
311
  yield response, operation if block_given?
320
- return response
312
+ throw :response, response
321
313
  end
322
314
  rescue ::GRPC::BadStatus => e
323
315
  raise ::Google::Cloud::Error.from_error(e)
@@ -406,7 +398,6 @@ module Google
406
398
 
407
399
  @operations_stub.call_rpc :delete_operation, request, options: options do |response, operation|
408
400
  yield response, operation if block_given?
409
- return response
410
401
  end
411
402
  rescue ::GRPC::BadStatus => e
412
403
  raise ::Google::Cloud::Error.from_error(e)
@@ -421,8 +412,9 @@ module Google
421
412
  # other methods to check whether the cancellation succeeded or whether the
422
413
  # operation completed despite cancellation. On successful cancellation,
423
414
  # the operation is not deleted; instead, it becomes an operation with
424
- # an {::Google::Longrunning::Operation#error Operation.error} value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
425
- # corresponding to `Code.CANCELLED`.
415
+ # an {::Google::Longrunning::Operation#error Operation.error} value with a
416
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of `1`, corresponding to
417
+ # `Code.CANCELLED`.
426
418
  #
427
419
  # @overload cancel_operation(request, options = nil)
428
420
  # Pass arguments to `cancel_operation` via a request object, either of type
@@ -501,7 +493,6 @@ module Google
501
493
 
502
494
  @operations_stub.call_rpc :cancel_operation, request, options: options do |response, operation|
503
495
  yield response, operation if block_given?
504
- return response
505
496
  end
506
497
  rescue ::GRPC::BadStatus => e
507
498
  raise ::Google::Cloud::Error.from_error(e)
@@ -599,7 +590,7 @@ module Google
599
590
  @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
600
591
  response = ::Gapic::Operation.new response, @operations_client, options: options
601
592
  yield response, operation if block_given?
602
- return response
593
+ throw :response, response
603
594
  end
604
595
  rescue ::GRPC::BadStatus => e
605
596
  raise ::Google::Cloud::Error.from_error(e)
@@ -649,6 +640,13 @@ module Google
649
640
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
650
641
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
651
642
  # * (`nil`) indicating no credentials
643
+ #
644
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
645
+ # external source for authentication to Google Cloud, you must validate it before
646
+ # providing it to a Google API client library. Providing an unvalidated credential
647
+ # configuration to Google APIs can compromise the security of your systems and data.
648
+ # For more information, refer to [Validate credential configurations from external
649
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
652
650
  # @return [::Object]
653
651
  # @!attribute [rw] scope
654
652
  # The OAuth scopes
@@ -688,6 +686,11 @@ module Google
688
686
  # default endpoint URL. The default value of nil uses the environment
689
687
  # universe (usually the default "googleapis.com" universe).
690
688
  # @return [::String,nil]
689
+ # @!attribute [rw] logger
690
+ # A custom logger to use for request/response debug logging, or the value
691
+ # `:default` (the default) to construct a default logger, or `nil` to
692
+ # explicitly disable logging.
693
+ # @return [::Logger,:default,nil]
691
694
  #
692
695
  class Configuration
693
696
  extend ::Gapic::Config
@@ -712,6 +715,7 @@ module Google
712
715
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
713
716
  config_attr :quota_project, nil, ::String, nil
714
717
  config_attr :universe_domain, nil, ::String, nil
718
+ config_attr :logger, :default, ::Logger, nil, :default
715
719
 
716
720
  # @private
717
721
  def initialize parent_config = nil
@@ -160,15 +160,27 @@ module Google
160
160
  endpoint: @config.endpoint,
161
161
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
162
162
  universe_domain: @config.universe_domain,
163
- credentials: credentials
163
+ credentials: credentials,
164
+ logger: @config.logger
164
165
  )
165
166
 
167
+ @provisioning_stub.logger(stub: true)&.info do |entry|
168
+ entry.set_system_name
169
+ entry.set_service
170
+ entry.message = "Created client for #{entry.service}"
171
+ entry.set_credentials_fields credentials
172
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
173
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
174
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
175
+ end
176
+
166
177
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
167
178
  config.credentials = credentials
168
179
  config.quota_project = @quota_project_id
169
180
  config.endpoint = @provisioning_stub.endpoint
170
181
  config.universe_domain = @provisioning_stub.universe_domain
171
182
  config.bindings_override = @config.bindings_override
183
+ config.logger = @provisioning_stub.logger if config.respond_to? :logger=
172
184
  end
173
185
 
174
186
  @iam_policy_client = Google::Iam::V1::IAMPolicy::Rest::Client.new do |config|
@@ -177,6 +189,7 @@ module Google
177
189
  config.endpoint = @provisioning_stub.endpoint
178
190
  config.universe_domain = @provisioning_stub.universe_domain
179
191
  config.bindings_override = @config.bindings_override
192
+ config.logger = @provisioning_stub.logger if config.respond_to? :logger=
180
193
  end
181
194
  end
182
195
 
@@ -201,6 +214,15 @@ module Google
201
214
  #
202
215
  attr_reader :iam_policy_client
203
216
 
217
+ ##
218
+ # The logger used for request/response debug logging.
219
+ #
220
+ # @return [Logger]
221
+ #
222
+ def logger
223
+ @provisioning_stub.logger
224
+ end
225
+
204
226
  # Service calls
205
227
 
206
228
  ##
@@ -289,7 +311,7 @@ module Google
289
311
  @provisioning_stub.create_instance request, options do |result, operation|
290
312
  result = ::Gapic::Operation.new result, @operations_client, options: options
291
313
  yield result, operation if block_given?
292
- return result
314
+ throw :response, result
293
315
  end
294
316
  rescue ::Gapic::Rest::Error => e
295
317
  raise ::Google::Cloud::Error.from_error(e)
@@ -377,7 +399,7 @@ module Google
377
399
  @provisioning_stub.delete_instance request, options do |result, operation|
378
400
  result = ::Gapic::Operation.new result, @operations_client, options: options
379
401
  yield result, operation if block_given?
380
- return result
402
+ throw :response, result
381
403
  end
382
404
  rescue ::Gapic::Rest::Error => e
383
405
  raise ::Google::Cloud::Error.from_error(e)
@@ -457,7 +479,6 @@ module Google
457
479
 
458
480
  @provisioning_stub.get_instance request, options do |result, operation|
459
481
  yield result, operation if block_given?
460
- return result
461
482
  end
462
483
  rescue ::Gapic::Rest::Error => e
463
484
  raise ::Google::Cloud::Error.from_error(e)
@@ -505,6 +526,13 @@ module Google
505
526
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
506
527
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
507
528
  # * (`nil`) indicating no credentials
529
+ #
530
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
531
+ # external source for authentication to Google Cloud, you must validate it before
532
+ # providing it to a Google API client library. Providing an unvalidated credential
533
+ # configuration to Google APIs can compromise the security of your systems and data.
534
+ # For more information, refer to [Validate credential configurations from external
535
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
508
536
  # @return [::Object]
509
537
  # @!attribute [rw] scope
510
538
  # The OAuth scopes
@@ -537,6 +565,11 @@ module Google
537
565
  # default endpoint URL. The default value of nil uses the environment
538
566
  # universe (usually the default "googleapis.com" universe).
539
567
  # @return [::String,nil]
568
+ # @!attribute [rw] logger
569
+ # A custom logger to use for request/response debug logging, or the value
570
+ # `:default` (the default) to construct a default logger, or `nil` to
571
+ # explicitly disable logging.
572
+ # @return [::Logger,:default,nil]
540
573
  #
541
574
  class Configuration
542
575
  extend ::Gapic::Config
@@ -565,6 +598,7 @@ module Google
565
598
  # by the host service.
566
599
  # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
567
600
  config_attr :bindings_override, {}, ::Hash, nil
601
+ config_attr :logger, :default, ::Logger, nil, :default
568
602
 
569
603
  # @private
570
604
  def initialize parent_config = nil
@@ -115,14 +115,6 @@ module Google
115
115
  # Lists operations that match the specified filter in the request. If the
116
116
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
117
117
  #
118
- # NOTE: the `name` binding allows API services to override the binding
119
- # to use different resource name schemes, such as `users/*/operations`. To
120
- # override the binding, API services can add a binding such as
121
- # `"/v1/{name=users/*}/operations"` to their service configuration.
122
- # For backwards compatibility, the default name includes the operations
123
- # collection id, however overriding users must ensure the name binding
124
- # is the parent resource, without the operations collection id.
125
- #
126
118
  # @overload list_operations(request, options = nil)
127
119
  # Pass arguments to `list_operations` via a request object, either of type
128
120
  # {::Google::Longrunning::ListOperationsRequest} or an equivalent Hash.
@@ -204,7 +196,7 @@ module Google
204
196
  @operations_stub.list_operations request, options do |result, operation|
205
197
  result = ::Gapic::Rest::PagedEnumerable.new @operations_stub, :list_operations, "operations", request, result, options
206
198
  yield result, operation if block_given?
207
- return result
199
+ throw :response, result
208
200
  end
209
201
  rescue ::Gapic::Rest::Error => e
210
202
  raise ::Google::Cloud::Error.from_error(e)
@@ -293,7 +285,7 @@ module Google
293
285
  @operations_stub.get_operation request, options do |result, operation|
294
286
  result = ::Gapic::Operation.new result, @operations_client, options: options
295
287
  yield result, operation if block_given?
296
- return result
288
+ throw :response, result
297
289
  end
298
290
  rescue ::Gapic::Rest::Error => e
299
291
  raise ::Google::Cloud::Error.from_error(e)
@@ -375,7 +367,6 @@ module Google
375
367
 
376
368
  @operations_stub.delete_operation request, options do |result, operation|
377
369
  yield result, operation if block_given?
378
- return result
379
370
  end
380
371
  rescue ::Gapic::Rest::Error => e
381
372
  raise ::Google::Cloud::Error.from_error(e)
@@ -390,8 +381,9 @@ module Google
390
381
  # other methods to check whether the cancellation succeeded or whether the
391
382
  # operation completed despite cancellation. On successful cancellation,
392
383
  # the operation is not deleted; instead, it becomes an operation with
393
- # an {::Google::Longrunning::Operation#error Operation.error} value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
394
- # corresponding to `Code.CANCELLED`.
384
+ # an {::Google::Longrunning::Operation#error Operation.error} value with a
385
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of `1`, corresponding to
386
+ # `Code.CANCELLED`.
395
387
  #
396
388
  # @overload cancel_operation(request, options = nil)
397
389
  # Pass arguments to `cancel_operation` via a request object, either of type
@@ -463,7 +455,6 @@ module Google
463
455
 
464
456
  @operations_stub.cancel_operation request, options do |result, operation|
465
457
  yield result, operation if block_given?
466
- return result
467
458
  end
468
459
  rescue ::Gapic::Rest::Error => e
469
460
  raise ::Google::Cloud::Error.from_error(e)
@@ -511,6 +502,13 @@ module Google
511
502
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
512
503
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
513
504
  # * (`nil`) indicating no credentials
505
+ #
506
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
507
+ # external source for authentication to Google Cloud, you must validate it before
508
+ # providing it to a Google API client library. Providing an unvalidated credential
509
+ # configuration to Google APIs can compromise the security of your systems and data.
510
+ # For more information, refer to [Validate credential configurations from external
511
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
514
512
  # @return [::Object]
515
513
  # @!attribute [rw] scope
516
514
  # The OAuth scopes
@@ -543,6 +541,11 @@ module Google
543
541
  # default endpoint URL. The default value of nil uses the environment
544
542
  # universe (usually the default "googleapis.com" universe).
545
543
  # @return [::String,nil]
544
+ # @!attribute [rw] logger
545
+ # A custom logger to use for request/response debug logging, or the value
546
+ # `:default` (the default) to construct a default logger, or `nil` to
547
+ # explicitly disable logging.
548
+ # @return [::Logger,:default,nil]
546
549
  #
547
550
  class Configuration
548
551
  extend ::Gapic::Config
@@ -564,6 +567,7 @@ module Google
564
567
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
565
568
  config_attr :quota_project, nil, ::String, nil
566
569
  config_attr :universe_domain, nil, ::String, nil
570
+ config_attr :logger, :default, ::Logger, nil, :default
567
571
 
568
572
  # @private
569
573
  def initialize parent_config = nil
@@ -683,16 +687,18 @@ module Google
683
687
 
684
688
  response = @client_stub.make_http_request(
685
689
  verb,
686
- uri: uri,
687
- body: body || "",
688
- params: query_string_params,
690
+ uri: uri,
691
+ body: body || "",
692
+ params: query_string_params,
693
+ method_name: "list_operations",
689
694
  options: options
690
695
  )
691
696
  operation = ::Gapic::Rest::TransportOperation.new response
692
697
  result = ::Google::Longrunning::ListOperationsResponse.decode_json response.body, ignore_unknown_fields: true
693
-
694
- yield result, operation if block_given?
695
- result
698
+ catch :response do
699
+ yield result, operation if block_given?
700
+ result
701
+ end
696
702
  end
697
703
 
698
704
  ##
@@ -721,16 +727,18 @@ module Google
721
727
 
722
728
  response = @client_stub.make_http_request(
723
729
  verb,
724
- uri: uri,
725
- body: body || "",
726
- params: query_string_params,
730
+ uri: uri,
731
+ body: body || "",
732
+ params: query_string_params,
733
+ method_name: "get_operation",
727
734
  options: options
728
735
  )
729
736
  operation = ::Gapic::Rest::TransportOperation.new response
730
737
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
731
-
732
- yield result, operation if block_given?
733
- result
738
+ catch :response do
739
+ yield result, operation if block_given?
740
+ result
741
+ end
734
742
  end
735
743
 
736
744
  ##
@@ -759,16 +767,18 @@ module Google
759
767
 
760
768
  response = @client_stub.make_http_request(
761
769
  verb,
762
- uri: uri,
763
- body: body || "",
764
- params: query_string_params,
770
+ uri: uri,
771
+ body: body || "",
772
+ params: query_string_params,
773
+ method_name: "delete_operation",
765
774
  options: options
766
775
  )
767
776
  operation = ::Gapic::Rest::TransportOperation.new response
768
777
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
769
-
770
- yield result, operation if block_given?
771
- result
778
+ catch :response do
779
+ yield result, operation if block_given?
780
+ result
781
+ end
772
782
  end
773
783
 
774
784
  ##
@@ -797,16 +807,18 @@ module Google
797
807
 
798
808
  response = @client_stub.make_http_request(
799
809
  verb,
800
- uri: uri,
801
- body: body || "",
802
- params: query_string_params,
810
+ uri: uri,
811
+ body: body || "",
812
+ params: query_string_params,
813
+ method_name: "cancel_operation",
803
814
  options: options
804
815
  )
805
816
  operation = ::Gapic::Rest::TransportOperation.new response
806
817
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
807
-
808
- yield result, operation if block_given?
809
- result
818
+ catch :response do
819
+ yield result, operation if block_given?
820
+ result
821
+ end
810
822
  end
811
823
 
812
824
  ##