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
@@ -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)
@@ -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
  @recommendation_service_stub = ::Gapic::ServiceStub.new(
149
156
  ::Google::Cloud::DiscoveryEngine::V1beta::RecommendationService::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 = @recommendation_service_stub.endpoint
170
+ config.universe_domain = @recommendation_service_stub.universe_domain
171
+ end
156
172
  end
157
173
 
158
174
  ##
@@ -373,9 +389,9 @@ module Google
373
389
  # end
374
390
  #
375
391
  # @!attribute [rw] endpoint
376
- # The hostname or hostname:port of the service endpoint.
377
- # Defaults to `"discoveryengine.googleapis.com"`.
378
- # @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]
379
395
  # @!attribute [rw] credentials
380
396
  # Credentials to send with calls. You may provide any of the following types:
381
397
  # * (`String`) The path to a service account key file in JSON format
@@ -421,13 +437,20 @@ module Google
421
437
  # @!attribute [rw] quota_project
422
438
  # A separate project against which to charge quota.
423
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]
424
445
  #
425
446
  class Configuration
426
447
  extend ::Gapic::Config
427
448
 
449
+ # @private
450
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
428
451
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
429
452
 
430
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
453
+ config_attr :endpoint, nil, ::String, nil
431
454
  config_attr :credentials, nil do |value|
432
455
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
433
456
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -442,6 +465,7 @@ module Google
442
465
  config_attr :metadata, nil, ::Hash, nil
443
466
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
444
467
  config_attr :quota_project, nil, ::String, nil
468
+ config_attr :universe_domain, nil, ::String, nil
445
469
 
446
470
  # @private
447
471
  def initialize parent_config = nil
@@ -33,6 +33,9 @@ module Google
33
33
  # Service for making recommendations.
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
+ @recommendation_service_stub.universe_domain
111
+ end
112
+
101
113
  ##
102
114
  # Create a new RecommendationService 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
+ @recommendation_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::RecommendationService::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 = @recommendation_service_stub.endpoint
163
+ config.universe_domain = @recommendation_service_stub.universe_domain
143
164
  end
144
-
145
- @recommendation_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::RecommendationService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
146
165
  end
147
166
 
148
167
  ##
@@ -356,9 +375,9 @@ module Google
356
375
  # end
357
376
  #
358
377
  # @!attribute [rw] endpoint
359
- # The hostname or hostname:port of the service endpoint.
360
- # Defaults to `"discoveryengine.googleapis.com"`.
361
- # @return [::String]
378
+ # A custom service endpoint, as a hostname or hostname:port. The default is
379
+ # nil, indicating to use the default endpoint in the current universe domain.
380
+ # @return [::String,nil]
362
381
  # @!attribute [rw] credentials
363
382
  # Credentials to send with calls. You may provide any of the following types:
364
383
  # * (`String`) The path to a service account key file in JSON format
@@ -395,13 +414,20 @@ module Google
395
414
  # @!attribute [rw] quota_project
396
415
  # A separate project against which to charge quota.
397
416
  # @return [::String]
417
+ # @!attribute [rw] universe_domain
418
+ # The universe domain within which to make requests. This determines the
419
+ # default endpoint URL. The default value of nil uses the environment
420
+ # universe (usually the default "googleapis.com" universe).
421
+ # @return [::String,nil]
398
422
  #
399
423
  class Configuration
400
424
  extend ::Gapic::Config
401
425
 
426
+ # @private
427
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
402
428
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
403
429
 
404
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
430
+ config_attr :endpoint, nil, ::String, nil
405
431
  config_attr :credentials, nil do |value|
406
432
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
407
433
  allowed.any? { |klass| klass === value }
@@ -413,6 +439,7 @@ module Google
413
439
  config_attr :metadata, nil, ::Hash, nil
414
440
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
415
441
  config_attr :quota_project, nil, ::String, nil
442
+ config_attr :universe_domain, nil, ::String, nil
416
443
 
417
444
  # @private
418
445
  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 recommend REST call
45
66
  #
@@ -31,6 +31,9 @@ module Google
31
31
  # Service for managing {::Google::Cloud::DiscoveryEngine::V1beta::Schema Schema}s.
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
+ @schema_service_stub.universe_domain
109
+ end
110
+
99
111
  ##
100
112
  # Create a new SchemaService 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,22 +156,26 @@ module Google
143
156
  config.credentials = credentials
144
157
  config.quota_project = @quota_project_id
145
158
  config.endpoint = @config.endpoint
146
- end
147
-
148
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
149
- config.credentials = credentials
150
- config.quota_project = @quota_project_id
151
- config.endpoint = @config.endpoint
159
+ config.universe_domain = @config.universe_domain
152
160
  end
153
161
 
154
162
  @schema_service_stub = ::Gapic::ServiceStub.new(
155
163
  ::Google::Cloud::DiscoveryEngine::V1beta::SchemaService::Stub,
156
- credentials: credentials,
157
- endpoint: @config.endpoint,
164
+ credentials: credentials,
165
+ endpoint: @config.endpoint,
166
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
167
+ universe_domain: @config.universe_domain,
158
168
  channel_args: @config.channel_args,
159
169
  interceptors: @config.interceptors,
160
170
  channel_pool_config: @config.channel_pool
161
171
  )
172
+
173
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
174
+ config.credentials = credentials
175
+ config.quota_project = @quota_project_id
176
+ config.endpoint = @schema_service_stub.endpoint
177
+ config.universe_domain = @schema_service_stub.universe_domain
178
+ end
162
179
  end
163
180
 
164
181
  ##
@@ -699,9 +716,9 @@ module Google
699
716
  # end
700
717
  #
701
718
  # @!attribute [rw] endpoint
702
- # The hostname or hostname:port of the service endpoint.
703
- # Defaults to `"discoveryengine.googleapis.com"`.
704
- # @return [::String]
719
+ # A custom service endpoint, as a hostname or hostname:port. The default is
720
+ # nil, indicating to use the default endpoint in the current universe domain.
721
+ # @return [::String,nil]
705
722
  # @!attribute [rw] credentials
706
723
  # Credentials to send with calls. You may provide any of the following types:
707
724
  # * (`String`) The path to a service account key file in JSON format
@@ -747,13 +764,20 @@ module Google
747
764
  # @!attribute [rw] quota_project
748
765
  # A separate project against which to charge quota.
749
766
  # @return [::String]
767
+ # @!attribute [rw] universe_domain
768
+ # The universe domain within which to make requests. This determines the
769
+ # default endpoint URL. The default value of nil uses the environment
770
+ # universe (usually the default "googleapis.com" universe).
771
+ # @return [::String,nil]
750
772
  #
751
773
  class Configuration
752
774
  extend ::Gapic::Config
753
775
 
776
+ # @private
777
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
754
778
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
755
779
 
756
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
780
+ config_attr :endpoint, nil, ::String, nil
757
781
  config_attr :credentials, nil do |value|
758
782
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
759
783
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -768,6 +792,7 @@ module Google
768
792
  config_attr :metadata, nil, ::Hash, nil
769
793
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
770
794
  config_attr :quota_project, nil, ::String, nil
795
+ config_attr :universe_domain, nil, ::String, nil
771
796
 
772
797
  # @private
773
798
  def initialize parent_config = nil
@@ -26,6 +26,9 @@ module Google
26
26
  module SchemaService
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 managing {::Google::Cloud::DiscoveryEngine::V1beta::Schema Schema}s.
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
+ @schema_service_stub.universe_domain
111
+ end
112
+
101
113
  ##
102
114
  # Create a new SchemaService 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)
@@ -140,15 +153,22 @@ module Google
140
153
  config.credentials = credentials
141
154
  config.quota_project = @quota_project_id
142
155
  config.endpoint = @config.endpoint
156
+ config.universe_domain = @config.universe_domain
143
157
  end
144
158
 
159
+ @schema_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::SchemaService::Rest::ServiceStub.new(
160
+ endpoint: @config.endpoint,
161
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
162
+ universe_domain: @config.universe_domain,
163
+ credentials: credentials
164
+ )
165
+
145
166
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
146
167
  config.credentials = credentials
147
168
  config.quota_project = @quota_project_id
148
- config.endpoint = @config.endpoint
169
+ config.endpoint = @schema_service_stub.endpoint
170
+ config.universe_domain = @schema_service_stub.universe_domain
149
171
  end
150
-
151
- @schema_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::SchemaService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
152
172
  end
153
173
 
154
174
  ##
@@ -654,9 +674,9 @@ module Google
654
674
  # end
655
675
  #
656
676
  # @!attribute [rw] endpoint
657
- # The hostname or hostname:port of the service endpoint.
658
- # Defaults to `"discoveryengine.googleapis.com"`.
659
- # @return [::String]
677
+ # A custom service endpoint, as a hostname or hostname:port. The default is
678
+ # nil, indicating to use the default endpoint in the current universe domain.
679
+ # @return [::String,nil]
660
680
  # @!attribute [rw] credentials
661
681
  # Credentials to send with calls. You may provide any of the following types:
662
682
  # * (`String`) The path to a service account key file in JSON format
@@ -693,13 +713,20 @@ module Google
693
713
  # @!attribute [rw] quota_project
694
714
  # A separate project against which to charge quota.
695
715
  # @return [::String]
716
+ # @!attribute [rw] universe_domain
717
+ # The universe domain within which to make requests. This determines the
718
+ # default endpoint URL. The default value of nil uses the environment
719
+ # universe (usually the default "googleapis.com" universe).
720
+ # @return [::String,nil]
696
721
  #
697
722
  class Configuration
698
723
  extend ::Gapic::Config
699
724
 
725
+ # @private
726
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
700
727
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
701
728
 
702
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
729
+ config_attr :endpoint, nil, ::String, nil
703
730
  config_attr :credentials, nil do |value|
704
731
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
705
732
  allowed.any? { |klass| klass === value }
@@ -711,6 +738,7 @@ module Google
711
738
  config_attr :metadata, nil, ::Hash, nil
712
739
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
713
740
  config_attr :quota_project, nil, ::String, nil
741
+ config_attr :universe_domain, nil, ::String, nil
714
742
 
715
743
  # @private
716
744
  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
@@ -478,9 +492,9 @@ module Google
478
492
  # end
479
493
  #
480
494
  # @!attribute [rw] endpoint
481
- # The hostname or hostname:port of the service endpoint.
482
- # Defaults to `"discoveryengine.googleapis.com"`.
483
- # @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]
484
498
  # @!attribute [rw] credentials
485
499
  # Credentials to send with calls. You may provide any of the following types:
486
500
  # * (`String`) The path to a service account key file in JSON format
@@ -517,13 +531,20 @@ module Google
517
531
  # @!attribute [rw] quota_project
518
532
  # A separate project against which to charge quota.
519
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]
520
539
  #
521
540
  class Configuration
522
541
  extend ::Gapic::Config
523
542
 
543
+ # @private
544
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
524
545
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
525
546
 
526
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
547
+ config_attr :endpoint, nil, ::String, nil
527
548
  config_attr :credentials, nil do |value|
528
549
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
529
550
  allowed.any? { |klass| klass === value }
@@ -535,6 +556,7 @@ module Google
535
556
  config_attr :metadata, nil, ::Hash, nil
536
557
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
537
558
  config_attr :quota_project, nil, ::String, nil
559
+ config_attr :universe_domain, nil, ::String, nil
538
560
 
539
561
  # @private
540
562
  def initialize parent_config = nil
@@ -617,12 +639,15 @@ module Google
617
639
  # Service stub contains baseline method implementations
618
640
  # including transcoding, making the REST call, and deserialing the response.
619
641
  class OperationsServiceStub
620
- def initialize endpoint:, credentials:
642
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
621
643
  # These require statements are intentionally placed here to initialize
622
644
  # the REST modules only when it's required.
623
645
  require "gapic/rest"
624
646
 
625
- @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
626
651
  end
627
652
 
628
653
  ##