google-cloud-discovery_engine-v1 0.3.0 → 0.4.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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -99
  3. data/lib/google/cloud/discovery_engine/v1/completion_service/client.rb +38 -14
  4. data/lib/google/cloud/discovery_engine/v1/completion_service/rest/client.rb +36 -9
  5. data/lib/google/cloud/discovery_engine/v1/completion_service/rest/service_stub.rb +23 -2
  6. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/client.rb +38 -14
  7. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/rest/client.rb +36 -9
  8. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/rest/service_stub.rb +23 -2
  9. data/lib/google/cloud/discovery_engine/v1/document_service/client.rb +39 -14
  10. data/lib/google/cloud/discovery_engine/v1/document_service/operations.rb +28 -6
  11. data/lib/google/cloud/discovery_engine/v1/document_service/rest/client.rb +37 -9
  12. data/lib/google/cloud/discovery_engine/v1/document_service/rest/operations.rb +33 -8
  13. data/lib/google/cloud/discovery_engine/v1/document_service/rest/service_stub.rb +23 -2
  14. data/lib/google/cloud/discovery_engine/v1/schema_service/client.rb +39 -14
  15. data/lib/google/cloud/discovery_engine/v1/schema_service/operations.rb +28 -6
  16. data/lib/google/cloud/discovery_engine/v1/schema_service/rest/client.rb +37 -9
  17. data/lib/google/cloud/discovery_engine/v1/schema_service/rest/operations.rb +33 -8
  18. data/lib/google/cloud/discovery_engine/v1/schema_service/rest/service_stub.rb +23 -2
  19. data/lib/google/cloud/discovery_engine/v1/search_service/client.rb +38 -14
  20. data/lib/google/cloud/discovery_engine/v1/search_service/rest/client.rb +36 -9
  21. data/lib/google/cloud/discovery_engine/v1/search_service/rest/service_stub.rb +23 -2
  22. data/lib/google/cloud/discovery_engine/v1/user_event_service/client.rb +39 -14
  23. data/lib/google/cloud/discovery_engine/v1/user_event_service/operations.rb +28 -6
  24. data/lib/google/cloud/discovery_engine/v1/user_event_service/rest/client.rb +37 -9
  25. data/lib/google/cloud/discovery_engine/v1/user_event_service/rest/operations.rb +33 -8
  26. data/lib/google/cloud/discovery_engine/v1/user_event_service/rest/service_stub.rb +23 -2
  27. data/lib/google/cloud/discovery_engine/v1/version.rb +1 -1
  28. data/proto_docs/google/api/client.rb +14 -0
  29. data/proto_docs/google/cloud/discoveryengine/v1/search_service.rb +2 -0
  30. 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::V1::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::V1::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
  #
@@ -32,6 +32,9 @@ module Google
32
32
  # information of the customer's website.
33
33
  #
34
34
  class Client
35
+ # @private
36
+ DEFAULT_ENDPOINT_TEMPLATE = "discoveryengine.$UNIVERSE_DOMAIN$"
37
+
35
38
  include Paths
36
39
 
37
40
  # @private
@@ -102,6 +105,15 @@ module Google
102
105
  @config
103
106
  end
104
107
 
108
+ ##
109
+ # The effective universe domain
110
+ #
111
+ # @return [String]
112
+ #
113
+ def universe_domain
114
+ @document_service_stub.universe_domain
115
+ end
116
+
105
117
  ##
106
118
  # Create a new DocumentService client object.
107
119
  #
@@ -135,8 +147,9 @@ module Google
135
147
  credentials = @config.credentials
136
148
  # Use self-signed JWT if the endpoint is unchanged from default,
137
149
  # but only if the default endpoint does not have a region prefix.
138
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
139
- !@config.endpoint.split(".").first.include?("-")
150
+ enable_self_signed_jwt = @config.endpoint.nil? ||
151
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
152
+ !@config.endpoint.split(".").first.include?("-"))
140
153
  credentials ||= Credentials.default scope: @config.scope,
141
154
  enable_self_signed_jwt: enable_self_signed_jwt
142
155
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -149,22 +162,26 @@ module Google
149
162
  config.credentials = credentials
150
163
  config.quota_project = @quota_project_id
151
164
  config.endpoint = @config.endpoint
152
- end
153
-
154
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
155
- config.credentials = credentials
156
- config.quota_project = @quota_project_id
157
- config.endpoint = @config.endpoint
165
+ config.universe_domain = @config.universe_domain
158
166
  end
159
167
 
160
168
  @document_service_stub = ::Gapic::ServiceStub.new(
161
169
  ::Google::Cloud::DiscoveryEngine::V1::DocumentService::Stub,
162
- credentials: credentials,
163
- endpoint: @config.endpoint,
170
+ credentials: credentials,
171
+ endpoint: @config.endpoint,
172
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
173
+ universe_domain: @config.universe_domain,
164
174
  channel_args: @config.channel_args,
165
175
  interceptors: @config.interceptors,
166
176
  channel_pool_config: @config.channel_pool
167
177
  )
178
+
179
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
180
+ config.credentials = credentials
181
+ config.quota_project = @quota_project_id
182
+ config.endpoint = @document_service_stub.endpoint
183
+ config.universe_domain = @document_service_stub.universe_domain
184
+ end
168
185
  end
169
186
 
170
187
  ##
@@ -999,9 +1016,9 @@ module Google
999
1016
  # end
1000
1017
  #
1001
1018
  # @!attribute [rw] endpoint
1002
- # The hostname or hostname:port of the service endpoint.
1003
- # Defaults to `"discoveryengine.googleapis.com"`.
1004
- # @return [::String]
1019
+ # A custom service endpoint, as a hostname or hostname:port. The default is
1020
+ # nil, indicating to use the default endpoint in the current universe domain.
1021
+ # @return [::String,nil]
1005
1022
  # @!attribute [rw] credentials
1006
1023
  # Credentials to send with calls. You may provide any of the following types:
1007
1024
  # * (`String`) The path to a service account key file in JSON format
@@ -1047,13 +1064,20 @@ module Google
1047
1064
  # @!attribute [rw] quota_project
1048
1065
  # A separate project against which to charge quota.
1049
1066
  # @return [::String]
1067
+ # @!attribute [rw] universe_domain
1068
+ # The universe domain within which to make requests. This determines the
1069
+ # default endpoint URL. The default value of nil uses the environment
1070
+ # universe (usually the default "googleapis.com" universe).
1071
+ # @return [::String,nil]
1050
1072
  #
1051
1073
  class Configuration
1052
1074
  extend ::Gapic::Config
1053
1075
 
1076
+ # @private
1077
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1054
1078
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
1055
1079
 
1056
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1080
+ config_attr :endpoint, nil, ::String, nil
1057
1081
  config_attr :credentials, nil do |value|
1058
1082
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1059
1083
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -1068,6 +1092,7 @@ module Google
1068
1092
  config_attr :metadata, nil, ::Hash, nil
1069
1093
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1070
1094
  config_attr :quota_project, nil, ::String, nil
1095
+ config_attr :universe_domain, nil, ::String, nil
1071
1096
 
1072
1097
  # @private
1073
1098
  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
@@ -34,6 +34,9 @@ module Google
34
34
  # information of the customer's website.
35
35
  #
36
36
  class Client
37
+ # @private
38
+ DEFAULT_ENDPOINT_TEMPLATE = "discoveryengine.$UNIVERSE_DOMAIN$"
39
+
37
40
  include Paths
38
41
 
39
42
  # @private
@@ -104,6 +107,15 @@ module Google
104
107
  @config
105
108
  end
106
109
 
110
+ ##
111
+ # The effective universe domain
112
+ #
113
+ # @return [String]
114
+ #
115
+ def universe_domain
116
+ @document_service_stub.universe_domain
117
+ end
118
+
107
119
  ##
108
120
  # Create a new DocumentService REST client object.
109
121
  #
@@ -131,8 +143,9 @@ module Google
131
143
  credentials = @config.credentials
132
144
  # Use self-signed JWT if the endpoint is unchanged from default,
133
145
  # but only if the default endpoint does not have a region prefix.
134
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
135
- !@config.endpoint.split(".").first.include?("-")
146
+ enable_self_signed_jwt = @config.endpoint.nil? ||
147
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
148
+ !@config.endpoint.split(".").first.include?("-"))
136
149
  credentials ||= Credentials.default scope: @config.scope,
137
150
  enable_self_signed_jwt: enable_self_signed_jwt
138
151
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -146,15 +159,22 @@ module Google
146
159
  config.credentials = credentials
147
160
  config.quota_project = @quota_project_id
148
161
  config.endpoint = @config.endpoint
162
+ config.universe_domain = @config.universe_domain
149
163
  end
150
164
 
165
+ @document_service_stub = ::Google::Cloud::DiscoveryEngine::V1::DocumentService::Rest::ServiceStub.new(
166
+ endpoint: @config.endpoint,
167
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
168
+ universe_domain: @config.universe_domain,
169
+ credentials: credentials
170
+ )
171
+
151
172
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
152
173
  config.credentials = credentials
153
174
  config.quota_project = @quota_project_id
154
- config.endpoint = @config.endpoint
175
+ config.endpoint = @document_service_stub.endpoint
176
+ config.universe_domain = @document_service_stub.universe_domain
155
177
  end
156
-
157
- @document_service_stub = ::Google::Cloud::DiscoveryEngine::V1::DocumentService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
158
178
  end
159
179
 
160
180
  ##
@@ -940,9 +960,9 @@ module Google
940
960
  # end
941
961
  #
942
962
  # @!attribute [rw] endpoint
943
- # The hostname or hostname:port of the service endpoint.
944
- # Defaults to `"discoveryengine.googleapis.com"`.
945
- # @return [::String]
963
+ # A custom service endpoint, as a hostname or hostname:port. The default is
964
+ # nil, indicating to use the default endpoint in the current universe domain.
965
+ # @return [::String,nil]
946
966
  # @!attribute [rw] credentials
947
967
  # Credentials to send with calls. You may provide any of the following types:
948
968
  # * (`String`) The path to a service account key file in JSON format
@@ -979,13 +999,20 @@ module Google
979
999
  # @!attribute [rw] quota_project
980
1000
  # A separate project against which to charge quota.
981
1001
  # @return [::String]
1002
+ # @!attribute [rw] universe_domain
1003
+ # The universe domain within which to make requests. This determines the
1004
+ # default endpoint URL. The default value of nil uses the environment
1005
+ # universe (usually the default "googleapis.com" universe).
1006
+ # @return [::String,nil]
982
1007
  #
983
1008
  class Configuration
984
1009
  extend ::Gapic::Config
985
1010
 
1011
+ # @private
1012
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
986
1013
  DEFAULT_ENDPOINT = "discoveryengine.googleapis.com"
987
1014
 
988
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1015
+ config_attr :endpoint, nil, ::String, nil
989
1016
  config_attr :credentials, nil do |value|
990
1017
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
991
1018
  allowed.any? { |klass| klass === value }
@@ -997,6 +1024,7 @@ module Google
997
1024
  config_attr :metadata, nil, ::Hash, nil
998
1025
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
999
1026
  config_attr :quota_project, nil, ::String, nil
1027
+ config_attr :universe_domain, nil, ::String, nil
1000
1028
 
1001
1029
  # @private
1002
1030
  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
  #