google-cloud-discovery_engine-v1beta 0.6.0 → 0.7.1

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 +38 -14
  4. data/lib/google/cloud/discovery_engine/v1beta/completion_service/rest/client.rb +36 -9
  5. data/lib/google/cloud/discovery_engine/v1beta/completion_service/rest/service_stub.rb +23 -2
  6. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/client.rb +38 -14
  7. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/rest/client.rb +36 -9
  8. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/rest/service_stub.rb +23 -2
  9. data/lib/google/cloud/discovery_engine/v1beta/document_service/client.rb +39 -14
  10. data/lib/google/cloud/discovery_engine/v1beta/document_service/operations.rb +28 -6
  11. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/client.rb +37 -9
  12. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/operations.rb +33 -8
  13. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/service_stub.rb +23 -2
  14. data/lib/google/cloud/discovery_engine/v1beta/recommendation_service/client.rb +38 -14
  15. data/lib/google/cloud/discovery_engine/v1beta/recommendation_service/rest/client.rb +36 -9
  16. data/lib/google/cloud/discovery_engine/v1beta/recommendation_service/rest/service_stub.rb +23 -2
  17. data/lib/google/cloud/discovery_engine/v1beta/schema_service/client.rb +39 -14
  18. data/lib/google/cloud/discovery_engine/v1beta/schema_service/operations.rb +28 -6
  19. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/client.rb +37 -9
  20. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/operations.rb +33 -8
  21. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/service_stub.rb +23 -2
  22. data/lib/google/cloud/discovery_engine/v1beta/search_service/client.rb +38 -14
  23. data/lib/google/cloud/discovery_engine/v1beta/search_service/rest/client.rb +36 -9
  24. data/lib/google/cloud/discovery_engine/v1beta/search_service/rest/service_stub.rb +23 -2
  25. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/client.rb +39 -14
  26. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/operations.rb +28 -6
  27. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/client.rb +37 -9
  28. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/operations.rb +33 -8
  29. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/service_stub.rb +23 -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
@@ -30,16 +30,37 @@ 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
+
55
+ ##
56
+ # The effective endpoint
57
+ #
58
+ # @return [String]
59
+ #
60
+ def endpoint
61
+ @client_stub.endpoint
62
+ end
63
+
43
64
  ##
44
65
  # Baseline implementation for the get_schema REST call
45
66
  #
@@ -31,6 +31,9 @@ module Google
31
31
  # Service for search.
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
+ @search_service_stub.universe_domain
109
+ end
110
+
99
111
  ##
100
112
  # Create a new SearchService 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)
@@ -139,20 +152,23 @@ module Google
139
152
  @quota_project_id = @config.quota_project
140
153
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
141
154
 
142
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
143
- config.credentials = credentials
144
- config.quota_project = @quota_project_id
145
- config.endpoint = @config.endpoint
146
- end
147
-
148
155
  @search_service_stub = ::Gapic::ServiceStub.new(
149
156
  ::Google::Cloud::DiscoveryEngine::V1beta::SearchService::Stub,
150
- credentials: credentials,
151
- endpoint: @config.endpoint,
157
+ credentials: credentials,
158
+ endpoint: @config.endpoint,
159
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
160
+ universe_domain: @config.universe_domain,
152
161
  channel_args: @config.channel_args,
153
162
  interceptors: @config.interceptors,
154
163
  channel_pool_config: @config.channel_pool
155
164
  )
165
+
166
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
167
+ config.credentials = credentials
168
+ config.quota_project = @quota_project_id
169
+ config.endpoint = @search_service_stub.endpoint
170
+ config.universe_domain = @search_service_stub.universe_domain
171
+ end
156
172
  end
157
173
 
158
174
  ##
@@ -429,9 +445,9 @@ module Google
429
445
  # end
430
446
  #
431
447
  # @!attribute [rw] endpoint
432
- # The hostname or hostname:port of the service endpoint.
433
- # Defaults to `"discoveryengine.googleapis.com"`.
434
- # @return [::String]
448
+ # A custom service endpoint, as a hostname or hostname:port. The default is
449
+ # nil, indicating to use the default endpoint in the current universe domain.
450
+ # @return [::String,nil]
435
451
  # @!attribute [rw] credentials
436
452
  # Credentials to send with calls. You may provide any of the following types:
437
453
  # * (`String`) The path to a service account key file in JSON format
@@ -477,13 +493,20 @@ module Google
477
493
  # @!attribute [rw] quota_project
478
494
  # A separate project against which to charge quota.
479
495
  # @return [::String]
496
+ # @!attribute [rw] universe_domain
497
+ # The universe domain within which to make requests. This determines the
498
+ # default endpoint URL. The default value of nil uses the environment
499
+ # universe (usually the default "googleapis.com" universe).
500
+ # @return [::String,nil]
480
501
  #
481
502
  class Configuration
482
503
  extend ::Gapic::Config
483
504
 
505
+ # @private
506
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
484
507
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
485
508
 
486
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
509
+ config_attr :endpoint, nil, ::String, nil
487
510
  config_attr :credentials, nil do |value|
488
511
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
489
512
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -498,6 +521,7 @@ module Google
498
521
  config_attr :metadata, nil, ::Hash, nil
499
522
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
500
523
  config_attr :quota_project, nil, ::String, nil
524
+ config_attr :universe_domain, nil, ::String, nil
501
525
 
502
526
  # @private
503
527
  def initialize parent_config = nil
@@ -33,6 +33,9 @@ module Google
33
33
  # Service for search.
34
34
  #
35
35
  class Client
36
+ # @private
37
+ DEFAULT_ENDPOINT_TEMPLATE = "discoveryengine.$UNIVERSE_DOMAIN$"
38
+
36
39
  include Paths
37
40
 
38
41
  # @private
@@ -98,6 +101,15 @@ module Google
98
101
  @config
99
102
  end
100
103
 
104
+ ##
105
+ # The effective universe domain
106
+ #
107
+ # @return [String]
108
+ #
109
+ def universe_domain
110
+ @search_service_stub.universe_domain
111
+ end
112
+
101
113
  ##
102
114
  # Create a new SearchService REST client object.
103
115
  #
@@ -125,8 +137,9 @@ module Google
125
137
  credentials = @config.credentials
126
138
  # Use self-signed JWT if the endpoint is unchanged from default,
127
139
  # but only if the default endpoint does not have a region prefix.
128
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
129
- !@config.endpoint.split(".").first.include?("-")
140
+ enable_self_signed_jwt = @config.endpoint.nil? ||
141
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
142
+ !@config.endpoint.split(".").first.include?("-"))
130
143
  credentials ||= Credentials.default scope: @config.scope,
131
144
  enable_self_signed_jwt: enable_self_signed_jwt
132
145
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -136,13 +149,19 @@ module Google
136
149
  @quota_project_id = @config.quota_project
137
150
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
138
151
 
152
+ @search_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::SearchService::Rest::ServiceStub.new(
153
+ endpoint: @config.endpoint,
154
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
155
+ universe_domain: @config.universe_domain,
156
+ credentials: credentials
157
+ )
158
+
139
159
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
140
160
  config.credentials = credentials
141
161
  config.quota_project = @quota_project_id
142
- config.endpoint = @config.endpoint
162
+ config.endpoint = @search_service_stub.endpoint
163
+ config.universe_domain = @search_service_stub.universe_domain
143
164
  end
144
-
145
- @search_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::SearchService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
146
165
  end
147
166
 
148
167
  ##
@@ -411,9 +430,9 @@ module Google
411
430
  # end
412
431
  #
413
432
  # @!attribute [rw] endpoint
414
- # The hostname or hostname:port of the service endpoint.
415
- # Defaults to `"discoveryengine.googleapis.com"`.
416
- # @return [::String]
433
+ # A custom service endpoint, as a hostname or hostname:port. The default is
434
+ # nil, indicating to use the default endpoint in the current universe domain.
435
+ # @return [::String,nil]
417
436
  # @!attribute [rw] credentials
418
437
  # Credentials to send with calls. You may provide any of the following types:
419
438
  # * (`String`) The path to a service account key file in JSON format
@@ -450,13 +469,20 @@ module Google
450
469
  # @!attribute [rw] quota_project
451
470
  # A separate project against which to charge quota.
452
471
  # @return [::String]
472
+ # @!attribute [rw] universe_domain
473
+ # The universe domain within which to make requests. This determines the
474
+ # default endpoint URL. The default value of nil uses the environment
475
+ # universe (usually the default "googleapis.com" universe).
476
+ # @return [::String,nil]
453
477
  #
454
478
  class Configuration
455
479
  extend ::Gapic::Config
456
480
 
481
+ # @private
482
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
457
483
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
458
484
 
459
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
485
+ config_attr :endpoint, nil, ::String, nil
460
486
  config_attr :credentials, nil do |value|
461
487
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
462
488
  allowed.any? { |klass| klass === value }
@@ -468,6 +494,7 @@ module Google
468
494
  config_attr :metadata, nil, ::Hash, nil
469
495
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
470
496
  config_attr :quota_project, nil, ::String, nil
497
+ config_attr :universe_domain, nil, ::String, nil
471
498
 
472
499
  # @private
473
500
  def initialize parent_config = nil
@@ -30,16 +30,37 @@ 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
+
55
+ ##
56
+ # The effective endpoint
57
+ #
58
+ # @return [String]
59
+ #
60
+ def endpoint
61
+ @client_stub.endpoint
62
+ end
63
+
43
64
  ##
44
65
  # Baseline implementation for the search REST call
45
66
  #
@@ -31,6 +31,9 @@ module Google
31
31
  # Service for ingesting end user actions on a website to Discovery Engine API.
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
@@ -101,6 +104,15 @@ module Google
101
104
  @config
102
105
  end
103
106
 
107
+ ##
108
+ # The effective universe domain
109
+ #
110
+ # @return [String]
111
+ #
112
+ def universe_domain
113
+ @user_event_service_stub.universe_domain
114
+ end
115
+
104
116
  ##
105
117
  # Create a new UserEventService client object.
106
118
  #
@@ -134,8 +146,9 @@ module Google
134
146
  credentials = @config.credentials
135
147
  # Use self-signed JWT if the endpoint is unchanged from default,
136
148
  # but only if the default endpoint does not have a region prefix.
137
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
138
- !@config.endpoint.split(".").first.include?("-")
149
+ enable_self_signed_jwt = @config.endpoint.nil? ||
150
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
151
+ !@config.endpoint.split(".").first.include?("-"))
139
152
  credentials ||= Credentials.default scope: @config.scope,
140
153
  enable_self_signed_jwt: enable_self_signed_jwt
141
154
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -148,22 +161,26 @@ module Google
148
161
  config.credentials = credentials
149
162
  config.quota_project = @quota_project_id
150
163
  config.endpoint = @config.endpoint
151
- end
152
-
153
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
154
- config.credentials = credentials
155
- config.quota_project = @quota_project_id
156
- config.endpoint = @config.endpoint
164
+ config.universe_domain = @config.universe_domain
157
165
  end
158
166
 
159
167
  @user_event_service_stub = ::Gapic::ServiceStub.new(
160
168
  ::Google::Cloud::DiscoveryEngine::V1beta::UserEventService::Stub,
161
- credentials: credentials,
162
- endpoint: @config.endpoint,
169
+ credentials: credentials,
170
+ endpoint: @config.endpoint,
171
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
172
+ universe_domain: @config.universe_domain,
163
173
  channel_args: @config.channel_args,
164
174
  interceptors: @config.interceptors,
165
175
  channel_pool_config: @config.channel_pool
166
176
  )
177
+
178
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
179
+ config.credentials = credentials
180
+ config.quota_project = @quota_project_id
181
+ config.endpoint = @user_event_service_stub.endpoint
182
+ config.universe_domain = @user_event_service_stub.universe_domain
183
+ end
167
184
  end
168
185
 
169
186
  ##
@@ -511,9 +528,9 @@ module Google
511
528
  # end
512
529
  #
513
530
  # @!attribute [rw] endpoint
514
- # The hostname or hostname:port of the service endpoint.
515
- # Defaults to `"discoveryengine.googleapis.com"`.
516
- # @return [::String]
531
+ # A custom service endpoint, as a hostname or hostname:port. The default is
532
+ # nil, indicating to use the default endpoint in the current universe domain.
533
+ # @return [::String,nil]
517
534
  # @!attribute [rw] credentials
518
535
  # Credentials to send with calls. You may provide any of the following types:
519
536
  # * (`String`) The path to a service account key file in JSON format
@@ -559,13 +576,20 @@ module Google
559
576
  # @!attribute [rw] quota_project
560
577
  # A separate project against which to charge quota.
561
578
  # @return [::String]
579
+ # @!attribute [rw] universe_domain
580
+ # The universe domain within which to make requests. This determines the
581
+ # default endpoint URL. The default value of nil uses the environment
582
+ # universe (usually the default "googleapis.com" universe).
583
+ # @return [::String,nil]
562
584
  #
563
585
  class Configuration
564
586
  extend ::Gapic::Config
565
587
 
588
+ # @private
589
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
566
590
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
567
591
 
568
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
592
+ config_attr :endpoint, nil, ::String, nil
569
593
  config_attr :credentials, nil do |value|
570
594
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
571
595
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -580,6 +604,7 @@ module Google
580
604
  config_attr :metadata, nil, ::Hash, nil
581
605
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
582
606
  config_attr :quota_project, nil, ::String, nil
607
+ config_attr :universe_domain, nil, ::String, nil
583
608
 
584
609
  # @private
585
610
  def initialize parent_config = nil
@@ -26,6 +26,9 @@ module Google
26
26
  module UserEventService
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
  #
@@ -90,8 +102,10 @@ module Google
90
102
 
91
103
  @operations_stub = ::Gapic::ServiceStub.new(
92
104
  ::Google::Longrunning::Operations::Stub,
93
- credentials: credentials,
94
- endpoint: @config.endpoint,
105
+ credentials: credentials,
106
+ endpoint: @config.endpoint,
107
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
108
+ universe_domain: @config.universe_domain,
95
109
  channel_args: @config.channel_args,
96
110
  interceptors: @config.interceptors,
97
111
  channel_pool_config: @config.channel_pool
@@ -613,9 +627,9 @@ module Google
613
627
  # end
614
628
  #
615
629
  # @!attribute [rw] endpoint
616
- # The hostname or hostname:port of the service endpoint.
617
- # Defaults to `"discoveryengine.googleapis.com"`.
618
- # @return [::String]
630
+ # A custom service endpoint, as a hostname or hostname:port. The default is
631
+ # nil, indicating to use the default endpoint in the current universe domain.
632
+ # @return [::String,nil]
619
633
  # @!attribute [rw] credentials
620
634
  # Credentials to send with calls. You may provide any of the following types:
621
635
  # * (`String`) The path to a service account key file in JSON format
@@ -661,13 +675,20 @@ module Google
661
675
  # @!attribute [rw] quota_project
662
676
  # A separate project against which to charge quota.
663
677
  # @return [::String]
678
+ # @!attribute [rw] universe_domain
679
+ # The universe domain within which to make requests. This determines the
680
+ # default endpoint URL. The default value of nil uses the environment
681
+ # universe (usually the default "googleapis.com" universe).
682
+ # @return [::String,nil]
664
683
  #
665
684
  class Configuration
666
685
  extend ::Gapic::Config
667
686
 
687
+ # @private
688
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
668
689
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
669
690
 
670
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
691
+ config_attr :endpoint, nil, ::String, nil
671
692
  config_attr :credentials, nil do |value|
672
693
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
673
694
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -682,6 +703,7 @@ module Google
682
703
  config_attr :metadata, nil, ::Hash, nil
683
704
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
684
705
  config_attr :quota_project, nil, ::String, nil
706
+ config_attr :universe_domain, nil, ::String, nil
685
707
 
686
708
  # @private
687
709
  def initialize parent_config = nil
@@ -33,6 +33,9 @@ module Google
33
33
  # Service for ingesting end user actions on a website to Discovery Engine API.
34
34
  #
35
35
  class Client
36
+ # @private
37
+ DEFAULT_ENDPOINT_TEMPLATE = "discoveryengine.$UNIVERSE_DOMAIN$"
38
+
36
39
  include Paths
37
40
 
38
41
  # @private
@@ -103,6 +106,15 @@ module Google
103
106
  @config
104
107
  end
105
108
 
109
+ ##
110
+ # The effective universe domain
111
+ #
112
+ # @return [String]
113
+ #
114
+ def universe_domain
115
+ @user_event_service_stub.universe_domain
116
+ end
117
+
106
118
  ##
107
119
  # Create a new UserEventService REST client object.
108
120
  #
@@ -130,8 +142,9 @@ module Google
130
142
  credentials = @config.credentials
131
143
  # Use self-signed JWT if the endpoint is unchanged from default,
132
144
  # but only if the default endpoint does not have a region prefix.
133
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
134
- !@config.endpoint.split(".").first.include?("-")
145
+ enable_self_signed_jwt = @config.endpoint.nil? ||
146
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
147
+ !@config.endpoint.split(".").first.include?("-"))
135
148
  credentials ||= Credentials.default scope: @config.scope,
136
149
  enable_self_signed_jwt: enable_self_signed_jwt
137
150
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -145,15 +158,22 @@ module Google
145
158
  config.credentials = credentials
146
159
  config.quota_project = @quota_project_id
147
160
  config.endpoint = @config.endpoint
161
+ config.universe_domain = @config.universe_domain
148
162
  end
149
163
 
164
+ @user_event_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::UserEventService::Rest::ServiceStub.new(
165
+ endpoint: @config.endpoint,
166
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
167
+ universe_domain: @config.universe_domain,
168
+ credentials: credentials
169
+ )
170
+
150
171
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
151
172
  config.credentials = credentials
152
173
  config.quota_project = @quota_project_id
153
- config.endpoint = @config.endpoint
174
+ config.endpoint = @user_event_service_stub.endpoint
175
+ config.universe_domain = @user_event_service_stub.universe_domain
154
176
  end
155
-
156
- @user_event_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::UserEventService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
157
177
  end
158
178
 
159
179
  ##
@@ -480,9 +500,9 @@ module Google
480
500
  # end
481
501
  #
482
502
  # @!attribute [rw] endpoint
483
- # The hostname or hostname:port of the service endpoint.
484
- # Defaults to `"discoveryengine.googleapis.com"`.
485
- # @return [::String]
503
+ # A custom service endpoint, as a hostname or hostname:port. The default is
504
+ # nil, indicating to use the default endpoint in the current universe domain.
505
+ # @return [::String,nil]
486
506
  # @!attribute [rw] credentials
487
507
  # Credentials to send with calls. You may provide any of the following types:
488
508
  # * (`String`) The path to a service account key file in JSON format
@@ -519,13 +539,20 @@ module Google
519
539
  # @!attribute [rw] quota_project
520
540
  # A separate project against which to charge quota.
521
541
  # @return [::String]
542
+ # @!attribute [rw] universe_domain
543
+ # The universe domain within which to make requests. This determines the
544
+ # default endpoint URL. The default value of nil uses the environment
545
+ # universe (usually the default "googleapis.com" universe).
546
+ # @return [::String,nil]
522
547
  #
523
548
  class Configuration
524
549
  extend ::Gapic::Config
525
550
 
551
+ # @private
552
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
526
553
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
527
554
 
528
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
555
+ config_attr :endpoint, nil, ::String, nil
529
556
  config_attr :credentials, nil do |value|
530
557
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
531
558
  allowed.any? { |klass| klass === value }
@@ -537,6 +564,7 @@ module Google
537
564
  config_attr :metadata, nil, ::Hash, nil
538
565
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
539
566
  config_attr :quota_project, nil, ::String, nil
567
+ config_attr :universe_domain, nil, ::String, nil
540
568
 
541
569
  # @private
542
570
  def initialize parent_config = nil