google-cloud-dialogflow-v2 0.31.0 → 0.32.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -101
  3. data/lib/google/cloud/dialogflow/v2/agents/client.rb +39 -14
  4. data/lib/google/cloud/dialogflow/v2/agents/operations.rb +28 -6
  5. data/lib/google/cloud/dialogflow/v2/agents/rest/client.rb +37 -9
  6. data/lib/google/cloud/dialogflow/v2/agents/rest/operations.rb +33 -8
  7. data/lib/google/cloud/dialogflow/v2/agents/rest/service_stub.rb +23 -2
  8. data/lib/google/cloud/dialogflow/v2/answer_records/client.rb +38 -14
  9. data/lib/google/cloud/dialogflow/v2/answer_records/rest/client.rb +36 -9
  10. data/lib/google/cloud/dialogflow/v2/answer_records/rest/service_stub.rb +23 -2
  11. data/lib/google/cloud/dialogflow/v2/contexts/client.rb +38 -14
  12. data/lib/google/cloud/dialogflow/v2/contexts/rest/client.rb +36 -9
  13. data/lib/google/cloud/dialogflow/v2/contexts/rest/service_stub.rb +23 -2
  14. data/lib/google/cloud/dialogflow/v2/conversation_datasets/client.rb +39 -14
  15. data/lib/google/cloud/dialogflow/v2/conversation_datasets/operations.rb +28 -6
  16. data/lib/google/cloud/dialogflow/v2/conversation_datasets/rest/client.rb +37 -9
  17. data/lib/google/cloud/dialogflow/v2/conversation_datasets/rest/operations.rb +33 -8
  18. data/lib/google/cloud/dialogflow/v2/conversation_datasets/rest/service_stub.rb +23 -2
  19. data/lib/google/cloud/dialogflow/v2/conversation_models/client.rb +39 -14
  20. data/lib/google/cloud/dialogflow/v2/conversation_models/operations.rb +28 -6
  21. data/lib/google/cloud/dialogflow/v2/conversation_models/rest/client.rb +37 -9
  22. data/lib/google/cloud/dialogflow/v2/conversation_models/rest/operations.rb +33 -8
  23. data/lib/google/cloud/dialogflow/v2/conversation_models/rest/service_stub.rb +23 -2
  24. data/lib/google/cloud/dialogflow/v2/conversation_profiles/client.rb +39 -14
  25. data/lib/google/cloud/dialogflow/v2/conversation_profiles/operations.rb +28 -6
  26. data/lib/google/cloud/dialogflow/v2/conversation_profiles/rest/client.rb +37 -9
  27. data/lib/google/cloud/dialogflow/v2/conversation_profiles/rest/operations.rb +33 -8
  28. data/lib/google/cloud/dialogflow/v2/conversation_profiles/rest/service_stub.rb +23 -2
  29. data/lib/google/cloud/dialogflow/v2/conversations/client.rb +38 -14
  30. data/lib/google/cloud/dialogflow/v2/conversations/rest/client.rb +36 -9
  31. data/lib/google/cloud/dialogflow/v2/conversations/rest/service_stub.rb +23 -2
  32. data/lib/google/cloud/dialogflow/v2/documents/client.rb +39 -14
  33. data/lib/google/cloud/dialogflow/v2/documents/operations.rb +28 -6
  34. data/lib/google/cloud/dialogflow/v2/documents/rest/client.rb +37 -9
  35. data/lib/google/cloud/dialogflow/v2/documents/rest/operations.rb +33 -8
  36. data/lib/google/cloud/dialogflow/v2/documents/rest/service_stub.rb +23 -2
  37. data/lib/google/cloud/dialogflow/v2/entity_types/client.rb +39 -14
  38. data/lib/google/cloud/dialogflow/v2/entity_types/operations.rb +28 -6
  39. data/lib/google/cloud/dialogflow/v2/entity_types/rest/client.rb +37 -9
  40. data/lib/google/cloud/dialogflow/v2/entity_types/rest/operations.rb +33 -8
  41. data/lib/google/cloud/dialogflow/v2/entity_types/rest/service_stub.rb +23 -2
  42. data/lib/google/cloud/dialogflow/v2/environments/client.rb +38 -14
  43. data/lib/google/cloud/dialogflow/v2/environments/rest/client.rb +36 -9
  44. data/lib/google/cloud/dialogflow/v2/environments/rest/service_stub.rb +23 -2
  45. data/lib/google/cloud/dialogflow/v2/fulfillments/client.rb +38 -14
  46. data/lib/google/cloud/dialogflow/v2/fulfillments/rest/client.rb +36 -9
  47. data/lib/google/cloud/dialogflow/v2/fulfillments/rest/service_stub.rb +23 -2
  48. data/lib/google/cloud/dialogflow/v2/intents/client.rb +39 -14
  49. data/lib/google/cloud/dialogflow/v2/intents/operations.rb +28 -6
  50. data/lib/google/cloud/dialogflow/v2/intents/rest/client.rb +37 -9
  51. data/lib/google/cloud/dialogflow/v2/intents/rest/operations.rb +33 -8
  52. data/lib/google/cloud/dialogflow/v2/intents/rest/service_stub.rb +23 -2
  53. data/lib/google/cloud/dialogflow/v2/knowledge_bases/client.rb +38 -14
  54. data/lib/google/cloud/dialogflow/v2/knowledge_bases/rest/client.rb +36 -9
  55. data/lib/google/cloud/dialogflow/v2/knowledge_bases/rest/service_stub.rb +23 -2
  56. data/lib/google/cloud/dialogflow/v2/participants/client.rb +38 -14
  57. data/lib/google/cloud/dialogflow/v2/participants/rest/client.rb +36 -9
  58. data/lib/google/cloud/dialogflow/v2/participants/rest/service_stub.rb +23 -2
  59. data/lib/google/cloud/dialogflow/v2/session_entity_types/client.rb +38 -14
  60. data/lib/google/cloud/dialogflow/v2/session_entity_types/rest/client.rb +36 -9
  61. data/lib/google/cloud/dialogflow/v2/session_entity_types/rest/service_stub.rb +23 -2
  62. data/lib/google/cloud/dialogflow/v2/sessions/client.rb +38 -14
  63. data/lib/google/cloud/dialogflow/v2/sessions/rest/client.rb +36 -9
  64. data/lib/google/cloud/dialogflow/v2/sessions/rest/service_stub.rb +23 -2
  65. data/lib/google/cloud/dialogflow/v2/version.rb +1 -1
  66. data/lib/google/cloud/dialogflow/v2/versions/client.rb +38 -14
  67. data/lib/google/cloud/dialogflow/v2/versions/rest/client.rb +36 -9
  68. data/lib/google/cloud/dialogflow/v2/versions/rest/service_stub.rb +23 -2
  69. data/proto_docs/google/api/client.rb +1 -0
  70. data/proto_docs/google/cloud/dialogflow/v2/agent.rb +1 -0
  71. data/proto_docs/google/cloud/dialogflow/v2/answer_record.rb +1 -0
  72. data/proto_docs/google/cloud/dialogflow/v2/audio_config.rb +1 -0
  73. data/proto_docs/google/cloud/dialogflow/v2/fulfillment.rb +1 -0
  74. data/proto_docs/google/cloud/dialogflow/v2/session.rb +1 -0
  75. metadata +6 -6
@@ -33,6 +33,9 @@ module Google
33
33
  # Service for managing {::Google::Cloud::Dialogflow::V2::Intent Intents}.
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
+ @intents_stub.universe_domain
111
+ end
112
+
101
113
  ##
102
114
  # Create a new Intents REST client object.
103
115
  #
@@ -125,8 +137,9 @@ module Google
125
137
  credentials = @config.credentials
126
138
  # Use self-signed JWT if the endpoint is unchanged from default,
127
139
  # but only if the default endpoint does not have a region prefix.
128
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
129
- !@config.endpoint.split(".").first.include?("-")
140
+ enable_self_signed_jwt = @config.endpoint.nil? ||
141
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
142
+ !@config.endpoint.split(".").first.include?("-"))
130
143
  credentials ||= Credentials.default scope: @config.scope,
131
144
  enable_self_signed_jwt: enable_self_signed_jwt
132
145
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -140,16 +153,23 @@ module Google
140
153
  config.credentials = credentials
141
154
  config.quota_project = @quota_project_id
142
155
  config.endpoint = @config.endpoint
156
+ config.universe_domain = @config.universe_domain
143
157
  end
144
158
 
159
+ @intents_stub = ::Google::Cloud::Dialogflow::V2::Intents::Rest::ServiceStub.new(
160
+ endpoint: @config.endpoint,
161
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
162
+ universe_domain: @config.universe_domain,
163
+ credentials: credentials
164
+ )
165
+
145
166
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
146
167
  config.credentials = credentials
147
168
  config.quota_project = @quota_project_id
148
- config.endpoint = @config.endpoint
169
+ config.endpoint = @intents_stub.endpoint
170
+ config.universe_domain = @intents_stub.universe_domain
149
171
  config.bindings_override = @config.bindings_override
150
172
  end
151
-
152
- @intents_stub = ::Google::Cloud::Dialogflow::V2::Intents::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
153
173
  end
154
174
 
155
175
  ##
@@ -878,9 +898,9 @@ module Google
878
898
  # end
879
899
  #
880
900
  # @!attribute [rw] endpoint
881
- # The hostname or hostname:port of the service endpoint.
882
- # Defaults to `"dialogflow.googleapis.com"`.
883
- # @return [::String]
901
+ # A custom service endpoint, as a hostname or hostname:port. The default is
902
+ # nil, indicating to use the default endpoint in the current universe domain.
903
+ # @return [::String,nil]
884
904
  # @!attribute [rw] credentials
885
905
  # Credentials to send with calls. You may provide any of the following types:
886
906
  # * (`String`) The path to a service account key file in JSON format
@@ -917,13 +937,20 @@ module Google
917
937
  # @!attribute [rw] quota_project
918
938
  # A separate project against which to charge quota.
919
939
  # @return [::String]
940
+ # @!attribute [rw] universe_domain
941
+ # The universe domain within which to make requests. This determines the
942
+ # default endpoint URL. The default value of nil uses the environment
943
+ # universe (usually the default "googleapis.com" universe).
944
+ # @return [::String,nil]
920
945
  #
921
946
  class Configuration
922
947
  extend ::Gapic::Config
923
948
 
949
+ # @private
950
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
924
951
  DEFAULT_ENDPOINT = "dialogflow.googleapis.com"
925
952
 
926
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
953
+ config_attr :endpoint, nil, ::String, nil
927
954
  config_attr :credentials, nil do |value|
928
955
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
929
956
  allowed.any? { |klass| klass === value }
@@ -935,6 +962,7 @@ module Google
935
962
  config_attr :metadata, nil, ::Hash, nil
936
963
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
937
964
  config_attr :quota_project, nil, ::String, nil
965
+ config_attr :universe_domain, nil, ::String, nil
938
966
 
939
967
  # @private
940
968
  # Overrides for http bindings for the RPCs of this service
@@ -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 = "dialogflow.$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 `"dialogflow.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 = "dialogflow.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 list_intents REST call
45
66
  #
@@ -32,6 +32,9 @@ module Google
32
32
  # {::Google::Cloud::Dialogflow::V2::KnowledgeBase KnowledgeBases}.
33
33
  #
34
34
  class Client
35
+ # @private
36
+ DEFAULT_ENDPOINT_TEMPLATE = "dialogflow.$UNIVERSE_DOMAIN$"
37
+
35
38
  include Paths
36
39
 
37
40
  # @private
@@ -97,6 +100,15 @@ module Google
97
100
  @config
98
101
  end
99
102
 
103
+ ##
104
+ # The effective universe domain
105
+ #
106
+ # @return [String]
107
+ #
108
+ def universe_domain
109
+ @knowledge_bases_stub.universe_domain
110
+ end
111
+
100
112
  ##
101
113
  # Create a new KnowledgeBases client object.
102
114
  #
@@ -130,8 +142,9 @@ module Google
130
142
  credentials = @config.credentials
131
143
  # Use self-signed JWT if the endpoint is unchanged from default,
132
144
  # but only if the default endpoint does not have a region prefix.
133
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
134
- !@config.endpoint.split(".").first.include?("-")
145
+ enable_self_signed_jwt = @config.endpoint.nil? ||
146
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
147
+ !@config.endpoint.split(".").first.include?("-"))
135
148
  credentials ||= Credentials.default scope: @config.scope,
136
149
  enable_self_signed_jwt: enable_self_signed_jwt
137
150
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -140,20 +153,23 @@ module Google
140
153
  @quota_project_id = @config.quota_project
141
154
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
142
155
 
143
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
144
- config.credentials = credentials
145
- config.quota_project = @quota_project_id
146
- config.endpoint = @config.endpoint
147
- end
148
-
149
156
  @knowledge_bases_stub = ::Gapic::ServiceStub.new(
150
157
  ::Google::Cloud::Dialogflow::V2::KnowledgeBases::Stub,
151
- credentials: credentials,
152
- endpoint: @config.endpoint,
158
+ credentials: credentials,
159
+ endpoint: @config.endpoint,
160
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
161
+ universe_domain: @config.universe_domain,
153
162
  channel_args: @config.channel_args,
154
163
  interceptors: @config.interceptors,
155
164
  channel_pool_config: @config.channel_pool
156
165
  )
166
+
167
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
168
+ config.credentials = credentials
169
+ config.quota_project = @quota_project_id
170
+ config.endpoint = @knowledge_bases_stub.endpoint
171
+ config.universe_domain = @knowledge_bases_stub.universe_domain
172
+ end
157
173
  end
158
174
 
159
175
  ##
@@ -672,9 +688,9 @@ module Google
672
688
  # end
673
689
  #
674
690
  # @!attribute [rw] endpoint
675
- # The hostname or hostname:port of the service endpoint.
676
- # Defaults to `"dialogflow.googleapis.com"`.
677
- # @return [::String]
691
+ # A custom service endpoint, as a hostname or hostname:port. The default is
692
+ # nil, indicating to use the default endpoint in the current universe domain.
693
+ # @return [::String,nil]
678
694
  # @!attribute [rw] credentials
679
695
  # Credentials to send with calls. You may provide any of the following types:
680
696
  # * (`String`) The path to a service account key file in JSON format
@@ -720,13 +736,20 @@ module Google
720
736
  # @!attribute [rw] quota_project
721
737
  # A separate project against which to charge quota.
722
738
  # @return [::String]
739
+ # @!attribute [rw] universe_domain
740
+ # The universe domain within which to make requests. This determines the
741
+ # default endpoint URL. The default value of nil uses the environment
742
+ # universe (usually the default "googleapis.com" universe).
743
+ # @return [::String,nil]
723
744
  #
724
745
  class Configuration
725
746
  extend ::Gapic::Config
726
747
 
748
+ # @private
749
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
727
750
  DEFAULT_ENDPOINT = "dialogflow.googleapis.com"
728
751
 
729
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
752
+ config_attr :endpoint, nil, ::String, nil
730
753
  config_attr :credentials, nil do |value|
731
754
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
732
755
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -741,6 +764,7 @@ module Google
741
764
  config_attr :metadata, nil, ::Hash, nil
742
765
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
743
766
  config_attr :quota_project, nil, ::String, nil
767
+ config_attr :universe_domain, nil, ::String, nil
744
768
 
745
769
  # @private
746
770
  def initialize parent_config = nil
@@ -34,6 +34,9 @@ module Google
34
34
  # {::Google::Cloud::Dialogflow::V2::KnowledgeBase KnowledgeBases}.
35
35
  #
36
36
  class Client
37
+ # @private
38
+ DEFAULT_ENDPOINT_TEMPLATE = "dialogflow.$UNIVERSE_DOMAIN$"
39
+
37
40
  include Paths
38
41
 
39
42
  # @private
@@ -99,6 +102,15 @@ module Google
99
102
  @config
100
103
  end
101
104
 
105
+ ##
106
+ # The effective universe domain
107
+ #
108
+ # @return [String]
109
+ #
110
+ def universe_domain
111
+ @knowledge_bases_stub.universe_domain
112
+ end
113
+
102
114
  ##
103
115
  # Create a new KnowledgeBases REST client object.
104
116
  #
@@ -126,8 +138,9 @@ module Google
126
138
  credentials = @config.credentials
127
139
  # Use self-signed JWT if the endpoint is unchanged from default,
128
140
  # but only if the default endpoint does not have a region prefix.
129
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
130
- !@config.endpoint.split(".").first.include?("-")
141
+ enable_self_signed_jwt = @config.endpoint.nil? ||
142
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
143
+ !@config.endpoint.split(".").first.include?("-"))
131
144
  credentials ||= Credentials.default scope: @config.scope,
132
145
  enable_self_signed_jwt: enable_self_signed_jwt
133
146
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -137,14 +150,20 @@ module Google
137
150
  @quota_project_id = @config.quota_project
138
151
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
139
152
 
153
+ @knowledge_bases_stub = ::Google::Cloud::Dialogflow::V2::KnowledgeBases::Rest::ServiceStub.new(
154
+ endpoint: @config.endpoint,
155
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
156
+ universe_domain: @config.universe_domain,
157
+ credentials: credentials
158
+ )
159
+
140
160
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
141
161
  config.credentials = credentials
142
162
  config.quota_project = @quota_project_id
143
- config.endpoint = @config.endpoint
163
+ config.endpoint = @knowledge_bases_stub.endpoint
164
+ config.universe_domain = @knowledge_bases_stub.universe_domain
144
165
  config.bindings_override = @config.bindings_override
145
166
  end
146
-
147
- @knowledge_bases_stub = ::Google::Cloud::Dialogflow::V2::KnowledgeBases::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
148
167
  end
149
168
 
150
169
  ##
@@ -628,9 +647,9 @@ module Google
628
647
  # end
629
648
  #
630
649
  # @!attribute [rw] endpoint
631
- # The hostname or hostname:port of the service endpoint.
632
- # Defaults to `"dialogflow.googleapis.com"`.
633
- # @return [::String]
650
+ # A custom service endpoint, as a hostname or hostname:port. The default is
651
+ # nil, indicating to use the default endpoint in the current universe domain.
652
+ # @return [::String,nil]
634
653
  # @!attribute [rw] credentials
635
654
  # Credentials to send with calls. You may provide any of the following types:
636
655
  # * (`String`) The path to a service account key file in JSON format
@@ -667,13 +686,20 @@ module Google
667
686
  # @!attribute [rw] quota_project
668
687
  # A separate project against which to charge quota.
669
688
  # @return [::String]
689
+ # @!attribute [rw] universe_domain
690
+ # The universe domain within which to make requests. This determines the
691
+ # default endpoint URL. The default value of nil uses the environment
692
+ # universe (usually the default "googleapis.com" universe).
693
+ # @return [::String,nil]
670
694
  #
671
695
  class Configuration
672
696
  extend ::Gapic::Config
673
697
 
698
+ # @private
699
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
674
700
  DEFAULT_ENDPOINT = "dialogflow.googleapis.com"
675
701
 
676
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
702
+ config_attr :endpoint, nil, ::String, nil
677
703
  config_attr :credentials, nil do |value|
678
704
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
679
705
  allowed.any? { |klass| klass === value }
@@ -685,6 +711,7 @@ module Google
685
711
  config_attr :metadata, nil, ::Hash, nil
686
712
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
687
713
  config_attr :quota_project, nil, ::String, nil
714
+ config_attr :universe_domain, nil, ::String, nil
688
715
 
689
716
  # @private
690
717
  # Overrides for http bindings for the RPCs of this service
@@ -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 list_knowledge_bases REST call
45
66
  #
@@ -31,6 +31,9 @@ module Google
31
31
  # Service for managing {::Google::Cloud::Dialogflow::V2::Participant Participants}.
32
32
  #
33
33
  class Client
34
+ # @private
35
+ DEFAULT_ENDPOINT_TEMPLATE = "dialogflow.$UNIVERSE_DOMAIN$"
36
+
34
37
  include Paths
35
38
 
36
39
  # @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
+ @participants_stub.universe_domain
116
+ end
117
+
106
118
  ##
107
119
  # Create a new Participants 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)
@@ -146,20 +159,23 @@ module Google
146
159
  @quota_project_id = @config.quota_project
147
160
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
148
161
 
149
- @location_client = Google::Cloud::Location::Locations::Client.new do |config|
150
- config.credentials = credentials
151
- config.quota_project = @quota_project_id
152
- config.endpoint = @config.endpoint
153
- end
154
-
155
162
  @participants_stub = ::Gapic::ServiceStub.new(
156
163
  ::Google::Cloud::Dialogflow::V2::Participants::Stub,
157
- credentials: credentials,
158
- endpoint: @config.endpoint,
164
+ credentials: credentials,
165
+ endpoint: @config.endpoint,
166
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
167
+ universe_domain: @config.universe_domain,
159
168
  channel_args: @config.channel_args,
160
169
  interceptors: @config.interceptors,
161
170
  channel_pool_config: @config.channel_pool
162
171
  )
172
+
173
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
174
+ config.credentials = credentials
175
+ config.quota_project = @quota_project_id
176
+ config.endpoint = @participants_stub.endpoint
177
+ config.universe_domain = @participants_stub.universe_domain
178
+ end
163
179
  end
164
180
 
165
181
  ##
@@ -1075,9 +1091,9 @@ module Google
1075
1091
  # end
1076
1092
  #
1077
1093
  # @!attribute [rw] endpoint
1078
- # The hostname or hostname:port of the service endpoint.
1079
- # Defaults to `"dialogflow.googleapis.com"`.
1080
- # @return [::String]
1094
+ # A custom service endpoint, as a hostname or hostname:port. The default is
1095
+ # nil, indicating to use the default endpoint in the current universe domain.
1096
+ # @return [::String,nil]
1081
1097
  # @!attribute [rw] credentials
1082
1098
  # Credentials to send with calls. You may provide any of the following types:
1083
1099
  # * (`String`) The path to a service account key file in JSON format
@@ -1123,13 +1139,20 @@ module Google
1123
1139
  # @!attribute [rw] quota_project
1124
1140
  # A separate project against which to charge quota.
1125
1141
  # @return [::String]
1142
+ # @!attribute [rw] universe_domain
1143
+ # The universe domain within which to make requests. This determines the
1144
+ # default endpoint URL. The default value of nil uses the environment
1145
+ # universe (usually the default "googleapis.com" universe).
1146
+ # @return [::String,nil]
1126
1147
  #
1127
1148
  class Configuration
1128
1149
  extend ::Gapic::Config
1129
1150
 
1151
+ # @private
1152
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1130
1153
  DEFAULT_ENDPOINT = "dialogflow.googleapis.com"
1131
1154
 
1132
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1155
+ config_attr :endpoint, nil, ::String, nil
1133
1156
  config_attr :credentials, nil do |value|
1134
1157
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1135
1158
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -1144,6 +1167,7 @@ module Google
1144
1167
  config_attr :metadata, nil, ::Hash, nil
1145
1168
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1146
1169
  config_attr :quota_project, nil, ::String, nil
1170
+ config_attr :universe_domain, nil, ::String, nil
1147
1171
 
1148
1172
  # @private
1149
1173
  def initialize parent_config = nil