google-cloud-discovery_engine-v1beta 0.5.0 → 0.7.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 (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
  #