google-cloud-discovery_engine-v1beta 0.5.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -99
  3. data/lib/google/cloud/discovery_engine/v1beta/completion_service/client.rb +42 -9
  4. data/lib/google/cloud/discovery_engine/v1beta/completion_service/rest/client.rb +50 -7
  5. data/lib/google/cloud/discovery_engine/v1beta/completion_service/rest/service_stub.rb +14 -2
  6. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/client.rb +42 -9
  7. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/rest/client.rb +134 -7
  8. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/rest/service_stub.rb +14 -2
  9. data/lib/google/cloud/discovery_engine/v1beta/document_service/client.rb +43 -9
  10. data/lib/google/cloud/discovery_engine/v1beta/document_service/operations.rb +38 -7
  11. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/client.rb +165 -7
  12. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/operations.rb +108 -8
  13. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/service_stub.rb +14 -2
  14. data/lib/google/cloud/discovery_engine/v1beta/recommendation_service/client.rb +42 -9
  15. data/lib/google/cloud/discovery_engine/v1beta/recommendation_service/rest/client.rb +50 -7
  16. data/lib/google/cloud/discovery_engine/v1beta/recommendation_service/rest/service_stub.rb +14 -2
  17. data/lib/google/cloud/discovery_engine/v1beta/schema_service/client.rb +43 -9
  18. data/lib/google/cloud/discovery_engine/v1beta/schema_service/operations.rb +38 -7
  19. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/client.rb +140 -7
  20. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/operations.rb +108 -8
  21. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/service_stub.rb +14 -2
  22. data/lib/google/cloud/discovery_engine/v1beta/search_service/client.rb +42 -9
  23. data/lib/google/cloud/discovery_engine/v1beta/search_service/rest/client.rb +54 -7
  24. data/lib/google/cloud/discovery_engine/v1beta/search_service/rest/service_stub.rb +14 -2
  25. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/client.rb +43 -9
  26. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/operations.rb +38 -7
  27. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/client.rb +90 -7
  28. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/operations.rb +108 -8
  29. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/service_stub.rb +14 -2
  30. data/lib/google/cloud/discovery_engine/v1beta/version.rb +1 -1
  31. data/proto_docs/google/api/client.rb +14 -0
  32. data/proto_docs/google/cloud/discoveryengine/v1beta/conversation.rb +3 -0
  33. data/proto_docs/google/cloud/discoveryengine/v1beta/search_service.rb +2 -0
  34. metadata +7 -7
@@ -35,6 +35,9 @@ module Google
35
35
  # customer's website.
36
36
  #
37
37
  class Client
38
+ # @private
39
+ DEFAULT_ENDPOINT_TEMPLATE = "discoveryengine.$UNIVERSE_DOMAIN$"
40
+
38
41
  include Paths
39
42
 
40
43
  # @private
@@ -105,6 +108,15 @@ module Google
105
108
  @config
106
109
  end
107
110
 
111
+ ##
112
+ # The effective universe domain
113
+ #
114
+ # @return [String]
115
+ #
116
+ def universe_domain
117
+ @document_service_stub.universe_domain
118
+ end
119
+
108
120
  ##
109
121
  # Create a new DocumentService REST client object.
110
122
  #
@@ -132,8 +144,9 @@ module Google
132
144
  credentials = @config.credentials
133
145
  # Use self-signed JWT if the endpoint is unchanged from default,
134
146
  # but only if the default endpoint does not have a region prefix.
135
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
136
- !@config.endpoint.split(".").first.include?("-")
147
+ enable_self_signed_jwt = @config.endpoint.nil? ||
148
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
149
+ !@config.endpoint.split(".").first.include?("-"))
137
150
  credentials ||= Credentials.default scope: @config.scope,
138
151
  enable_self_signed_jwt: enable_self_signed_jwt
139
152
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -147,15 +160,22 @@ module Google
147
160
  config.credentials = credentials
148
161
  config.quota_project = @quota_project_id
149
162
  config.endpoint = @config.endpoint
163
+ config.universe_domain = @config.universe_domain
150
164
  end
151
165
 
152
166
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
153
167
  config.credentials = credentials
154
168
  config.quota_project = @quota_project_id
155
169
  config.endpoint = @config.endpoint
170
+ config.universe_domain = @config.universe_domain
156
171
  end
157
172
 
158
- @document_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
173
+ @document_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::ServiceStub.new(
174
+ endpoint: @config.endpoint,
175
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
176
+ universe_domain: @config.universe_domain,
177
+ credentials: credentials
178
+ )
159
179
  end
160
180
 
161
181
  ##
@@ -210,6 +230,22 @@ module Google
210
230
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::Document]
211
231
  #
212
232
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
233
+ #
234
+ # @example Basic example
235
+ # require "google/cloud/discovery_engine/v1beta"
236
+ #
237
+ # # Create a client object. The client can be reused for multiple calls.
238
+ # client = Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::Client.new
239
+ #
240
+ # # Create a request. To set request fields, pass in keyword arguments.
241
+ # request = Google::Cloud::DiscoveryEngine::V1beta::GetDocumentRequest.new
242
+ #
243
+ # # Call the get_document method.
244
+ # result = client.get_document request
245
+ #
246
+ # # The returned object is of type Google::Cloud::DiscoveryEngine::V1beta::Document.
247
+ # p result
248
+ #
213
249
  def get_document request, options = nil
214
250
  raise ::ArgumentError, "request must be provided" if request.nil?
215
251
 
@@ -297,6 +333,26 @@ module Google
297
333
  # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::DiscoveryEngine::V1beta::Document>]
298
334
  #
299
335
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
336
+ #
337
+ # @example Basic example
338
+ # require "google/cloud/discovery_engine/v1beta"
339
+ #
340
+ # # Create a client object. The client can be reused for multiple calls.
341
+ # client = Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::Client.new
342
+ #
343
+ # # Create a request. To set request fields, pass in keyword arguments.
344
+ # request = Google::Cloud::DiscoveryEngine::V1beta::ListDocumentsRequest.new
345
+ #
346
+ # # Call the list_documents method.
347
+ # result = client.list_documents request
348
+ #
349
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
350
+ # # over elements, and API calls will be issued to fetch pages as needed.
351
+ # result.each do |item|
352
+ # # Each element is of type ::Google::Cloud::DiscoveryEngine::V1beta::Document.
353
+ # p item
354
+ # end
355
+ #
300
356
  def list_documents request, options = nil
301
357
  raise ::ArgumentError, "request must be provided" if request.nil?
302
358
 
@@ -382,6 +438,22 @@ module Google
382
438
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::Document]
383
439
  #
384
440
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
441
+ #
442
+ # @example Basic example
443
+ # require "google/cloud/discovery_engine/v1beta"
444
+ #
445
+ # # Create a client object. The client can be reused for multiple calls.
446
+ # client = Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::Client.new
447
+ #
448
+ # # Create a request. To set request fields, pass in keyword arguments.
449
+ # request = Google::Cloud::DiscoveryEngine::V1beta::CreateDocumentRequest.new
450
+ #
451
+ # # Call the create_document method.
452
+ # result = client.create_document request
453
+ #
454
+ # # The returned object is of type Google::Cloud::DiscoveryEngine::V1beta::Document.
455
+ # p result
456
+ #
385
457
  def create_document request, options = nil
386
458
  raise ::ArgumentError, "request must be provided" if request.nil?
387
459
 
@@ -458,6 +530,22 @@ module Google
458
530
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::Document]
459
531
  #
460
532
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
533
+ #
534
+ # @example Basic example
535
+ # require "google/cloud/discovery_engine/v1beta"
536
+ #
537
+ # # Create a client object. The client can be reused for multiple calls.
538
+ # client = Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::Client.new
539
+ #
540
+ # # Create a request. To set request fields, pass in keyword arguments.
541
+ # request = Google::Cloud::DiscoveryEngine::V1beta::UpdateDocumentRequest.new
542
+ #
543
+ # # Call the update_document method.
544
+ # result = client.update_document request
545
+ #
546
+ # # The returned object is of type Google::Cloud::DiscoveryEngine::V1beta::Document.
547
+ # p result
548
+ #
461
549
  def update_document request, options = nil
462
550
  raise ::ArgumentError, "request must be provided" if request.nil?
463
551
 
@@ -529,6 +617,22 @@ module Google
529
617
  # @return [::Google::Protobuf::Empty]
530
618
  #
531
619
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
620
+ #
621
+ # @example Basic example
622
+ # require "google/cloud/discovery_engine/v1beta"
623
+ #
624
+ # # Create a client object. The client can be reused for multiple calls.
625
+ # client = Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::Client.new
626
+ #
627
+ # # Create a request. To set request fields, pass in keyword arguments.
628
+ # request = Google::Cloud::DiscoveryEngine::V1beta::DeleteDocumentRequest.new
629
+ #
630
+ # # Call the delete_document method.
631
+ # result = client.delete_document request
632
+ #
633
+ # # The returned object is of type Google::Protobuf::Empty.
634
+ # p result
635
+ #
532
636
  def delete_document request, options = nil
533
637
  raise ::ArgumentError, "request must be provided" if request.nil?
534
638
 
@@ -663,6 +767,29 @@ module Google
663
767
  # @return [::Gapic::Operation]
664
768
  #
665
769
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
770
+ #
771
+ # @example Basic example
772
+ # require "google/cloud/discovery_engine/v1beta"
773
+ #
774
+ # # Create a client object. The client can be reused for multiple calls.
775
+ # client = Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::Client.new
776
+ #
777
+ # # Create a request. To set request fields, pass in keyword arguments.
778
+ # request = Google::Cloud::DiscoveryEngine::V1beta::ImportDocumentsRequest.new
779
+ #
780
+ # # Call the import_documents method.
781
+ # result = client.import_documents request
782
+ #
783
+ # # The returned object is of type Gapic::Operation. You can use it to
784
+ # # check the status of an operation, cancel it, or wait for results.
785
+ # # Here is how to wait for a response.
786
+ # result.wait_until_done! timeout: 60
787
+ # if result.response?
788
+ # p result.response
789
+ # else
790
+ # puts "No response received."
791
+ # end
792
+ #
666
793
  def import_documents request, options = nil
667
794
  raise ::ArgumentError, "request must be provided" if request.nil?
668
795
 
@@ -750,6 +877,29 @@ module Google
750
877
  # @return [::Gapic::Operation]
751
878
  #
752
879
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
880
+ #
881
+ # @example Basic example
882
+ # require "google/cloud/discovery_engine/v1beta"
883
+ #
884
+ # # Create a client object. The client can be reused for multiple calls.
885
+ # client = Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::Client.new
886
+ #
887
+ # # Create a request. To set request fields, pass in keyword arguments.
888
+ # request = Google::Cloud::DiscoveryEngine::V1beta::PurgeDocumentsRequest.new
889
+ #
890
+ # # Call the purge_documents method.
891
+ # result = client.purge_documents request
892
+ #
893
+ # # The returned object is of type Gapic::Operation. You can use it to
894
+ # # check the status of an operation, cancel it, or wait for results.
895
+ # # Here is how to wait for a response.
896
+ # result.wait_until_done! timeout: 60
897
+ # if result.response?
898
+ # p result.response
899
+ # else
900
+ # puts "No response received."
901
+ # end
902
+ #
753
903
  def purge_documents request, options = nil
754
904
  raise ::ArgumentError, "request must be provided" if request.nil?
755
905
 
@@ -816,9 +966,9 @@ module Google
816
966
  # end
817
967
  #
818
968
  # @!attribute [rw] endpoint
819
- # The hostname or hostname:port of the service endpoint.
820
- # Defaults to `"discoveryengine.googleapis.com"`.
821
- # @return [::String]
969
+ # A custom service endpoint, as a hostname or hostname:port. The default is
970
+ # nil, indicating to use the default endpoint in the current universe domain.
971
+ # @return [::String,nil]
822
972
  # @!attribute [rw] credentials
823
973
  # Credentials to send with calls. You may provide any of the following types:
824
974
  # * (`String`) The path to a service account key file in JSON format
@@ -855,13 +1005,20 @@ module Google
855
1005
  # @!attribute [rw] quota_project
856
1006
  # A separate project against which to charge quota.
857
1007
  # @return [::String]
1008
+ # @!attribute [rw] universe_domain
1009
+ # The universe domain within which to make requests. This determines the
1010
+ # default endpoint URL. The default value of nil uses the environment
1011
+ # universe (usually the default "googleapis.com" universe).
1012
+ # @return [::String,nil]
858
1013
  #
859
1014
  class Configuration
860
1015
  extend ::Gapic::Config
861
1016
 
1017
+ # @private
1018
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
862
1019
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
863
1020
 
864
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1021
+ config_attr :endpoint, nil, ::String, nil
865
1022
  config_attr :credentials, nil do |value|
866
1023
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
867
1024
  allowed.any? { |klass| klass === value }
@@ -873,6 +1030,7 @@ module Google
873
1030
  config_attr :metadata, nil, ::Hash, nil
874
1031
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
875
1032
  config_attr :quota_project, nil, ::String, nil
1033
+ config_attr :universe_domain, nil, ::String, nil
876
1034
 
877
1035
  # @private
878
1036
  def initialize parent_config = nil
@@ -26,6 +26,9 @@ module Google
26
26
  module Rest
27
27
  # Service that implements Longrunning Operations API.
28
28
  class Operations
29
+ # @private
30
+ DEFAULT_ENDPOINT_TEMPLATE = "discoveryengine.$UNIVERSE_DOMAIN$"
31
+
29
32
  # @private
30
33
  attr_reader :operations_stub
31
34
 
@@ -60,6 +63,15 @@ module Google
60
63
  @config
61
64
  end
62
65
 
66
+ ##
67
+ # The effective universe domain
68
+ #
69
+ # @return [String]
70
+ #
71
+ def universe_domain
72
+ @operations_stub.universe_domain
73
+ end
74
+
63
75
  ##
64
76
  # Create a new Operations client object.
65
77
  #
@@ -84,8 +96,10 @@ module Google
84
96
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
85
97
 
86
98
  @operations_stub = OperationsServiceStub.new(
87
- endpoint: @config.endpoint,
88
- credentials: credentials
99
+ endpoint: @config.endpoint,
100
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
101
+ universe_domain: @config.universe_domain,
102
+ credentials: credentials
89
103
  )
90
104
 
91
105
  # Used by an LRO wrapper for some methods of this service
@@ -136,6 +150,26 @@ module Google
136
150
  # @return [::Gapic::Operation]
137
151
  #
138
152
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
153
+ #
154
+ # @example Basic example
155
+ # require "google/longrunning"
156
+ #
157
+ # # Create a client object. The client can be reused for multiple calls.
158
+ # client = Google::Longrunning::Operations::Rest::Client.new
159
+ #
160
+ # # Create a request. To set request fields, pass in keyword arguments.
161
+ # request = Google::Longrunning::ListOperationsRequest.new
162
+ #
163
+ # # Call the list_operations method.
164
+ # result = client.list_operations request
165
+ #
166
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
167
+ # # over elements, and API calls will be issued to fetch pages as needed.
168
+ # result.each do |item|
169
+ # # Each element is of type ::Google::Longrunning::Operation.
170
+ # p item
171
+ # end
172
+ #
139
173
  def list_operations request, options = nil
140
174
  raise ::ArgumentError, "request must be provided" if request.nil?
141
175
 
@@ -201,6 +235,29 @@ module Google
201
235
  # @return [::Gapic::Operation]
202
236
  #
203
237
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
238
+ #
239
+ # @example Basic example
240
+ # require "google/longrunning"
241
+ #
242
+ # # Create a client object. The client can be reused for multiple calls.
243
+ # client = Google::Longrunning::Operations::Rest::Client.new
244
+ #
245
+ # # Create a request. To set request fields, pass in keyword arguments.
246
+ # request = Google::Longrunning::GetOperationRequest.new
247
+ #
248
+ # # Call the get_operation method.
249
+ # result = client.get_operation request
250
+ #
251
+ # # The returned object is of type Gapic::Operation. You can use it to
252
+ # # check the status of an operation, cancel it, or wait for results.
253
+ # # Here is how to wait for a response.
254
+ # result.wait_until_done! timeout: 60
255
+ # if result.response?
256
+ # p result.response
257
+ # else
258
+ # puts "No response received."
259
+ # end
260
+ #
204
261
  def get_operation request, options = nil
205
262
  raise ::ArgumentError, "request must be provided" if request.nil?
206
263
 
@@ -267,6 +324,22 @@ module Google
267
324
  # @return [::Google::Protobuf::Empty]
268
325
  #
269
326
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
327
+ #
328
+ # @example Basic example
329
+ # require "google/longrunning"
330
+ #
331
+ # # Create a client object. The client can be reused for multiple calls.
332
+ # client = Google::Longrunning::Operations::Rest::Client.new
333
+ #
334
+ # # Create a request. To set request fields, pass in keyword arguments.
335
+ # request = Google::Longrunning::DeleteOperationRequest.new
336
+ #
337
+ # # Call the delete_operation method.
338
+ # result = client.delete_operation request
339
+ #
340
+ # # The returned object is of type Google::Protobuf::Empty.
341
+ # p result
342
+ #
270
343
  def delete_operation request, options = nil
271
344
  raise ::ArgumentError, "request must be provided" if request.nil?
272
345
 
@@ -338,6 +411,22 @@ module Google
338
411
  # @return [::Google::Protobuf::Empty]
339
412
  #
340
413
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
414
+ #
415
+ # @example Basic example
416
+ # require "google/longrunning"
417
+ #
418
+ # # Create a client object. The client can be reused for multiple calls.
419
+ # client = Google::Longrunning::Operations::Rest::Client.new
420
+ #
421
+ # # Create a request. To set request fields, pass in keyword arguments.
422
+ # request = Google::Longrunning::CancelOperationRequest.new
423
+ #
424
+ # # Call the cancel_operation method.
425
+ # result = client.cancel_operation request
426
+ #
427
+ # # The returned object is of type Google::Protobuf::Empty.
428
+ # p result
429
+ #
341
430
  def cancel_operation request, options = nil
342
431
  raise ::ArgumentError, "request must be provided" if request.nil?
343
432
 
@@ -403,9 +492,9 @@ module Google
403
492
  # end
404
493
  #
405
494
  # @!attribute [rw] endpoint
406
- # The hostname or hostname:port of the service endpoint.
407
- # Defaults to `"discoveryengine.googleapis.com"`.
408
- # @return [::String]
495
+ # A custom service endpoint, as a hostname or hostname:port. The default is
496
+ # nil, indicating to use the default endpoint in the current universe domain.
497
+ # @return [::String,nil]
409
498
  # @!attribute [rw] credentials
410
499
  # Credentials to send with calls. You may provide any of the following types:
411
500
  # * (`String`) The path to a service account key file in JSON format
@@ -442,13 +531,20 @@ module Google
442
531
  # @!attribute [rw] quota_project
443
532
  # A separate project against which to charge quota.
444
533
  # @return [::String]
534
+ # @!attribute [rw] universe_domain
535
+ # The universe domain within which to make requests. This determines the
536
+ # default endpoint URL. The default value of nil uses the environment
537
+ # universe (usually the default "googleapis.com" universe).
538
+ # @return [::String,nil]
445
539
  #
446
540
  class Configuration
447
541
  extend ::Gapic::Config
448
542
 
543
+ # @private
544
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
449
545
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
450
546
 
451
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
547
+ config_attr :endpoint, nil, ::String, nil
452
548
  config_attr :credentials, nil do |value|
453
549
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
454
550
  allowed.any? { |klass| klass === value }
@@ -460,6 +556,7 @@ module Google
460
556
  config_attr :metadata, nil, ::Hash, nil
461
557
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
462
558
  config_attr :quota_project, nil, ::String, nil
559
+ config_attr :universe_domain, nil, ::String, nil
463
560
 
464
561
  # @private
465
562
  def initialize parent_config = nil
@@ -542,12 +639,15 @@ module Google
542
639
  # Service stub contains baseline method implementations
543
640
  # including transcoding, making the REST call, and deserialing the response.
544
641
  class OperationsServiceStub
545
- def initialize endpoint:, credentials:
642
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
546
643
  # These require statements are intentionally placed here to initialize
547
644
  # the REST modules only when it's required.
548
645
  require "gapic/rest"
549
646
 
550
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials
647
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
648
+ endpoint_template: endpoint_template,
649
+ universe_domain: universe_domain,
650
+ credentials: credentials
551
651
  end
552
652
 
553
653
  ##
@@ -30,16 +30,28 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, credentials:
33
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
34
  # These require statements are intentionally placed here to initialize
35
35
  # the REST modules only when it's required.
36
36
  require "gapic/rest"
37
37
 
38
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
39
+ endpoint_template: endpoint_template,
40
+ universe_domain: universe_domain,
41
+ credentials: credentials,
39
42
  numeric_enums: true,
40
43
  raise_faraday_errors: false
41
44
  end
42
45
 
46
+ ##
47
+ # The effective universe domain
48
+ #
49
+ # @return [String]
50
+ #
51
+ def universe_domain
52
+ @client_stub.universe_domain
53
+ end
54
+
43
55
  ##
44
56
  # Baseline implementation for the get_document REST call
45
57
  #
@@ -31,6 +31,9 @@ module Google
31
31
  # Service for making recommendations.
32
32
  #
33
33
  class Client
34
+ # @private
35
+ DEFAULT_ENDPOINT_TEMPLATE = "discoveryengine.$UNIVERSE_DOMAIN$"
36
+
34
37
  include Paths
35
38
 
36
39
  # @private
@@ -96,6 +99,15 @@ module Google
96
99
  @config
97
100
  end
98
101
 
102
+ ##
103
+ # The effective universe domain
104
+ #
105
+ # @return [String]
106
+ #
107
+ def universe_domain
108
+ @recommendation_service_stub.universe_domain
109
+ end
110
+
99
111
  ##
100
112
  # Create a new RecommendationService client object.
101
113
  #
@@ -129,8 +141,9 @@ module Google
129
141
  credentials = @config.credentials
130
142
  # Use self-signed JWT if the endpoint is unchanged from default,
131
143
  # but only if the default endpoint does not have a region prefix.
132
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
133
- !@config.endpoint.split(".").first.include?("-")
144
+ enable_self_signed_jwt = @config.endpoint.nil? ||
145
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
146
+ !@config.endpoint.split(".").first.include?("-"))
134
147
  credentials ||= Credentials.default scope: @config.scope,
135
148
  enable_self_signed_jwt: enable_self_signed_jwt
136
149
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -143,14 +156,18 @@ module Google
143
156
  config.credentials = credentials
144
157
  config.quota_project = @quota_project_id
145
158
  config.endpoint = @config.endpoint
159
+ config.universe_domain = @config.universe_domain
146
160
  end
147
161
 
148
162
  @recommendation_service_stub = ::Gapic::ServiceStub.new(
149
163
  ::Google::Cloud::DiscoveryEngine::V1beta::RecommendationService::Stub,
150
- credentials: credentials,
151
- endpoint: @config.endpoint,
164
+ credentials: credentials,
165
+ endpoint: @config.endpoint,
166
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
167
+ universe_domain: @config.universe_domain,
152
168
  channel_args: @config.channel_args,
153
- interceptors: @config.interceptors
169
+ interceptors: @config.interceptors,
170
+ channel_pool_config: @config.channel_pool
154
171
  )
155
172
  end
156
173
 
@@ -372,9 +389,9 @@ module Google
372
389
  # end
373
390
  #
374
391
  # @!attribute [rw] endpoint
375
- # The hostname or hostname:port of the service endpoint.
376
- # Defaults to `"discoveryengine.googleapis.com"`.
377
- # @return [::String]
392
+ # A custom service endpoint, as a hostname or hostname:port. The default is
393
+ # nil, indicating to use the default endpoint in the current universe domain.
394
+ # @return [::String,nil]
378
395
  # @!attribute [rw] credentials
379
396
  # Credentials to send with calls. You may provide any of the following types:
380
397
  # * (`String`) The path to a service account key file in JSON format
@@ -420,13 +437,20 @@ module Google
420
437
  # @!attribute [rw] quota_project
421
438
  # A separate project against which to charge quota.
422
439
  # @return [::String]
440
+ # @!attribute [rw] universe_domain
441
+ # The universe domain within which to make requests. This determines the
442
+ # default endpoint URL. The default value of nil uses the environment
443
+ # universe (usually the default "googleapis.com" universe).
444
+ # @return [::String,nil]
423
445
  #
424
446
  class Configuration
425
447
  extend ::Gapic::Config
426
448
 
449
+ # @private
450
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
427
451
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
428
452
 
429
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
453
+ config_attr :endpoint, nil, ::String, nil
430
454
  config_attr :credentials, nil do |value|
431
455
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
432
456
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -441,6 +465,7 @@ module Google
441
465
  config_attr :metadata, nil, ::Hash, nil
442
466
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
443
467
  config_attr :quota_project, nil, ::String, nil
468
+ config_attr :universe_domain, nil, ::String, nil
444
469
 
445
470
  # @private
446
471
  def initialize parent_config = nil
@@ -461,6 +486,14 @@ module Google
461
486
  end
462
487
  end
463
488
 
489
+ ##
490
+ # Configuration for the channel pool
491
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
492
+ #
493
+ def channel_pool
494
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
495
+ end
496
+
464
497
  ##
465
498
  # Configuration RPC class for the RecommendationService API.
466
499
  #