google-cloud-discovery_engine-v1 1.3.0 → 1.5.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.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +31 -21
  3. data/lib/google/cloud/discovery_engine/v1/completion_service/client.rb +49 -6
  4. data/lib/google/cloud/discovery_engine/v1/completion_service/operations.rb +19 -15
  5. data/lib/google/cloud/discovery_engine/v1/completion_service/rest/client.rb +49 -6
  6. data/lib/google/cloud/discovery_engine/v1/completion_service/rest/operations.rb +50 -38
  7. data/lib/google/cloud/discovery_engine/v1/completion_service/rest/service_stub.rb +54 -32
  8. data/lib/google/cloud/discovery_engine/v1/control_service/client.rb +36 -6
  9. data/lib/google/cloud/discovery_engine/v1/control_service/rest/client.rb +36 -6
  10. data/lib/google/cloud/discovery_engine/v1/control_service/rest/service_stub.rb +54 -32
  11. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/client.rb +37 -14
  12. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/rest/client.rb +37 -14
  13. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/rest/service_stub.rb +118 -80
  14. data/lib/google/cloud/discovery_engine/v1/data_store_service/client.rb +38 -6
  15. data/lib/google/cloud/discovery_engine/v1/data_store_service/operations.rb +19 -15
  16. data/lib/google/cloud/discovery_engine/v1/data_store_service/rest/client.rb +38 -6
  17. data/lib/google/cloud/discovery_engine/v1/data_store_service/rest/operations.rb +50 -38
  18. data/lib/google/cloud/discovery_engine/v1/data_store_service/rest/service_stub.rb +54 -32
  19. data/lib/google/cloud/discovery_engine/v1/document_service/client.rb +60 -9
  20. data/lib/google/cloud/discovery_engine/v1/document_service/operations.rb +19 -15
  21. data/lib/google/cloud/discovery_engine/v1/document_service/rest/client.rb +60 -9
  22. data/lib/google/cloud/discovery_engine/v1/document_service/rest/operations.rb +50 -38
  23. data/lib/google/cloud/discovery_engine/v1/document_service/rest/service_stub.rb +78 -50
  24. data/lib/google/cloud/discovery_engine/v1/engine_service/client.rb +38 -6
  25. data/lib/google/cloud/discovery_engine/v1/engine_service/operations.rb +19 -15
  26. data/lib/google/cloud/discovery_engine/v1/engine_service/rest/client.rb +38 -6
  27. data/lib/google/cloud/discovery_engine/v1/engine_service/rest/operations.rb +50 -38
  28. data/lib/google/cloud/discovery_engine/v1/engine_service/rest/service_stub.rb +54 -32
  29. data/lib/google/cloud/discovery_engine/v1/grounded_generation_service/client.rb +35 -4
  30. data/lib/google/cloud/discovery_engine/v1/grounded_generation_service/rest/client.rb +35 -3
  31. data/lib/google/cloud/discovery_engine/v1/grounded_generation_service/rest/service_stub.rb +30 -14
  32. data/lib/google/cloud/discovery_engine/v1/project_service/client.rb +36 -2
  33. data/lib/google/cloud/discovery_engine/v1/project_service/operations.rb +19 -15
  34. data/lib/google/cloud/discovery_engine/v1/project_service/rest/client.rb +36 -2
  35. data/lib/google/cloud/discovery_engine/v1/project_service/rest/operations.rb +50 -38
  36. data/lib/google/cloud/discovery_engine/v1/project_service/rest/service_stub.rb +22 -8
  37. data/lib/google/cloud/discovery_engine/v1/rank_service/client.rb +35 -2
  38. data/lib/google/cloud/discovery_engine/v1/rank_service/rest/client.rb +35 -2
  39. data/lib/google/cloud/discovery_engine/v1/rank_service/rest/service_stub.rb +22 -8
  40. data/lib/google/cloud/discovery_engine/v1/recommendation_service/client.rb +35 -2
  41. data/lib/google/cloud/discovery_engine/v1/recommendation_service/rest/client.rb +35 -2
  42. data/lib/google/cloud/discovery_engine/v1/recommendation_service/rest/service_stub.rb +22 -8
  43. data/lib/google/cloud/discovery_engine/v1/schema_service/client.rb +39 -6
  44. data/lib/google/cloud/discovery_engine/v1/schema_service/operations.rb +19 -15
  45. data/lib/google/cloud/discovery_engine/v1/schema_service/rest/client.rb +39 -6
  46. data/lib/google/cloud/discovery_engine/v1/schema_service/rest/operations.rb +50 -38
  47. data/lib/google/cloud/discovery_engine/v1/schema_service/rest/service_stub.rb +54 -32
  48. data/lib/google/cloud/discovery_engine/v1/search_service/client.rb +37 -3
  49. data/lib/google/cloud/discovery_engine/v1/search_service/rest/client.rb +35 -3
  50. data/lib/google/cloud/discovery_engine/v1/search_service/rest/service_stub.rb +30 -14
  51. data/lib/google/cloud/discovery_engine/v1/search_tuning_service/client.rb +36 -3
  52. data/lib/google/cloud/discovery_engine/v1/search_tuning_service/operations.rb +19 -15
  53. data/lib/google/cloud/discovery_engine/v1/search_tuning_service/rest/client.rb +36 -3
  54. data/lib/google/cloud/discovery_engine/v1/search_tuning_service/rest/operations.rb +50 -38
  55. data/lib/google/cloud/discovery_engine/v1/search_tuning_service/rest/service_stub.rb +30 -14
  56. data/lib/google/cloud/discovery_engine/v1/site_search_engine_service/client.rb +45 -13
  57. data/lib/google/cloud/discovery_engine/v1/site_search_engine_service/operations.rb +19 -15
  58. data/lib/google/cloud/discovery_engine/v1/site_search_engine_service/rest/client.rb +45 -13
  59. data/lib/google/cloud/discovery_engine/v1/site_search_engine_service/rest/operations.rb +50 -38
  60. data/lib/google/cloud/discovery_engine/v1/site_search_engine_service/rest/service_stub.rb +110 -74
  61. data/lib/google/cloud/discovery_engine/v1/user_event_service/client.rb +43 -5
  62. data/lib/google/cloud/discovery_engine/v1/user_event_service/operations.rb +19 -15
  63. data/lib/google/cloud/discovery_engine/v1/user_event_service/rest/client.rb +43 -5
  64. data/lib/google/cloud/discovery_engine/v1/user_event_service/rest/operations.rb +50 -38
  65. data/lib/google/cloud/discovery_engine/v1/user_event_service/rest/service_stub.rb +46 -26
  66. data/lib/google/cloud/discovery_engine/v1/version.rb +1 -1
  67. data/proto_docs/google/api/client.rb +25 -0
  68. data/proto_docs/google/cloud/discoveryengine/v1/answer.rb +6 -0
  69. data/proto_docs/google/cloud/discoveryengine/v1/common.rb +8 -0
  70. data/proto_docs/google/cloud/discoveryengine/v1/completion.rb +4 -0
  71. data/proto_docs/google/cloud/discoveryengine/v1/control.rb +8 -0
  72. data/proto_docs/google/cloud/discoveryengine/v1/conversation.rb +4 -0
  73. data/proto_docs/google/cloud/discoveryengine/v1/conversational_search_service.rb +8 -0
  74. data/proto_docs/google/cloud/discoveryengine/v1/document.rb +8 -0
  75. data/proto_docs/google/cloud/discoveryengine/v1/document_processing_config.rb +6 -0
  76. data/proto_docs/google/cloud/discoveryengine/v1/document_service.rb +8 -0
  77. data/proto_docs/google/cloud/discoveryengine/v1/engine.rb +4 -0
  78. data/proto_docs/google/cloud/discoveryengine/v1/grounded_generation_service.rb +6 -0
  79. data/proto_docs/google/cloud/discoveryengine/v1/import_config.rb +34 -0
  80. data/proto_docs/google/cloud/discoveryengine/v1/purge_config.rb +4 -0
  81. data/proto_docs/google/cloud/discoveryengine/v1/schema.rb +4 -0
  82. data/proto_docs/google/cloud/discoveryengine/v1/search_service.rb +4 -0
  83. data/proto_docs/google/cloud/discoveryengine/v1/user_event.rb +6 -0
  84. data/proto_docs/google/longrunning/operations.rb +23 -14
  85. data/proto_docs/google/protobuf/struct.rb +12 -0
  86. metadata +6 -9
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the search REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "search",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::DiscoveryEngine::V1::SearchResponse.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -125,16 +139,18 @@ module Google
125
139
 
126
140
  response = @client_stub.make_http_request(
127
141
  verb,
128
- uri: uri,
129
- body: body || "",
130
- params: query_string_params,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "search_lite",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::DiscoveryEngine::V1::SearchResponse.decode_json response.body, ignore_unknown_fields: true
135
-
136
- yield result, operation if block_given?
137
- result
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
138
154
  end
139
155
 
140
156
  ##
@@ -165,14 +165,26 @@ module Google
165
165
  universe_domain: @config.universe_domain,
166
166
  channel_args: @config.channel_args,
167
167
  interceptors: @config.interceptors,
168
- channel_pool_config: @config.channel_pool
168
+ channel_pool_config: @config.channel_pool,
169
+ logger: @config.logger
169
170
  )
170
171
 
172
+ @search_tuning_service_stub.stub_logger&.info do |entry|
173
+ entry.set_system_name
174
+ entry.set_service
175
+ entry.message = "Created client for #{entry.service}"
176
+ entry.set_credentials_fields credentials
177
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
178
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
179
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
180
+ end
181
+
171
182
  @location_client = Google::Cloud::Location::Locations::Client.new do |config|
172
183
  config.credentials = credentials
173
184
  config.quota_project = @quota_project_id
174
185
  config.endpoint = @search_tuning_service_stub.endpoint
175
186
  config.universe_domain = @search_tuning_service_stub.universe_domain
187
+ config.logger = @search_tuning_service_stub.logger if config.respond_to? :logger=
176
188
  end
177
189
  end
178
190
 
@@ -190,6 +202,15 @@ module Google
190
202
  #
191
203
  attr_reader :location_client
192
204
 
205
+ ##
206
+ # The logger used for request/response debug logging.
207
+ #
208
+ # @return [Logger]
209
+ #
210
+ def logger
211
+ @search_tuning_service_stub.logger
212
+ end
213
+
193
214
  # Service calls
194
215
 
195
216
  ##
@@ -293,7 +314,7 @@ module Google
293
314
  @search_tuning_service_stub.call_rpc :train_custom_model, request, options: options do |response, operation|
294
315
  response = ::Gapic::Operation.new response, @operations_client, options: options
295
316
  yield response, operation if block_given?
296
- return response
317
+ throw :response, response
297
318
  end
298
319
  rescue ::GRPC::BadStatus => e
299
320
  raise ::Google::Cloud::Error.from_error(e)
@@ -382,7 +403,6 @@ module Google
382
403
 
383
404
  @search_tuning_service_stub.call_rpc :list_custom_models, request, options: options do |response, operation|
384
405
  yield response, operation if block_given?
385
- return response
386
406
  end
387
407
  rescue ::GRPC::BadStatus => e
388
408
  raise ::Google::Cloud::Error.from_error(e)
@@ -432,6 +452,13 @@ module Google
432
452
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
433
453
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
434
454
  # * (`nil`) indicating no credentials
455
+ #
456
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
457
+ # external source for authentication to Google Cloud, you must validate it before
458
+ # providing it to a Google API client library. Providing an unvalidated credential
459
+ # configuration to Google APIs can compromise the security of your systems and data.
460
+ # For more information, refer to [Validate credential configurations from external
461
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
435
462
  # @return [::Object]
436
463
  # @!attribute [rw] scope
437
464
  # The OAuth scopes
@@ -471,6 +498,11 @@ module Google
471
498
  # default endpoint URL. The default value of nil uses the environment
472
499
  # universe (usually the default "googleapis.com" universe).
473
500
  # @return [::String,nil]
501
+ # @!attribute [rw] logger
502
+ # A custom logger to use for request/response debug logging, or the value
503
+ # `:default` (the default) to construct a default logger, or `nil` to
504
+ # explicitly disable logging.
505
+ # @return [::Logger,:default,nil]
474
506
  #
475
507
  class Configuration
476
508
  extend ::Gapic::Config
@@ -495,6 +527,7 @@ module Google
495
527
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
496
528
  config_attr :quota_project, nil, ::String, nil
497
529
  config_attr :universe_domain, nil, ::String, nil
530
+ config_attr :logger, :default, ::Logger, nil, :default
498
531
 
499
532
  # @private
500
533
  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
@@ -158,14 +158,26 @@ module Google
158
158
  endpoint: @config.endpoint,
159
159
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
160
160
  universe_domain: @config.universe_domain,
161
- credentials: credentials
161
+ credentials: credentials,
162
+ logger: @config.logger
162
163
  )
163
164
 
165
+ @search_tuning_service_stub.logger(stub: true)&.info do |entry|
166
+ entry.set_system_name
167
+ entry.set_service
168
+ entry.message = "Created client for #{entry.service}"
169
+ entry.set_credentials_fields credentials
170
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
171
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
172
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
173
+ end
174
+
164
175
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
165
176
  config.credentials = credentials
166
177
  config.quota_project = @quota_project_id
167
178
  config.endpoint = @search_tuning_service_stub.endpoint
168
179
  config.universe_domain = @search_tuning_service_stub.universe_domain
180
+ config.logger = @search_tuning_service_stub.logger if config.respond_to? :logger=
169
181
  end
170
182
  end
171
183
 
@@ -183,6 +195,15 @@ module Google
183
195
  #
184
196
  attr_reader :location_client
185
197
 
198
+ ##
199
+ # The logger used for request/response debug logging.
200
+ #
201
+ # @return [Logger]
202
+ #
203
+ def logger
204
+ @search_tuning_service_stub.logger
205
+ end
206
+
186
207
  # Service calls
187
208
 
188
209
  ##
@@ -279,7 +300,7 @@ module Google
279
300
  @search_tuning_service_stub.train_custom_model request, options do |result, operation|
280
301
  result = ::Gapic::Operation.new result, @operations_client, options: options
281
302
  yield result, operation if block_given?
282
- return result
303
+ throw :response, result
283
304
  end
284
305
  rescue ::Gapic::Rest::Error => e
285
306
  raise ::Google::Cloud::Error.from_error(e)
@@ -361,7 +382,6 @@ module Google
361
382
 
362
383
  @search_tuning_service_stub.list_custom_models request, options do |result, operation|
363
384
  yield result, operation if block_given?
364
- return result
365
385
  end
366
386
  rescue ::Gapic::Rest::Error => e
367
387
  raise ::Google::Cloud::Error.from_error(e)
@@ -409,6 +429,13 @@ module Google
409
429
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
410
430
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
411
431
  # * (`nil`) indicating no credentials
432
+ #
433
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
434
+ # external source for authentication to Google Cloud, you must validate it before
435
+ # providing it to a Google API client library. Providing an unvalidated credential
436
+ # configuration to Google APIs can compromise the security of your systems and data.
437
+ # For more information, refer to [Validate credential configurations from external
438
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
412
439
  # @return [::Object]
413
440
  # @!attribute [rw] scope
414
441
  # The OAuth scopes
@@ -441,6 +468,11 @@ module Google
441
468
  # default endpoint URL. The default value of nil uses the environment
442
469
  # universe (usually the default "googleapis.com" universe).
443
470
  # @return [::String,nil]
471
+ # @!attribute [rw] logger
472
+ # A custom logger to use for request/response debug logging, or the value
473
+ # `:default` (the default) to construct a default logger, or `nil` to
474
+ # explicitly disable logging.
475
+ # @return [::Logger,:default,nil]
444
476
  #
445
477
  class Configuration
446
478
  extend ::Gapic::Config
@@ -462,6 +494,7 @@ module Google
462
494
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
463
495
  config_attr :quota_project, nil, ::String, nil
464
496
  config_attr :universe_domain, nil, ::String, nil
497
+ config_attr :logger, :default, ::Logger, nil, :default
465
498
 
466
499
  # @private
467
500
  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
  ##
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the train_custom_model REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "train_custom_model",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -125,16 +139,18 @@ module Google
125
139
 
126
140
  response = @client_stub.make_http_request(
127
141
  verb,
128
- uri: uri,
129
- body: body || "",
130
- params: query_string_params,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "list_custom_models",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::DiscoveryEngine::V1::ListCustomModelsResponse.decode_json response.body, ignore_unknown_fields: true
135
-
136
- yield result, operation if block_given?
137
- result
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
138
154
  end
139
155
 
140
156
  ##