google-cloud-discovery_engine-v1beta 0.16.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +31 -21
  3. data/lib/google/cloud/discovery_engine/v1beta/completion_service/client.rb +49 -7
  4. data/lib/google/cloud/discovery_engine/v1beta/completion_service/operations.rb +19 -15
  5. data/lib/google/cloud/discovery_engine/v1beta/completion_service/rest/client.rb +49 -7
  6. data/lib/google/cloud/discovery_engine/v1beta/completion_service/rest/operations.rb +50 -38
  7. data/lib/google/cloud/discovery_engine/v1beta/completion_service/rest/service_stub.rb +62 -38
  8. data/lib/google/cloud/discovery_engine/v1beta/control_service/client.rb +36 -6
  9. data/lib/google/cloud/discovery_engine/v1beta/control_service/rest/client.rb +36 -6
  10. data/lib/google/cloud/discovery_engine/v1beta/control_service/rest/service_stub.rb +54 -32
  11. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/client.rb +37 -14
  12. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/rest/client.rb +37 -14
  13. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/rest/service_stub.rb +118 -80
  14. data/lib/google/cloud/discovery_engine/v1beta/data_store_service/client.rb +38 -6
  15. data/lib/google/cloud/discovery_engine/v1beta/data_store_service/operations.rb +19 -15
  16. data/lib/google/cloud/discovery_engine/v1beta/data_store_service/rest/client.rb +38 -6
  17. data/lib/google/cloud/discovery_engine/v1beta/data_store_service/rest/operations.rb +50 -38
  18. data/lib/google/cloud/discovery_engine/v1beta/data_store_service/rest/service_stub.rb +54 -32
  19. data/lib/google/cloud/discovery_engine/v1beta/document_service/client.rb +60 -9
  20. data/lib/google/cloud/discovery_engine/v1beta/document_service/operations.rb +19 -15
  21. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/client.rb +60 -9
  22. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/operations.rb +50 -38
  23. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/service_stub.rb +78 -50
  24. data/lib/google/cloud/discovery_engine/v1beta/engine_service/client.rb +39 -9
  25. data/lib/google/cloud/discovery_engine/v1beta/engine_service/operations.rb +19 -15
  26. data/lib/google/cloud/discovery_engine/v1beta/engine_service/rest/client.rb +39 -9
  27. data/lib/google/cloud/discovery_engine/v1beta/engine_service/rest/operations.rb +50 -38
  28. data/lib/google/cloud/discovery_engine/v1beta/engine_service/rest/service_stub.rb +78 -50
  29. data/lib/google/cloud/discovery_engine/v1beta/evaluation_service/client.rb +38 -5
  30. data/lib/google/cloud/discovery_engine/v1beta/evaluation_service/operations.rb +19 -15
  31. data/lib/google/cloud/discovery_engine/v1beta/evaluation_service/rest/client.rb +38 -5
  32. data/lib/google/cloud/discovery_engine/v1beta/evaluation_service/rest/operations.rb +50 -38
  33. data/lib/google/cloud/discovery_engine/v1beta/evaluation_service/rest/service_stub.rb +46 -26
  34. data/lib/google/cloud/discovery_engine/v1beta/grounded_generation_service/client.rb +35 -4
  35. data/lib/google/cloud/discovery_engine/v1beta/grounded_generation_service/rest/client.rb +35 -3
  36. data/lib/google/cloud/discovery_engine/v1beta/grounded_generation_service/rest/service_stub.rb +30 -14
  37. data/lib/google/cloud/discovery_engine/v1beta/project_service/client.rb +36 -2
  38. data/lib/google/cloud/discovery_engine/v1beta/project_service/operations.rb +19 -15
  39. data/lib/google/cloud/discovery_engine/v1beta/project_service/rest/client.rb +36 -2
  40. data/lib/google/cloud/discovery_engine/v1beta/project_service/rest/operations.rb +50 -38
  41. data/lib/google/cloud/discovery_engine/v1beta/project_service/rest/service_stub.rb +22 -8
  42. data/lib/google/cloud/discovery_engine/v1beta/rank_service/client.rb +35 -2
  43. data/lib/google/cloud/discovery_engine/v1beta/rank_service/rest/client.rb +35 -2
  44. data/lib/google/cloud/discovery_engine/v1beta/rank_service/rest/service_stub.rb +22 -8
  45. data/lib/google/cloud/discovery_engine/v1beta/recommendation_service/client.rb +35 -2
  46. data/lib/google/cloud/discovery_engine/v1beta/recommendation_service/rest/client.rb +35 -2
  47. data/lib/google/cloud/discovery_engine/v1beta/recommendation_service/rest/service_stub.rb +22 -8
  48. data/lib/google/cloud/discovery_engine/v1beta/sample_query_service/client.rb +43 -7
  49. data/lib/google/cloud/discovery_engine/v1beta/sample_query_service/operations.rb +19 -15
  50. data/lib/google/cloud/discovery_engine/v1beta/sample_query_service/rest/client.rb +43 -7
  51. data/lib/google/cloud/discovery_engine/v1beta/sample_query_service/rest/operations.rb +50 -38
  52. data/lib/google/cloud/discovery_engine/v1beta/sample_query_service/rest/service_stub.rb +62 -38
  53. data/lib/google/cloud/discovery_engine/v1beta/sample_query_set_service/client.rb +36 -6
  54. data/lib/google/cloud/discovery_engine/v1beta/sample_query_set_service/rest/client.rb +36 -6
  55. data/lib/google/cloud/discovery_engine/v1beta/sample_query_set_service/rest/service_stub.rb +54 -32
  56. data/lib/google/cloud/discovery_engine/v1beta/schema_service/client.rb +39 -6
  57. data/lib/google/cloud/discovery_engine/v1beta/schema_service/operations.rb +19 -15
  58. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/client.rb +39 -6
  59. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/operations.rb +50 -38
  60. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/service_stub.rb +54 -32
  61. data/lib/google/cloud/discovery_engine/v1beta/search_service/client.rb +37 -3
  62. data/lib/google/cloud/discovery_engine/v1beta/search_service/rest/client.rb +35 -3
  63. data/lib/google/cloud/discovery_engine/v1beta/search_service/rest/service_stub.rb +30 -14
  64. data/lib/google/cloud/discovery_engine/v1beta/search_tuning_service/client.rb +36 -3
  65. data/lib/google/cloud/discovery_engine/v1beta/search_tuning_service/operations.rb +19 -15
  66. data/lib/google/cloud/discovery_engine/v1beta/search_tuning_service/rest/client.rb +36 -3
  67. data/lib/google/cloud/discovery_engine/v1beta/search_tuning_service/rest/operations.rb +50 -38
  68. data/lib/google/cloud/discovery_engine/v1beta/search_tuning_service/rest/service_stub.rb +30 -14
  69. data/lib/google/cloud/discovery_engine/v1beta/serving_config_service/client.rb +36 -4
  70. data/lib/google/cloud/discovery_engine/v1beta/serving_config_service/rest/client.rb +36 -4
  71. data/lib/google/cloud/discovery_engine/v1beta/serving_config_service/rest/service_stub.rb +38 -20
  72. data/lib/google/cloud/discovery_engine/v1beta/site_search_engine_service/client.rb +47 -16
  73. data/lib/google/cloud/discovery_engine/v1beta/site_search_engine_service/operations.rb +19 -15
  74. data/lib/google/cloud/discovery_engine/v1beta/site_search_engine_service/rest/client.rb +47 -16
  75. data/lib/google/cloud/discovery_engine/v1beta/site_search_engine_service/rest/operations.rb +50 -38
  76. data/lib/google/cloud/discovery_engine/v1beta/site_search_engine_service/rest/service_stub.rb +134 -92
  77. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/client.rb +43 -5
  78. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/operations.rb +19 -15
  79. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/client.rb +43 -5
  80. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/operations.rb +50 -38
  81. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/service_stub.rb +46 -26
  82. data/lib/google/cloud/discovery_engine/v1beta/version.rb +1 -1
  83. data/proto_docs/google/api/client.rb +19 -0
  84. data/proto_docs/google/cloud/discoveryengine/v1beta/answer.rb +6 -0
  85. data/proto_docs/google/cloud/discoveryengine/v1beta/common.rb +8 -0
  86. data/proto_docs/google/cloud/discoveryengine/v1beta/completion.rb +4 -0
  87. data/proto_docs/google/cloud/discoveryengine/v1beta/control.rb +8 -0
  88. data/proto_docs/google/cloud/discoveryengine/v1beta/conversation.rb +4 -0
  89. data/proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb +8 -0
  90. data/proto_docs/google/cloud/discoveryengine/v1beta/document.rb +8 -0
  91. data/proto_docs/google/cloud/discoveryengine/v1beta/document_processing_config.rb +6 -0
  92. data/proto_docs/google/cloud/discoveryengine/v1beta/document_service.rb +8 -0
  93. data/proto_docs/google/cloud/discoveryengine/v1beta/engine.rb +4 -0
  94. data/proto_docs/google/cloud/discoveryengine/v1beta/grounded_generation_service.rb +6 -0
  95. data/proto_docs/google/cloud/discoveryengine/v1beta/import_config.rb +40 -0
  96. data/proto_docs/google/cloud/discoveryengine/v1beta/purge_config.rb +4 -0
  97. data/proto_docs/google/cloud/discoveryengine/v1beta/schema.rb +4 -0
  98. data/proto_docs/google/cloud/discoveryengine/v1beta/search_service.rb +14 -0
  99. data/proto_docs/google/cloud/discoveryengine/v1beta/serving_config.rb +8 -0
  100. data/proto_docs/google/cloud/discoveryengine/v1beta/user_event.rb +6 -0
  101. data/proto_docs/google/longrunning/operations.rb +23 -14
  102. data/proto_docs/google/protobuf/struct.rb +12 -0
  103. metadata +6 -9
@@ -163,14 +163,26 @@ module Google
163
163
  endpoint: @config.endpoint,
164
164
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
165
165
  universe_domain: @config.universe_domain,
166
- credentials: credentials
166
+ credentials: credentials,
167
+ logger: @config.logger
167
168
  )
168
169
 
170
+ @schema_service_stub.logger(stub: true)&.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
+
169
180
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
170
181
  config.credentials = credentials
171
182
  config.quota_project = @quota_project_id
172
183
  config.endpoint = @schema_service_stub.endpoint
173
184
  config.universe_domain = @schema_service_stub.universe_domain
185
+ config.logger = @schema_service_stub.logger if config.respond_to? :logger=
174
186
  end
175
187
  end
176
188
 
@@ -188,6 +200,15 @@ module Google
188
200
  #
189
201
  attr_reader :location_client
190
202
 
203
+ ##
204
+ # The logger used for request/response debug logging.
205
+ #
206
+ # @return [Logger]
207
+ #
208
+ def logger
209
+ @schema_service_stub.logger
210
+ end
211
+
191
212
  # Service calls
192
213
 
193
214
  ##
@@ -264,7 +285,6 @@ module Google
264
285
 
265
286
  @schema_service_stub.get_schema request, options do |result, operation|
266
287
  yield result, operation if block_given?
267
- return result
268
288
  end
269
289
  rescue ::Gapic::Rest::Error => e
270
290
  raise ::Google::Cloud::Error.from_error(e)
@@ -365,7 +385,7 @@ module Google
365
385
  @schema_service_stub.list_schemas request, options do |result, operation|
366
386
  result = ::Gapic::Rest::PagedEnumerable.new @schema_service_stub, :list_schemas, "schemas", request, result, options
367
387
  yield result, operation if block_given?
368
- return result
388
+ throw :response, result
369
389
  end
370
390
  rescue ::Gapic::Rest::Error => e
371
391
  raise ::Google::Cloud::Error.from_error(e)
@@ -465,7 +485,7 @@ module Google
465
485
  @schema_service_stub.create_schema request, options do |result, operation|
466
486
  result = ::Gapic::Operation.new result, @operations_client, options: options
467
487
  yield result, operation if block_given?
468
- return result
488
+ throw :response, result
469
489
  end
470
490
  rescue ::Gapic::Rest::Error => e
471
491
  raise ::Google::Cloud::Error.from_error(e)
@@ -558,7 +578,7 @@ module Google
558
578
  @schema_service_stub.update_schema request, options do |result, operation|
559
579
  result = ::Gapic::Operation.new result, @operations_client, options: options
560
580
  yield result, operation if block_given?
561
- return result
581
+ throw :response, result
562
582
  end
563
583
  rescue ::Gapic::Rest::Error => e
564
584
  raise ::Google::Cloud::Error.from_error(e)
@@ -646,7 +666,7 @@ module Google
646
666
  @schema_service_stub.delete_schema request, options do |result, operation|
647
667
  result = ::Gapic::Operation.new result, @operations_client, options: options
648
668
  yield result, operation if block_given?
649
- return result
669
+ throw :response, result
650
670
  end
651
671
  rescue ::Gapic::Rest::Error => e
652
672
  raise ::Google::Cloud::Error.from_error(e)
@@ -694,6 +714,13 @@ module Google
694
714
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
695
715
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
696
716
  # * (`nil`) indicating no credentials
717
+ #
718
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
719
+ # external source for authentication to Google Cloud, you must validate it before
720
+ # providing it to a Google API client library. Providing an unvalidated credential
721
+ # configuration to Google APIs can compromise the security of your systems and data.
722
+ # For more information, refer to [Validate credential configurations from external
723
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
697
724
  # @return [::Object]
698
725
  # @!attribute [rw] scope
699
726
  # The OAuth scopes
@@ -726,6 +753,11 @@ module Google
726
753
  # default endpoint URL. The default value of nil uses the environment
727
754
  # universe (usually the default "googleapis.com" universe).
728
755
  # @return [::String,nil]
756
+ # @!attribute [rw] logger
757
+ # A custom logger to use for request/response debug logging, or the value
758
+ # `:default` (the default) to construct a default logger, or `nil` to
759
+ # explicitly disable logging.
760
+ # @return [::Logger,:default,nil]
729
761
  #
730
762
  class Configuration
731
763
  extend ::Gapic::Config
@@ -747,6 +779,7 @@ module Google
747
779
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
748
780
  config_attr :quota_project, nil, ::String, nil
749
781
  config_attr :universe_domain, nil, ::String, nil
782
+ config_attr :logger, :default, ::Logger, nil, :default
750
783
 
751
784
  # @private
752
785
  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 get_schema 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: "get_schema",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::DiscoveryEngine::V1beta::Schema.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_schemas",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::DiscoveryEngine::V1beta::ListSchemasResponse.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
  ##
@@ -163,16 +179,18 @@ module Google
163
179
 
164
180
  response = @client_stub.make_http_request(
165
181
  verb,
166
- uri: uri,
167
- body: body || "",
168
- params: query_string_params,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "create_schema",
169
186
  options: options
170
187
  )
171
188
  operation = ::Gapic::Rest::TransportOperation.new response
172
189
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
173
-
174
- yield result, operation if block_given?
175
- result
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
176
194
  end
177
195
 
178
196
  ##
@@ -201,16 +219,18 @@ module Google
201
219
 
202
220
  response = @client_stub.make_http_request(
203
221
  verb,
204
- uri: uri,
205
- body: body || "",
206
- params: query_string_params,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "update_schema",
207
226
  options: options
208
227
  )
209
228
  operation = ::Gapic::Rest::TransportOperation.new response
210
229
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
211
-
212
- yield result, operation if block_given?
213
- result
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
214
234
  end
215
235
 
216
236
  ##
@@ -239,16 +259,18 @@ module Google
239
259
 
240
260
  response = @client_stub.make_http_request(
241
261
  verb,
242
- uri: uri,
243
- body: body || "",
244
- params: query_string_params,
262
+ uri: uri,
263
+ body: body || "",
264
+ params: query_string_params,
265
+ method_name: "delete_schema",
245
266
  options: options
246
267
  )
247
268
  operation = ::Gapic::Rest::TransportOperation.new response
248
269
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
249
-
250
- yield result, operation if block_given?
251
- result
270
+ catch :response do
271
+ yield result, operation if block_given?
272
+ result
273
+ end
252
274
  end
253
275
 
254
276
  ##
@@ -163,14 +163,26 @@ module Google
163
163
  universe_domain: @config.universe_domain,
164
164
  channel_args: @config.channel_args,
165
165
  interceptors: @config.interceptors,
166
- channel_pool_config: @config.channel_pool
166
+ channel_pool_config: @config.channel_pool,
167
+ logger: @config.logger
167
168
  )
168
169
 
170
+ @search_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
+
169
180
  @location_client = Google::Cloud::Location::Locations::Client.new do |config|
170
181
  config.credentials = credentials
171
182
  config.quota_project = @quota_project_id
172
183
  config.endpoint = @search_service_stub.endpoint
173
184
  config.universe_domain = @search_service_stub.universe_domain
185
+ config.logger = @search_service_stub.logger if config.respond_to? :logger=
174
186
  end
175
187
  end
176
188
 
@@ -181,6 +193,15 @@ module Google
181
193
  #
182
194
  attr_reader :location_client
183
195
 
196
+ ##
197
+ # The logger used for request/response debug logging.
198
+ #
199
+ # @return [Logger]
200
+ #
201
+ def logger
202
+ @search_service_stub.logger
203
+ end
204
+
184
205
  # Service calls
185
206
 
186
207
  ##
@@ -540,7 +561,7 @@ module Google
540
561
  @search_service_stub.call_rpc :search, request, options: options do |response, operation|
541
562
  response = ::Gapic::PagedEnumerable.new @search_service_stub, :search, request, response, operation, options
542
563
  yield response, operation if block_given?
543
- return response
564
+ throw :response, response
544
565
  end
545
566
  rescue ::GRPC::BadStatus => e
546
567
  raise ::Google::Cloud::Error.from_error(e)
@@ -915,7 +936,7 @@ module Google
915
936
  @search_service_stub.call_rpc :search_lite, request, options: options do |response, operation|
916
937
  response = ::Gapic::PagedEnumerable.new @search_service_stub, :search_lite, request, response, operation, options
917
938
  yield response, operation if block_given?
918
- return response
939
+ throw :response, response
919
940
  end
920
941
  rescue ::GRPC::BadStatus => e
921
942
  raise ::Google::Cloud::Error.from_error(e)
@@ -965,6 +986,13 @@ module Google
965
986
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
966
987
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
967
988
  # * (`nil`) indicating no credentials
989
+ #
990
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
991
+ # external source for authentication to Google Cloud, you must validate it before
992
+ # providing it to a Google API client library. Providing an unvalidated credential
993
+ # configuration to Google APIs can compromise the security of your systems and data.
994
+ # For more information, refer to [Validate credential configurations from external
995
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
968
996
  # @return [::Object]
969
997
  # @!attribute [rw] scope
970
998
  # The OAuth scopes
@@ -1004,6 +1032,11 @@ module Google
1004
1032
  # default endpoint URL. The default value of nil uses the environment
1005
1033
  # universe (usually the default "googleapis.com" universe).
1006
1034
  # @return [::String,nil]
1035
+ # @!attribute [rw] logger
1036
+ # A custom logger to use for request/response debug logging, or the value
1037
+ # `:default` (the default) to construct a default logger, or `nil` to
1038
+ # explicitly disable logging.
1039
+ # @return [::Logger,:default,nil]
1007
1040
  #
1008
1041
  class Configuration
1009
1042
  extend ::Gapic::Config
@@ -1028,6 +1061,7 @@ module Google
1028
1061
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1029
1062
  config_attr :quota_project, nil, ::String, nil
1030
1063
  config_attr :universe_domain, nil, ::String, nil
1064
+ config_attr :logger, :default, ::Logger, nil, :default
1031
1065
 
1032
1066
  # @private
1033
1067
  def initialize parent_config = nil
@@ -156,14 +156,26 @@ module Google
156
156
  endpoint: @config.endpoint,
157
157
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
158
158
  universe_domain: @config.universe_domain,
159
- credentials: credentials
159
+ credentials: credentials,
160
+ logger: @config.logger
160
161
  )
161
162
 
163
+ @search_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
+
162
173
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
163
174
  config.credentials = credentials
164
175
  config.quota_project = @quota_project_id
165
176
  config.endpoint = @search_service_stub.endpoint
166
177
  config.universe_domain = @search_service_stub.universe_domain
178
+ config.logger = @search_service_stub.logger if config.respond_to? :logger=
167
179
  end
168
180
  end
169
181
 
@@ -174,6 +186,15 @@ module Google
174
186
  #
175
187
  attr_reader :location_client
176
188
 
189
+ ##
190
+ # The logger used for request/response debug logging.
191
+ #
192
+ # @return [Logger]
193
+ #
194
+ def logger
195
+ @search_service_stub.logger
196
+ end
197
+
177
198
  # Service calls
178
199
 
179
200
  ##
@@ -525,7 +546,6 @@ module Google
525
546
 
526
547
  @search_service_stub.search request, options do |result, operation|
527
548
  yield result, operation if block_given?
528
- return result
529
549
  end
530
550
  rescue ::Gapic::Rest::Error => e
531
551
  raise ::Google::Cloud::Error.from_error(e)
@@ -892,7 +912,6 @@ module Google
892
912
 
893
913
  @search_service_stub.search_lite request, options do |result, operation|
894
914
  yield result, operation if block_given?
895
- return result
896
915
  end
897
916
  rescue ::Gapic::Rest::Error => e
898
917
  raise ::Google::Cloud::Error.from_error(e)
@@ -940,6 +959,13 @@ module Google
940
959
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
941
960
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
942
961
  # * (`nil`) indicating no credentials
962
+ #
963
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
964
+ # external source for authentication to Google Cloud, you must validate it before
965
+ # providing it to a Google API client library. Providing an unvalidated credential
966
+ # configuration to Google APIs can compromise the security of your systems and data.
967
+ # For more information, refer to [Validate credential configurations from external
968
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
943
969
  # @return [::Object]
944
970
  # @!attribute [rw] scope
945
971
  # The OAuth scopes
@@ -972,6 +998,11 @@ module Google
972
998
  # default endpoint URL. The default value of nil uses the environment
973
999
  # universe (usually the default "googleapis.com" universe).
974
1000
  # @return [::String,nil]
1001
+ # @!attribute [rw] logger
1002
+ # A custom logger to use for request/response debug logging, or the value
1003
+ # `:default` (the default) to construct a default logger, or `nil` to
1004
+ # explicitly disable logging.
1005
+ # @return [::Logger,:default,nil]
975
1006
  #
976
1007
  class Configuration
977
1008
  extend ::Gapic::Config
@@ -993,6 +1024,7 @@ module Google
993
1024
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
994
1025
  config_attr :quota_project, nil, ::String, nil
995
1026
  config_attr :universe_domain, nil, ::String, nil
1027
+ config_attr :logger, :default, ::Logger, nil, :default
996
1028
 
997
1029
  # @private
998
1030
  def initialize parent_config = nil