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
@@ -33,6 +33,9 @@ module Google
33
33
  # Service for conversational 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
+ @conversational_search_service_stub.universe_domain
111
+ end
112
+
101
113
  ##
102
114
  # Create a new ConversationalSearchService 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
+ @conversational_search_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::ConversationalSearchService::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 = @conversational_search_service_stub.endpoint
163
+ config.universe_domain = @conversational_search_service_stub.universe_domain
143
164
  end
144
-
145
- @conversational_search_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::ConversationalSearchService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
146
165
  end
147
166
 
148
167
  ##
@@ -743,9 +762,9 @@ module Google
743
762
  # end
744
763
  #
745
764
  # @!attribute [rw] endpoint
746
- # The hostname or hostname:port of the service endpoint.
747
- # Defaults to `"discoveryengine.googleapis.com"`.
748
- # @return [::String]
765
+ # A custom service endpoint, as a hostname or hostname:port. The default is
766
+ # nil, indicating to use the default endpoint in the current universe domain.
767
+ # @return [::String,nil]
749
768
  # @!attribute [rw] credentials
750
769
  # Credentials to send with calls. You may provide any of the following types:
751
770
  # * (`String`) The path to a service account key file in JSON format
@@ -782,13 +801,20 @@ module Google
782
801
  # @!attribute [rw] quota_project
783
802
  # A separate project against which to charge quota.
784
803
  # @return [::String]
804
+ # @!attribute [rw] universe_domain
805
+ # The universe domain within which to make requests. This determines the
806
+ # default endpoint URL. The default value of nil uses the environment
807
+ # universe (usually the default "googleapis.com" universe).
808
+ # @return [::String,nil]
785
809
  #
786
810
  class Configuration
787
811
  extend ::Gapic::Config
788
812
 
813
+ # @private
814
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
789
815
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
790
816
 
791
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
817
+ config_attr :endpoint, nil, ::String, nil
792
818
  config_attr :credentials, nil do |value|
793
819
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
794
820
  allowed.any? { |klass| klass === value }
@@ -800,6 +826,7 @@ module Google
800
826
  config_attr :metadata, nil, ::Hash, nil
801
827
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
802
828
  config_attr :quota_project, nil, ::String, nil
829
+ config_attr :universe_domain, nil, ::String, nil
803
830
 
804
831
  # @private
805
832
  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 converse_conversation REST call
45
66
  #
@@ -33,6 +33,9 @@ module Google
33
33
  # customer's website.
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
+ @document_service_stub.universe_domain
116
+ end
117
+
106
118
  ##
107
119
  # Create a new DocumentService client object.
108
120
  #
@@ -136,8 +148,9 @@ module Google
136
148
  credentials = @config.credentials
137
149
  # Use self-signed JWT if the endpoint is unchanged from default,
138
150
  # but only if the default endpoint does not have a region prefix.
139
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
140
- !@config.endpoint.split(".").first.include?("-")
151
+ enable_self_signed_jwt = @config.endpoint.nil? ||
152
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
153
+ !@config.endpoint.split(".").first.include?("-"))
141
154
  credentials ||= Credentials.default scope: @config.scope,
142
155
  enable_self_signed_jwt: enable_self_signed_jwt
143
156
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -150,22 +163,26 @@ module Google
150
163
  config.credentials = credentials
151
164
  config.quota_project = @quota_project_id
152
165
  config.endpoint = @config.endpoint
153
- end
154
-
155
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
156
- config.credentials = credentials
157
- config.quota_project = @quota_project_id
158
- config.endpoint = @config.endpoint
166
+ config.universe_domain = @config.universe_domain
159
167
  end
160
168
 
161
169
  @document_service_stub = ::Gapic::ServiceStub.new(
162
170
  ::Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Stub,
163
- credentials: credentials,
164
- endpoint: @config.endpoint,
171
+ credentials: credentials,
172
+ endpoint: @config.endpoint,
173
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
174
+ universe_domain: @config.universe_domain,
165
175
  channel_args: @config.channel_args,
166
176
  interceptors: @config.interceptors,
167
177
  channel_pool_config: @config.channel_pool
168
178
  )
179
+
180
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
181
+ config.credentials = credentials
182
+ config.quota_project = @quota_project_id
183
+ config.endpoint = @document_service_stub.endpoint
184
+ config.universe_domain = @document_service_stub.universe_domain
185
+ end
169
186
  end
170
187
 
171
188
  ##
@@ -1005,9 +1022,9 @@ module Google
1005
1022
  # end
1006
1023
  #
1007
1024
  # @!attribute [rw] endpoint
1008
- # The hostname or hostname:port of the service endpoint.
1009
- # Defaults to `"discoveryengine.googleapis.com"`.
1010
- # @return [::String]
1025
+ # A custom service endpoint, as a hostname or hostname:port. The default is
1026
+ # nil, indicating to use the default endpoint in the current universe domain.
1027
+ # @return [::String,nil]
1011
1028
  # @!attribute [rw] credentials
1012
1029
  # Credentials to send with calls. You may provide any of the following types:
1013
1030
  # * (`String`) The path to a service account key file in JSON format
@@ -1053,13 +1070,20 @@ module Google
1053
1070
  # @!attribute [rw] quota_project
1054
1071
  # A separate project against which to charge quota.
1055
1072
  # @return [::String]
1073
+ # @!attribute [rw] universe_domain
1074
+ # The universe domain within which to make requests. This determines the
1075
+ # default endpoint URL. The default value of nil uses the environment
1076
+ # universe (usually the default "googleapis.com" universe).
1077
+ # @return [::String,nil]
1056
1078
  #
1057
1079
  class Configuration
1058
1080
  extend ::Gapic::Config
1059
1081
 
1082
+ # @private
1083
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1060
1084
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
1061
1085
 
1062
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1086
+ config_attr :endpoint, nil, ::String, nil
1063
1087
  config_attr :credentials, nil do |value|
1064
1088
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1065
1089
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -1074,6 +1098,7 @@ module Google
1074
1098
  config_attr :metadata, nil, ::Hash, nil
1075
1099
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1076
1100
  config_attr :quota_project, nil, ::String, nil
1101
+ config_attr :universe_domain, nil, ::String, nil
1077
1102
 
1078
1103
  # @private
1079
1104
  def initialize parent_config = nil
@@ -26,6 +26,9 @@ module Google
26
26
  module DocumentService
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
@@ -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
 
166
+ @document_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::ServiceStub.new(
167
+ endpoint: @config.endpoint,
168
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
169
+ universe_domain: @config.universe_domain,
170
+ credentials: credentials
171
+ )
172
+
152
173
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
153
174
  config.credentials = credentials
154
175
  config.quota_project = @quota_project_id
155
- config.endpoint = @config.endpoint
176
+ config.endpoint = @document_service_stub.endpoint
177
+ config.universe_domain = @document_service_stub.universe_domain
156
178
  end
157
-
158
- @document_service_stub = ::Google::Cloud::DiscoveryEngine::V1beta::DocumentService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
159
179
  end
160
180
 
161
181
  ##
@@ -946,9 +966,9 @@ module Google
946
966
  # end
947
967
  #
948
968
  # @!attribute [rw] endpoint
949
- # The hostname or hostname:port of the service endpoint.
950
- # Defaults to `"discoveryengine.googleapis.com"`.
951
- # @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]
952
972
  # @!attribute [rw] credentials
953
973
  # Credentials to send with calls. You may provide any of the following types:
954
974
  # * (`String`) The path to a service account key file in JSON format
@@ -985,13 +1005,20 @@ module Google
985
1005
  # @!attribute [rw] quota_project
986
1006
  # A separate project against which to charge quota.
987
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]
988
1013
  #
989
1014
  class Configuration
990
1015
  extend ::Gapic::Config
991
1016
 
1017
+ # @private
1018
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
992
1019
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
993
1020
 
994
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1021
+ config_attr :endpoint, nil, ::String, nil
995
1022
  config_attr :credentials, nil do |value|
996
1023
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
997
1024
  allowed.any? { |klass| klass === value }
@@ -1003,6 +1030,7 @@ module Google
1003
1030
  config_attr :metadata, nil, ::Hash, nil
1004
1031
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1005
1032
  config_attr :quota_project, nil, ::String, nil
1033
+ config_attr :universe_domain, nil, ::String, nil
1006
1034
 
1007
1035
  # @private
1008
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
@@ -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
  ##
@@ -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_document REST call
45
66
  #