google-cloud-dialogflow-cx-v3 0.23.0 → 0.24.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -101
  3. data/lib/google/cloud/dialogflow/cx/v3/agents/client.rb +39 -14
  4. data/lib/google/cloud/dialogflow/cx/v3/agents/operations.rb +28 -6
  5. data/lib/google/cloud/dialogflow/cx/v3/agents/rest/client.rb +37 -9
  6. data/lib/google/cloud/dialogflow/cx/v3/agents/rest/operations.rb +33 -8
  7. data/lib/google/cloud/dialogflow/cx/v3/agents/rest/service_stub.rb +23 -2
  8. data/lib/google/cloud/dialogflow/cx/v3/changelogs/client.rb +38 -14
  9. data/lib/google/cloud/dialogflow/cx/v3/changelogs/rest/client.rb +36 -9
  10. data/lib/google/cloud/dialogflow/cx/v3/changelogs/rest/service_stub.rb +23 -2
  11. data/lib/google/cloud/dialogflow/cx/v3/deployments/client.rb +38 -14
  12. data/lib/google/cloud/dialogflow/cx/v3/deployments/rest/client.rb +36 -9
  13. data/lib/google/cloud/dialogflow/cx/v3/deployments/rest/service_stub.rb +23 -2
  14. data/lib/google/cloud/dialogflow/cx/v3/entity_types/client.rb +38 -14
  15. data/lib/google/cloud/dialogflow/cx/v3/entity_types/rest/client.rb +36 -9
  16. data/lib/google/cloud/dialogflow/cx/v3/entity_types/rest/service_stub.rb +23 -2
  17. data/lib/google/cloud/dialogflow/cx/v3/environments/client.rb +39 -14
  18. data/lib/google/cloud/dialogflow/cx/v3/environments/operations.rb +28 -6
  19. data/lib/google/cloud/dialogflow/cx/v3/environments/rest/client.rb +37 -9
  20. data/lib/google/cloud/dialogflow/cx/v3/environments/rest/operations.rb +33 -8
  21. data/lib/google/cloud/dialogflow/cx/v3/environments/rest/service_stub.rb +23 -2
  22. data/lib/google/cloud/dialogflow/cx/v3/experiments/client.rb +38 -14
  23. data/lib/google/cloud/dialogflow/cx/v3/experiments/rest/client.rb +36 -9
  24. data/lib/google/cloud/dialogflow/cx/v3/experiments/rest/service_stub.rb +23 -2
  25. data/lib/google/cloud/dialogflow/cx/v3/flows/client.rb +39 -14
  26. data/lib/google/cloud/dialogflow/cx/v3/flows/operations.rb +28 -6
  27. data/lib/google/cloud/dialogflow/cx/v3/flows/rest/client.rb +37 -9
  28. data/lib/google/cloud/dialogflow/cx/v3/flows/rest/operations.rb +33 -8
  29. data/lib/google/cloud/dialogflow/cx/v3/flows/rest/service_stub.rb +23 -2
  30. data/lib/google/cloud/dialogflow/cx/v3/generators/client.rb +38 -14
  31. data/lib/google/cloud/dialogflow/cx/v3/generators/rest/client.rb +36 -9
  32. data/lib/google/cloud/dialogflow/cx/v3/generators/rest/service_stub.rb +23 -2
  33. data/lib/google/cloud/dialogflow/cx/v3/intents/client.rb +39 -14
  34. data/lib/google/cloud/dialogflow/cx/v3/intents/operations.rb +28 -6
  35. data/lib/google/cloud/dialogflow/cx/v3/intents/rest/client.rb +37 -9
  36. data/lib/google/cloud/dialogflow/cx/v3/intents/rest/operations.rb +33 -8
  37. data/lib/google/cloud/dialogflow/cx/v3/intents/rest/service_stub.rb +23 -2
  38. data/lib/google/cloud/dialogflow/cx/v3/pages/client.rb +38 -14
  39. data/lib/google/cloud/dialogflow/cx/v3/pages/rest/client.rb +36 -9
  40. data/lib/google/cloud/dialogflow/cx/v3/pages/rest/service_stub.rb +23 -2
  41. data/lib/google/cloud/dialogflow/cx/v3/security_settings_service/client.rb +38 -14
  42. data/lib/google/cloud/dialogflow/cx/v3/security_settings_service/rest/client.rb +36 -9
  43. data/lib/google/cloud/dialogflow/cx/v3/security_settings_service/rest/service_stub.rb +23 -2
  44. data/lib/google/cloud/dialogflow/cx/v3/session_entity_types/client.rb +38 -14
  45. data/lib/google/cloud/dialogflow/cx/v3/session_entity_types/rest/client.rb +36 -9
  46. data/lib/google/cloud/dialogflow/cx/v3/session_entity_types/rest/service_stub.rb +23 -2
  47. data/lib/google/cloud/dialogflow/cx/v3/sessions/client.rb +38 -14
  48. data/lib/google/cloud/dialogflow/cx/v3/sessions/rest/client.rb +36 -9
  49. data/lib/google/cloud/dialogflow/cx/v3/sessions/rest/service_stub.rb +23 -2
  50. data/lib/google/cloud/dialogflow/cx/v3/test_cases/client.rb +39 -14
  51. data/lib/google/cloud/dialogflow/cx/v3/test_cases/operations.rb +28 -6
  52. data/lib/google/cloud/dialogflow/cx/v3/test_cases/rest/client.rb +37 -9
  53. data/lib/google/cloud/dialogflow/cx/v3/test_cases/rest/operations.rb +33 -8
  54. data/lib/google/cloud/dialogflow/cx/v3/test_cases/rest/service_stub.rb +23 -2
  55. data/lib/google/cloud/dialogflow/cx/v3/transition_route_groups/client.rb +38 -14
  56. data/lib/google/cloud/dialogflow/cx/v3/transition_route_groups/rest/client.rb +36 -9
  57. data/lib/google/cloud/dialogflow/cx/v3/transition_route_groups/rest/service_stub.rb +23 -2
  58. data/lib/google/cloud/dialogflow/cx/v3/version.rb +1 -1
  59. data/lib/google/cloud/dialogflow/cx/v3/versions/client.rb +39 -14
  60. data/lib/google/cloud/dialogflow/cx/v3/versions/operations.rb +28 -6
  61. data/lib/google/cloud/dialogflow/cx/v3/versions/rest/client.rb +37 -9
  62. data/lib/google/cloud/dialogflow/cx/v3/versions/rest/operations.rb +33 -8
  63. data/lib/google/cloud/dialogflow/cx/v3/versions/rest/service_stub.rb +23 -2
  64. data/lib/google/cloud/dialogflow/cx/v3/webhooks/client.rb +38 -14
  65. data/lib/google/cloud/dialogflow/cx/v3/webhooks/rest/client.rb +36 -9
  66. data/lib/google/cloud/dialogflow/cx/v3/webhooks/rest/service_stub.rb +23 -2
  67. data/proto_docs/google/api/client.rb +1 -0
  68. data/proto_docs/google/cloud/dialogflow/cx/v3/agent.rb +1 -0
  69. data/proto_docs/google/cloud/dialogflow/cx/v3/session.rb +2 -0
  70. data/proto_docs/google/cloud/dialogflow/cx/v3/validation_message.rb +1 -0
  71. data/proto_docs/google/cloud/dialogflow/cx/v3/webhook.rb +2 -0
  72. metadata +6 -6
@@ -33,6 +33,9 @@ module Google
33
33
  # {::Google::Cloud::Dialogflow::CX::V3::SessionEntityType SessionEntityTypes}.
34
34
  #
35
35
  class Client
36
+ # @private
37
+ DEFAULT_ENDPOINT_TEMPLATE = "dialogflow.$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
+ @session_entity_types_stub.universe_domain
111
+ end
112
+
101
113
  ##
102
114
  # Create a new SessionEntityTypes client object.
103
115
  #
@@ -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)
@@ -141,20 +154,23 @@ module Google
141
154
  @quota_project_id = @config.quota_project
142
155
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
143
156
 
144
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
145
- config.credentials = credentials
146
- config.quota_project = @quota_project_id
147
- config.endpoint = @config.endpoint
148
- end
149
-
150
157
  @session_entity_types_stub = ::Gapic::ServiceStub.new(
151
158
  ::Google::Cloud::Dialogflow::CX::V3::SessionEntityTypes::Stub,
152
- credentials: credentials,
153
- endpoint: @config.endpoint,
159
+ credentials: credentials,
160
+ endpoint: @config.endpoint,
161
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
162
+ universe_domain: @config.universe_domain,
154
163
  channel_args: @config.channel_args,
155
164
  interceptors: @config.interceptors,
156
165
  channel_pool_config: @config.channel_pool
157
166
  )
167
+
168
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
169
+ config.credentials = credentials
170
+ config.quota_project = @quota_project_id
171
+ config.endpoint = @session_entity_types_stub.endpoint
172
+ config.universe_domain = @session_entity_types_stub.universe_domain
173
+ end
158
174
  end
159
175
 
160
176
  ##
@@ -663,9 +679,9 @@ module Google
663
679
  # end
664
680
  #
665
681
  # @!attribute [rw] endpoint
666
- # The hostname or hostname:port of the service endpoint.
667
- # Defaults to `"dialogflow.googleapis.com"`.
668
- # @return [::String]
682
+ # A custom service endpoint, as a hostname or hostname:port. The default is
683
+ # nil, indicating to use the default endpoint in the current universe domain.
684
+ # @return [::String,nil]
669
685
  # @!attribute [rw] credentials
670
686
  # Credentials to send with calls. You may provide any of the following types:
671
687
  # * (`String`) The path to a service account key file in JSON format
@@ -711,13 +727,20 @@ module Google
711
727
  # @!attribute [rw] quota_project
712
728
  # A separate project against which to charge quota.
713
729
  # @return [::String]
730
+ # @!attribute [rw] universe_domain
731
+ # The universe domain within which to make requests. This determines the
732
+ # default endpoint URL. The default value of nil uses the environment
733
+ # universe (usually the default "googleapis.com" universe).
734
+ # @return [::String,nil]
714
735
  #
715
736
  class Configuration
716
737
  extend ::Gapic::Config
717
738
 
739
+ # @private
740
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
718
741
  DEFAULT_ENDPOINT = "dialogflow.googleapis.com"
719
742
 
720
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
743
+ config_attr :endpoint, nil, ::String, nil
721
744
  config_attr :credentials, nil do |value|
722
745
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
723
746
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -732,6 +755,7 @@ module Google
732
755
  config_attr :metadata, nil, ::Hash, nil
733
756
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
734
757
  config_attr :quota_project, nil, ::String, nil
758
+ config_attr :universe_domain, nil, ::String, nil
735
759
 
736
760
  # @private
737
761
  def initialize parent_config = nil
@@ -35,6 +35,9 @@ module Google
35
35
  # {::Google::Cloud::Dialogflow::CX::V3::SessionEntityType SessionEntityTypes}.
36
36
  #
37
37
  class Client
38
+ # @private
39
+ DEFAULT_ENDPOINT_TEMPLATE = "dialogflow.$UNIVERSE_DOMAIN$"
40
+
38
41
  include Paths
39
42
 
40
43
  # @private
@@ -100,6 +103,15 @@ module Google
100
103
  @config
101
104
  end
102
105
 
106
+ ##
107
+ # The effective universe domain
108
+ #
109
+ # @return [String]
110
+ #
111
+ def universe_domain
112
+ @session_entity_types_stub.universe_domain
113
+ end
114
+
103
115
  ##
104
116
  # Create a new SessionEntityTypes REST client object.
105
117
  #
@@ -127,8 +139,9 @@ module Google
127
139
  credentials = @config.credentials
128
140
  # Use self-signed JWT if the endpoint is unchanged from default,
129
141
  # but only if the default endpoint does not have a region prefix.
130
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
131
- !@config.endpoint.split(".").first.include?("-")
142
+ enable_self_signed_jwt = @config.endpoint.nil? ||
143
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
144
+ !@config.endpoint.split(".").first.include?("-"))
132
145
  credentials ||= Credentials.default scope: @config.scope,
133
146
  enable_self_signed_jwt: enable_self_signed_jwt
134
147
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -138,14 +151,20 @@ module Google
138
151
  @quota_project_id = @config.quota_project
139
152
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
140
153
 
154
+ @session_entity_types_stub = ::Google::Cloud::Dialogflow::CX::V3::SessionEntityTypes::Rest::ServiceStub.new(
155
+ endpoint: @config.endpoint,
156
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
157
+ universe_domain: @config.universe_domain,
158
+ credentials: credentials
159
+ )
160
+
141
161
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
142
162
  config.credentials = credentials
143
163
  config.quota_project = @quota_project_id
144
- config.endpoint = @config.endpoint
164
+ config.endpoint = @session_entity_types_stub.endpoint
165
+ config.universe_domain = @session_entity_types_stub.universe_domain
145
166
  config.bindings_override = @config.bindings_override
146
167
  end
147
-
148
- @session_entity_types_stub = ::Google::Cloud::Dialogflow::CX::V3::SessionEntityTypes::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
149
168
  end
150
169
 
151
170
  ##
@@ -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 `"dialogflow.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 = "dialogflow.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
  # Overrides for http bindings for the RPCs of this service
@@ -31,16 +31,37 @@ module Google
31
31
  # including transcoding, making the REST call, and deserialing the response.
32
32
  #
33
33
  class ServiceStub
34
- def initialize endpoint:, credentials:
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
35
35
  # These require statements are intentionally placed here to initialize
36
36
  # the REST modules only when it's required.
37
37
  require "gapic/rest"
38
38
 
39
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
39
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
40
+ endpoint_template: endpoint_template,
41
+ universe_domain: universe_domain,
42
+ credentials: credentials,
40
43
  numeric_enums: true,
41
44
  raise_faraday_errors: false
42
45
  end
43
46
 
47
+ ##
48
+ # The effective universe domain
49
+ #
50
+ # @return [String]
51
+ #
52
+ def universe_domain
53
+ @client_stub.universe_domain
54
+ end
55
+
56
+ ##
57
+ # The effective endpoint
58
+ #
59
+ # @return [String]
60
+ #
61
+ def endpoint
62
+ @client_stub.endpoint
63
+ end
64
+
44
65
  ##
45
66
  # Baseline implementation for the list_session_entity_types REST call
46
67
  #
@@ -35,6 +35,9 @@ module Google
35
35
  # determine user intent and respond.
36
36
  #
37
37
  class Client
38
+ # @private
39
+ DEFAULT_ENDPOINT_TEMPLATE = "dialogflow.$UNIVERSE_DOMAIN$"
40
+
38
41
  include Paths
39
42
 
40
43
  # @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
+ @sessions_stub.universe_domain
120
+ end
121
+
110
122
  ##
111
123
  # Create a new Sessions 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)
@@ -150,20 +163,23 @@ module Google
150
163
  @quota_project_id = @config.quota_project
151
164
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
152
165
 
153
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
154
- config.credentials = credentials
155
- config.quota_project = @quota_project_id
156
- config.endpoint = @config.endpoint
157
- end
158
-
159
166
  @sessions_stub = ::Gapic::ServiceStub.new(
160
167
  ::Google::Cloud::Dialogflow::CX::V3::Sessions::Stub,
161
- credentials: credentials,
162
- endpoint: @config.endpoint,
168
+ credentials: credentials,
169
+ endpoint: @config.endpoint,
170
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
171
+ universe_domain: @config.universe_domain,
163
172
  channel_args: @config.channel_args,
164
173
  interceptors: @config.interceptors,
165
174
  channel_pool_config: @config.channel_pool
166
175
  )
176
+
177
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
178
+ config.credentials = credentials
179
+ config.quota_project = @quota_project_id
180
+ config.endpoint = @sessions_stub.endpoint
181
+ config.universe_domain = @sessions_stub.universe_domain
182
+ end
167
183
  end
168
184
 
169
185
  ##
@@ -695,9 +711,9 @@ module Google
695
711
  # end
696
712
  #
697
713
  # @!attribute [rw] endpoint
698
- # The hostname or hostname:port of the service endpoint.
699
- # Defaults to `"dialogflow.googleapis.com"`.
700
- # @return [::String]
714
+ # A custom service endpoint, as a hostname or hostname:port. The default is
715
+ # nil, indicating to use the default endpoint in the current universe domain.
716
+ # @return [::String,nil]
701
717
  # @!attribute [rw] credentials
702
718
  # Credentials to send with calls. You may provide any of the following types:
703
719
  # * (`String`) The path to a service account key file in JSON format
@@ -743,13 +759,20 @@ module Google
743
759
  # @!attribute [rw] quota_project
744
760
  # A separate project against which to charge quota.
745
761
  # @return [::String]
762
+ # @!attribute [rw] universe_domain
763
+ # The universe domain within which to make requests. This determines the
764
+ # default endpoint URL. The default value of nil uses the environment
765
+ # universe (usually the default "googleapis.com" universe).
766
+ # @return [::String,nil]
746
767
  #
747
768
  class Configuration
748
769
  extend ::Gapic::Config
749
770
 
771
+ # @private
772
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
750
773
  DEFAULT_ENDPOINT = "dialogflow.googleapis.com"
751
774
 
752
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
775
+ config_attr :endpoint, nil, ::String, nil
753
776
  config_attr :credentials, nil do |value|
754
777
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
755
778
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -764,6 +787,7 @@ module Google
764
787
  config_attr :metadata, nil, ::Hash, nil
765
788
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
766
789
  config_attr :quota_project, nil, ::String, nil
790
+ config_attr :universe_domain, nil, ::String, nil
767
791
 
768
792
  # @private
769
793
  def initialize parent_config = nil
@@ -37,6 +37,9 @@ module Google
37
37
  # determine user intent and respond.
38
38
  #
39
39
  class Client
40
+ # @private
41
+ DEFAULT_ENDPOINT_TEMPLATE = "dialogflow.$UNIVERSE_DOMAIN$"
42
+
40
43
  include Paths
41
44
 
42
45
  # @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
+ @sessions_stub.universe_domain
120
+ end
121
+
110
122
  ##
111
123
  # Create a new Sessions REST client object.
112
124
  #
@@ -134,8 +146,9 @@ module Google
134
146
  credentials = @config.credentials
135
147
  # Use self-signed JWT if the endpoint is unchanged from default,
136
148
  # but only if the default endpoint does not have a region prefix.
137
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
138
- !@config.endpoint.split(".").first.include?("-")
149
+ enable_self_signed_jwt = @config.endpoint.nil? ||
150
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
151
+ !@config.endpoint.split(".").first.include?("-"))
139
152
  credentials ||= Credentials.default scope: @config.scope,
140
153
  enable_self_signed_jwt: enable_self_signed_jwt
141
154
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -145,14 +158,20 @@ module Google
145
158
  @quota_project_id = @config.quota_project
146
159
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
147
160
 
161
+ @sessions_stub = ::Google::Cloud::Dialogflow::CX::V3::Sessions::Rest::ServiceStub.new(
162
+ endpoint: @config.endpoint,
163
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
164
+ universe_domain: @config.universe_domain,
165
+ credentials: credentials
166
+ )
167
+
148
168
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
149
169
  config.credentials = credentials
150
170
  config.quota_project = @quota_project_id
151
- config.endpoint = @config.endpoint
171
+ config.endpoint = @sessions_stub.endpoint
172
+ config.universe_domain = @sessions_stub.universe_domain
152
173
  config.bindings_override = @config.bindings_override
153
174
  end
154
-
155
- @sessions_stub = ::Google::Cloud::Dialogflow::CX::V3::Sessions::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
156
175
  end
157
176
 
158
177
  ##
@@ -572,9 +591,9 @@ module Google
572
591
  # end
573
592
  #
574
593
  # @!attribute [rw] endpoint
575
- # The hostname or hostname:port of the service endpoint.
576
- # Defaults to `"dialogflow.googleapis.com"`.
577
- # @return [::String]
594
+ # A custom service endpoint, as a hostname or hostname:port. The default is
595
+ # nil, indicating to use the default endpoint in the current universe domain.
596
+ # @return [::String,nil]
578
597
  # @!attribute [rw] credentials
579
598
  # Credentials to send with calls. You may provide any of the following types:
580
599
  # * (`String`) The path to a service account key file in JSON format
@@ -611,13 +630,20 @@ module Google
611
630
  # @!attribute [rw] quota_project
612
631
  # A separate project against which to charge quota.
613
632
  # @return [::String]
633
+ # @!attribute [rw] universe_domain
634
+ # The universe domain within which to make requests. This determines the
635
+ # default endpoint URL. The default value of nil uses the environment
636
+ # universe (usually the default "googleapis.com" universe).
637
+ # @return [::String,nil]
614
638
  #
615
639
  class Configuration
616
640
  extend ::Gapic::Config
617
641
 
642
+ # @private
643
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
618
644
  DEFAULT_ENDPOINT = "dialogflow.googleapis.com"
619
645
 
620
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
646
+ config_attr :endpoint, nil, ::String, nil
621
647
  config_attr :credentials, nil do |value|
622
648
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
623
649
  allowed.any? { |klass| klass === value }
@@ -629,6 +655,7 @@ module Google
629
655
  config_attr :metadata, nil, ::Hash, nil
630
656
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
631
657
  config_attr :quota_project, nil, ::String, nil
658
+ config_attr :universe_domain, nil, ::String, nil
632
659
 
633
660
  # @private
634
661
  # Overrides for http bindings for the RPCs of this service
@@ -31,16 +31,37 @@ module Google
31
31
  # including transcoding, making the REST call, and deserialing the response.
32
32
  #
33
33
  class ServiceStub
34
- def initialize endpoint:, credentials:
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
35
35
  # These require statements are intentionally placed here to initialize
36
36
  # the REST modules only when it's required.
37
37
  require "gapic/rest"
38
38
 
39
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
39
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
40
+ endpoint_template: endpoint_template,
41
+ universe_domain: universe_domain,
42
+ credentials: credentials,
40
43
  numeric_enums: true,
41
44
  raise_faraday_errors: false
42
45
  end
43
46
 
47
+ ##
48
+ # The effective universe domain
49
+ #
50
+ # @return [String]
51
+ #
52
+ def universe_domain
53
+ @client_stub.universe_domain
54
+ end
55
+
56
+ ##
57
+ # The effective endpoint
58
+ #
59
+ # @return [String]
60
+ #
61
+ def endpoint
62
+ @client_stub.endpoint
63
+ end
64
+
44
65
  ##
45
66
  # Baseline implementation for the detect_intent REST call
46
67
  #
@@ -33,6 +33,9 @@ module Google
33
33
  # {::Google::Cloud::Dialogflow::CX::V3::TestCaseResult Test Case Results}.
34
34
  #
35
35
  class Client
36
+ # @private
37
+ DEFAULT_ENDPOINT_TEMPLATE = "dialogflow.$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
+ @test_cases_stub.universe_domain
111
+ end
112
+
101
113
  ##
102
114
  # Create a new TestCases client object.
103
115
  #
@@ -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)
@@ -145,22 +158,26 @@ module Google
145
158
  config.credentials = credentials
146
159
  config.quota_project = @quota_project_id
147
160
  config.endpoint = @config.endpoint
148
- end
149
-
150
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
151
- config.credentials = credentials
152
- config.quota_project = @quota_project_id
153
- config.endpoint = @config.endpoint
161
+ config.universe_domain = @config.universe_domain
154
162
  end
155
163
 
156
164
  @test_cases_stub = ::Gapic::ServiceStub.new(
157
165
  ::Google::Cloud::Dialogflow::CX::V3::TestCases::Stub,
158
- credentials: credentials,
159
- endpoint: @config.endpoint,
166
+ credentials: credentials,
167
+ endpoint: @config.endpoint,
168
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
169
+ universe_domain: @config.universe_domain,
160
170
  channel_args: @config.channel_args,
161
171
  interceptors: @config.interceptors,
162
172
  channel_pool_config: @config.channel_pool
163
173
  )
174
+
175
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
176
+ config.credentials = credentials
177
+ config.quota_project = @quota_project_id
178
+ config.endpoint = @test_cases_stub.endpoint
179
+ config.universe_domain = @test_cases_stub.universe_domain
180
+ end
164
181
  end
165
182
 
166
183
  ##
@@ -1424,9 +1441,9 @@ module Google
1424
1441
  # end
1425
1442
  #
1426
1443
  # @!attribute [rw] endpoint
1427
- # The hostname or hostname:port of the service endpoint.
1428
- # Defaults to `"dialogflow.googleapis.com"`.
1429
- # @return [::String]
1444
+ # A custom service endpoint, as a hostname or hostname:port. The default is
1445
+ # nil, indicating to use the default endpoint in the current universe domain.
1446
+ # @return [::String,nil]
1430
1447
  # @!attribute [rw] credentials
1431
1448
  # Credentials to send with calls. You may provide any of the following types:
1432
1449
  # * (`String`) The path to a service account key file in JSON format
@@ -1472,13 +1489,20 @@ module Google
1472
1489
  # @!attribute [rw] quota_project
1473
1490
  # A separate project against which to charge quota.
1474
1491
  # @return [::String]
1492
+ # @!attribute [rw] universe_domain
1493
+ # The universe domain within which to make requests. This determines the
1494
+ # default endpoint URL. The default value of nil uses the environment
1495
+ # universe (usually the default "googleapis.com" universe).
1496
+ # @return [::String,nil]
1475
1497
  #
1476
1498
  class Configuration
1477
1499
  extend ::Gapic::Config
1478
1500
 
1501
+ # @private
1502
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1479
1503
  DEFAULT_ENDPOINT = "dialogflow.googleapis.com"
1480
1504
 
1481
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1505
+ config_attr :endpoint, nil, ::String, nil
1482
1506
  config_attr :credentials, nil do |value|
1483
1507
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1484
1508
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -1493,6 +1517,7 @@ module Google
1493
1517
  config_attr :metadata, nil, ::Hash, nil
1494
1518
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1495
1519
  config_attr :quota_project, nil, ::String, nil
1520
+ config_attr :universe_domain, nil, ::String, nil
1496
1521
 
1497
1522
  # @private
1498
1523
  def initialize parent_config = nil