google-cloud-retail-v2 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -101
  3. data/lib/google/cloud/retail/v2/catalog_service/client.rb +32 -8
  4. data/lib/google/cloud/retail/v2/catalog_service/rest/client.rb +34 -7
  5. data/lib/google/cloud/retail/v2/catalog_service/rest/service_stub.rb +14 -2
  6. data/lib/google/cloud/retail/v2/completion_service/client.rb +33 -8
  7. data/lib/google/cloud/retail/v2/completion_service/operations.rb +28 -6
  8. data/lib/google/cloud/retail/v2/completion_service/rest/client.rb +35 -7
  9. data/lib/google/cloud/retail/v2/completion_service/rest/operations.rb +33 -8
  10. data/lib/google/cloud/retail/v2/completion_service/rest/service_stub.rb +14 -2
  11. data/lib/google/cloud/retail/v2/control_service/client.rb +32 -8
  12. data/lib/google/cloud/retail/v2/control_service/rest/client.rb +34 -7
  13. data/lib/google/cloud/retail/v2/control_service/rest/service_stub.rb +14 -2
  14. data/lib/google/cloud/retail/v2/model_service/client.rb +33 -8
  15. data/lib/google/cloud/retail/v2/model_service/operations.rb +28 -6
  16. data/lib/google/cloud/retail/v2/model_service/rest/client.rb +35 -7
  17. data/lib/google/cloud/retail/v2/model_service/rest/operations.rb +33 -8
  18. data/lib/google/cloud/retail/v2/model_service/rest/service_stub.rb +14 -2
  19. data/lib/google/cloud/retail/v2/prediction_service/client.rb +32 -8
  20. data/lib/google/cloud/retail/v2/prediction_service/rest/client.rb +34 -7
  21. data/lib/google/cloud/retail/v2/prediction_service/rest/service_stub.rb +14 -2
  22. data/lib/google/cloud/retail/v2/product_service/client.rb +33 -8
  23. data/lib/google/cloud/retail/v2/product_service/operations.rb +28 -6
  24. data/lib/google/cloud/retail/v2/product_service/rest/client.rb +35 -7
  25. data/lib/google/cloud/retail/v2/product_service/rest/operations.rb +33 -8
  26. data/lib/google/cloud/retail/v2/product_service/rest/service_stub.rb +14 -2
  27. data/lib/google/cloud/retail/v2/search_service/client.rb +32 -8
  28. data/lib/google/cloud/retail/v2/search_service/rest/client.rb +34 -7
  29. data/lib/google/cloud/retail/v2/search_service/rest/service_stub.rb +14 -2
  30. data/lib/google/cloud/retail/v2/serving_config_service/client.rb +32 -8
  31. data/lib/google/cloud/retail/v2/serving_config_service/rest/client.rb +34 -7
  32. data/lib/google/cloud/retail/v2/serving_config_service/rest/service_stub.rb +14 -2
  33. data/lib/google/cloud/retail/v2/user_event_service/client.rb +33 -8
  34. data/lib/google/cloud/retail/v2/user_event_service/operations.rb +28 -6
  35. data/lib/google/cloud/retail/v2/user_event_service/rest/client.rb +35 -7
  36. data/lib/google/cloud/retail/v2/user_event_service/rest/operations.rb +33 -8
  37. data/lib/google/cloud/retail/v2/user_event_service/rest/service_stub.rb +14 -2
  38. data/lib/google/cloud/retail/v2/version.rb +1 -1
  39. data/proto_docs/google/api/client.rb +14 -0
  40. data/proto_docs/google/cloud/retail/v2/common.rb +2 -0
  41. data/proto_docs/google/cloud/retail/v2/import_config.rb +2 -0
  42. data/proto_docs/google/cloud/retail/v2/prediction_service.rb +1 -0
  43. data/proto_docs/google/cloud/retail/v2/product.rb +1 -0
  44. data/proto_docs/google/cloud/retail/v2/search_service.rb +1 -0
  45. metadata +7 -7
@@ -36,6 +36,9 @@ module Google
36
36
  # Enable Retail Search on Cloud Console before using this feature.
37
37
  #
38
38
  class Client
39
+ # @private
40
+ DEFAULT_ENDPOINT_TEMPLATE = "retail.$UNIVERSE_DOMAIN$"
41
+
39
42
  include Paths
40
43
 
41
44
  # @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
+ @completion_service_stub.universe_domain
114
+ end
115
+
104
116
  ##
105
117
  # Create a new CompletionService REST client object.
106
118
  #
@@ -128,8 +140,9 @@ module Google
128
140
  credentials = @config.credentials
129
141
  # Use self-signed JWT if the endpoint is unchanged from default,
130
142
  # but only if the default endpoint does not have a region prefix.
131
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
132
- !@config.endpoint.split(".").first.include?("-")
143
+ enable_self_signed_jwt = @config.endpoint.nil? ||
144
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
145
+ !@config.endpoint.split(".").first.include?("-"))
133
146
  credentials ||= Credentials.default scope: @config.scope,
134
147
  enable_self_signed_jwt: enable_self_signed_jwt
135
148
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -143,15 +156,22 @@ module Google
143
156
  config.credentials = credentials
144
157
  config.quota_project = @quota_project_id
145
158
  config.endpoint = @config.endpoint
159
+ config.universe_domain = @config.universe_domain
146
160
  end
147
161
 
148
162
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
149
163
  config.credentials = credentials
150
164
  config.quota_project = @quota_project_id
151
165
  config.endpoint = @config.endpoint
166
+ config.universe_domain = @config.universe_domain
152
167
  end
153
168
 
154
- @completion_service_stub = ::Google::Cloud::Retail::V2::CompletionService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
169
+ @completion_service_stub = ::Google::Cloud::Retail::V2::CompletionService::Rest::ServiceStub.new(
170
+ endpoint: @config.endpoint,
171
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
172
+ universe_domain: @config.universe_domain,
173
+ credentials: credentials
174
+ )
155
175
  end
156
176
 
157
177
  ##
@@ -455,9 +475,9 @@ module Google
455
475
  # end
456
476
  #
457
477
  # @!attribute [rw] endpoint
458
- # The hostname or hostname:port of the service endpoint.
459
- # Defaults to `"retail.googleapis.com"`.
460
- # @return [::String]
478
+ # A custom service endpoint, as a hostname or hostname:port. The default is
479
+ # nil, indicating to use the default endpoint in the current universe domain.
480
+ # @return [::String,nil]
461
481
  # @!attribute [rw] credentials
462
482
  # Credentials to send with calls. You may provide any of the following types:
463
483
  # * (`String`) The path to a service account key file in JSON format
@@ -494,13 +514,20 @@ module Google
494
514
  # @!attribute [rw] quota_project
495
515
  # A separate project against which to charge quota.
496
516
  # @return [::String]
517
+ # @!attribute [rw] universe_domain
518
+ # The universe domain within which to make requests. This determines the
519
+ # default endpoint URL. The default value of nil uses the environment
520
+ # universe (usually the default "googleapis.com" universe).
521
+ # @return [::String,nil]
497
522
  #
498
523
  class Configuration
499
524
  extend ::Gapic::Config
500
525
 
526
+ # @private
527
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
501
528
  DEFAULT_ENDPOINT = "retail.googleapis.com"
502
529
 
503
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
530
+ config_attr :endpoint, nil, ::String, nil
504
531
  config_attr :credentials, nil do |value|
505
532
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
506
533
  allowed.any? { |klass| klass === value }
@@ -512,6 +539,7 @@ module Google
512
539
  config_attr :metadata, nil, ::Hash, nil
513
540
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
514
541
  config_attr :quota_project, nil, ::String, nil
542
+ config_attr :universe_domain, nil, ::String, nil
515
543
 
516
544
  # @private
517
545
  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 = "retail.$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 `"retail.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 = "retail.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,28 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, credentials:
33
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
34
  # These require statements are intentionally placed here to initialize
35
35
  # the REST modules only when it's required.
36
36
  require "gapic/rest"
37
37
 
38
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
39
+ endpoint_template: endpoint_template,
40
+ universe_domain: universe_domain,
41
+ credentials: credentials,
39
42
  numeric_enums: true,
40
43
  raise_faraday_errors: false
41
44
  end
42
45
 
46
+ ##
47
+ # The effective universe domain
48
+ #
49
+ # @return [String]
50
+ #
51
+ def universe_domain
52
+ @client_stub.universe_domain
53
+ end
54
+
43
55
  ##
44
56
  # Baseline implementation for the complete_query REST call
45
57
  #
@@ -31,6 +31,9 @@ module Google
31
31
  # Service for modifying Control.
32
32
  #
33
33
  class Client
34
+ # @private
35
+ DEFAULT_ENDPOINT_TEMPLATE = "retail.$UNIVERSE_DOMAIN$"
36
+
34
37
  include Paths
35
38
 
36
39
  # @private
@@ -91,6 +94,15 @@ module Google
91
94
  @config
92
95
  end
93
96
 
97
+ ##
98
+ # The effective universe domain
99
+ #
100
+ # @return [String]
101
+ #
102
+ def universe_domain
103
+ @control_service_stub.universe_domain
104
+ end
105
+
94
106
  ##
95
107
  # Create a new ControlService client object.
96
108
  #
@@ -124,8 +136,9 @@ module Google
124
136
  credentials = @config.credentials
125
137
  # Use self-signed JWT if the endpoint is unchanged from default,
126
138
  # but only if the default endpoint does not have a region prefix.
127
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
128
- !@config.endpoint.split(".").first.include?("-")
139
+ enable_self_signed_jwt = @config.endpoint.nil? ||
140
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
141
+ !@config.endpoint.split(".").first.include?("-"))
129
142
  credentials ||= Credentials.default scope: @config.scope,
130
143
  enable_self_signed_jwt: enable_self_signed_jwt
131
144
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -138,12 +151,15 @@ module Google
138
151
  config.credentials = credentials
139
152
  config.quota_project = @quota_project_id
140
153
  config.endpoint = @config.endpoint
154
+ config.universe_domain = @config.universe_domain
141
155
  end
142
156
 
143
157
  @control_service_stub = ::Gapic::ServiceStub.new(
144
158
  ::Google::Cloud::Retail::V2::ControlService::Stub,
145
- credentials: credentials,
146
- endpoint: @config.endpoint,
159
+ credentials: credentials,
160
+ endpoint: @config.endpoint,
161
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
162
+ universe_domain: @config.universe_domain,
147
163
  channel_args: @config.channel_args,
148
164
  interceptors: @config.interceptors,
149
165
  channel_pool_config: @config.channel_pool
@@ -664,9 +680,9 @@ module Google
664
680
  # end
665
681
  #
666
682
  # @!attribute [rw] endpoint
667
- # The hostname or hostname:port of the service endpoint.
668
- # Defaults to `"retail.googleapis.com"`.
669
- # @return [::String]
683
+ # A custom service endpoint, as a hostname or hostname:port. The default is
684
+ # nil, indicating to use the default endpoint in the current universe domain.
685
+ # @return [::String,nil]
670
686
  # @!attribute [rw] credentials
671
687
  # Credentials to send with calls. You may provide any of the following types:
672
688
  # * (`String`) The path to a service account key file in JSON format
@@ -712,13 +728,20 @@ module Google
712
728
  # @!attribute [rw] quota_project
713
729
  # A separate project against which to charge quota.
714
730
  # @return [::String]
731
+ # @!attribute [rw] universe_domain
732
+ # The universe domain within which to make requests. This determines the
733
+ # default endpoint URL. The default value of nil uses the environment
734
+ # universe (usually the default "googleapis.com" universe).
735
+ # @return [::String,nil]
715
736
  #
716
737
  class Configuration
717
738
  extend ::Gapic::Config
718
739
 
740
+ # @private
741
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
719
742
  DEFAULT_ENDPOINT = "retail.googleapis.com"
720
743
 
721
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
744
+ config_attr :endpoint, nil, ::String, nil
722
745
  config_attr :credentials, nil do |value|
723
746
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
724
747
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -733,6 +756,7 @@ module Google
733
756
  config_attr :metadata, nil, ::Hash, nil
734
757
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
735
758
  config_attr :quota_project, nil, ::String, nil
759
+ config_attr :universe_domain, nil, ::String, nil
736
760
 
737
761
  # @private
738
762
  def initialize parent_config = nil
@@ -33,6 +33,9 @@ module Google
33
33
  # Service for modifying Control.
34
34
  #
35
35
  class Client
36
+ # @private
37
+ DEFAULT_ENDPOINT_TEMPLATE = "retail.$UNIVERSE_DOMAIN$"
38
+
36
39
  include Paths
37
40
 
38
41
  # @private
@@ -93,6 +96,15 @@ module Google
93
96
  @config
94
97
  end
95
98
 
99
+ ##
100
+ # The effective universe domain
101
+ #
102
+ # @return [String]
103
+ #
104
+ def universe_domain
105
+ @control_service_stub.universe_domain
106
+ end
107
+
96
108
  ##
97
109
  # Create a new ControlService REST client object.
98
110
  #
@@ -120,8 +132,9 @@ module Google
120
132
  credentials = @config.credentials
121
133
  # Use self-signed JWT if the endpoint is unchanged from default,
122
134
  # but only if the default endpoint does not have a region prefix.
123
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
124
- !@config.endpoint.split(".").first.include?("-")
135
+ enable_self_signed_jwt = @config.endpoint.nil? ||
136
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
137
+ !@config.endpoint.split(".").first.include?("-"))
125
138
  credentials ||= Credentials.default scope: @config.scope,
126
139
  enable_self_signed_jwt: enable_self_signed_jwt
127
140
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -135,9 +148,15 @@ module Google
135
148
  config.credentials = credentials
136
149
  config.quota_project = @quota_project_id
137
150
  config.endpoint = @config.endpoint
151
+ config.universe_domain = @config.universe_domain
138
152
  end
139
153
 
140
- @control_service_stub = ::Google::Cloud::Retail::V2::ControlService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
154
+ @control_service_stub = ::Google::Cloud::Retail::V2::ControlService::Rest::ServiceStub.new(
155
+ endpoint: @config.endpoint,
156
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
157
+ universe_domain: @config.universe_domain,
158
+ credentials: credentials
159
+ )
141
160
  end
142
161
 
143
162
  ##
@@ -619,9 +638,9 @@ module Google
619
638
  # end
620
639
  #
621
640
  # @!attribute [rw] endpoint
622
- # The hostname or hostname:port of the service endpoint.
623
- # Defaults to `"retail.googleapis.com"`.
624
- # @return [::String]
641
+ # A custom service endpoint, as a hostname or hostname:port. The default is
642
+ # nil, indicating to use the default endpoint in the current universe domain.
643
+ # @return [::String,nil]
625
644
  # @!attribute [rw] credentials
626
645
  # Credentials to send with calls. You may provide any of the following types:
627
646
  # * (`String`) The path to a service account key file in JSON format
@@ -658,13 +677,20 @@ module Google
658
677
  # @!attribute [rw] quota_project
659
678
  # A separate project against which to charge quota.
660
679
  # @return [::String]
680
+ # @!attribute [rw] universe_domain
681
+ # The universe domain within which to make requests. This determines the
682
+ # default endpoint URL. The default value of nil uses the environment
683
+ # universe (usually the default "googleapis.com" universe).
684
+ # @return [::String,nil]
661
685
  #
662
686
  class Configuration
663
687
  extend ::Gapic::Config
664
688
 
689
+ # @private
690
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
665
691
  DEFAULT_ENDPOINT = "retail.googleapis.com"
666
692
 
667
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
693
+ config_attr :endpoint, nil, ::String, nil
668
694
  config_attr :credentials, nil do |value|
669
695
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
670
696
  allowed.any? { |klass| klass === value }
@@ -676,6 +702,7 @@ module Google
676
702
  config_attr :metadata, nil, ::Hash, nil
677
703
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
678
704
  config_attr :quota_project, nil, ::String, nil
705
+ config_attr :universe_domain, nil, ::String, nil
679
706
 
680
707
  # @private
681
708
  def initialize parent_config = nil
@@ -30,16 +30,28 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, credentials:
33
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
34
  # These require statements are intentionally placed here to initialize
35
35
  # the REST modules only when it's required.
36
36
  require "gapic/rest"
37
37
 
38
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
39
+ endpoint_template: endpoint_template,
40
+ universe_domain: universe_domain,
41
+ credentials: credentials,
39
42
  numeric_enums: true,
40
43
  raise_faraday_errors: false
41
44
  end
42
45
 
46
+ ##
47
+ # The effective universe domain
48
+ #
49
+ # @return [String]
50
+ #
51
+ def universe_domain
52
+ @client_stub.universe_domain
53
+ end
54
+
43
55
  ##
44
56
  # Baseline implementation for the create_control REST call
45
57
  #
@@ -42,6 +42,9 @@ module Google
42
42
  # * Control their tuning schedule.
43
43
  #
44
44
  class Client
45
+ # @private
46
+ DEFAULT_ENDPOINT_TEMPLATE = "retail.$UNIVERSE_DOMAIN$"
47
+
45
48
  include Paths
46
49
 
47
50
  # @private
@@ -107,6 +110,15 @@ module Google
107
110
  @config
108
111
  end
109
112
 
113
+ ##
114
+ # The effective universe domain
115
+ #
116
+ # @return [String]
117
+ #
118
+ def universe_domain
119
+ @model_service_stub.universe_domain
120
+ end
121
+
110
122
  ##
111
123
  # Create a new ModelService client object.
112
124
  #
@@ -140,8 +152,9 @@ module Google
140
152
  credentials = @config.credentials
141
153
  # Use self-signed JWT if the endpoint is unchanged from default,
142
154
  # but only if the default endpoint does not have a region prefix.
143
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
144
- !@config.endpoint.split(".").first.include?("-")
155
+ enable_self_signed_jwt = @config.endpoint.nil? ||
156
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
157
+ !@config.endpoint.split(".").first.include?("-"))
145
158
  credentials ||= Credentials.default scope: @config.scope,
146
159
  enable_self_signed_jwt: enable_self_signed_jwt
147
160
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -154,18 +167,22 @@ module Google
154
167
  config.credentials = credentials
155
168
  config.quota_project = @quota_project_id
156
169
  config.endpoint = @config.endpoint
170
+ config.universe_domain = @config.universe_domain
157
171
  end
158
172
 
159
173
  @location_client = Google::Cloud::Location::Locations::Client.new do |config|
160
174
  config.credentials = credentials
161
175
  config.quota_project = @quota_project_id
162
176
  config.endpoint = @config.endpoint
177
+ config.universe_domain = @config.universe_domain
163
178
  end
164
179
 
165
180
  @model_service_stub = ::Gapic::ServiceStub.new(
166
181
  ::Google::Cloud::Retail::V2::ModelService::Stub,
167
- credentials: credentials,
168
- endpoint: @config.endpoint,
182
+ credentials: credentials,
183
+ endpoint: @config.endpoint,
184
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
185
+ universe_domain: @config.universe_domain,
169
186
  channel_args: @config.channel_args,
170
187
  interceptors: @config.interceptors,
171
188
  channel_pool_config: @config.channel_pool
@@ -950,9 +967,9 @@ module Google
950
967
  # end
951
968
  #
952
969
  # @!attribute [rw] endpoint
953
- # The hostname or hostname:port of the service endpoint.
954
- # Defaults to `"retail.googleapis.com"`.
955
- # @return [::String]
970
+ # A custom service endpoint, as a hostname or hostname:port. The default is
971
+ # nil, indicating to use the default endpoint in the current universe domain.
972
+ # @return [::String,nil]
956
973
  # @!attribute [rw] credentials
957
974
  # Credentials to send with calls. You may provide any of the following types:
958
975
  # * (`String`) The path to a service account key file in JSON format
@@ -998,13 +1015,20 @@ module Google
998
1015
  # @!attribute [rw] quota_project
999
1016
  # A separate project against which to charge quota.
1000
1017
  # @return [::String]
1018
+ # @!attribute [rw] universe_domain
1019
+ # The universe domain within which to make requests. This determines the
1020
+ # default endpoint URL. The default value of nil uses the environment
1021
+ # universe (usually the default "googleapis.com" universe).
1022
+ # @return [::String,nil]
1001
1023
  #
1002
1024
  class Configuration
1003
1025
  extend ::Gapic::Config
1004
1026
 
1027
+ # @private
1028
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1005
1029
  DEFAULT_ENDPOINT = "retail.googleapis.com"
1006
1030
 
1007
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1031
+ config_attr :endpoint, nil, ::String, nil
1008
1032
  config_attr :credentials, nil do |value|
1009
1033
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1010
1034
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -1019,6 +1043,7 @@ module Google
1019
1043
  config_attr :metadata, nil, ::Hash, nil
1020
1044
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1021
1045
  config_attr :quota_project, nil, ::String, nil
1046
+ config_attr :universe_domain, nil, ::String, nil
1022
1047
 
1023
1048
  # @private
1024
1049
  def initialize parent_config = nil
@@ -26,6 +26,9 @@ module Google
26
26
  module ModelService
27
27
  # Service that implements Longrunning Operations API.
28
28
  class Operations
29
+ # @private
30
+ DEFAULT_ENDPOINT_TEMPLATE = "retail.$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 `"retail.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 = "retail.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