google-cloud-dialogflow-v2 0.1.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 (72) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +24 -0
  6. data/lib/google-cloud-dialogflow-v2.rb +1 -0
  7. data/lib/google/cloud/common_resources_pb.rb +15 -0
  8. data/lib/google/cloud/dialogflow/v2.rb +24 -0
  9. data/lib/google/cloud/dialogflow/v2/agent_pb.rb +122 -0
  10. data/lib/google/cloud/dialogflow/v2/agent_services_pb.rb +110 -0
  11. data/lib/google/cloud/dialogflow/v2/agents.rb +21 -0
  12. data/lib/google/cloud/dialogflow/v2/agents/client.rb +1047 -0
  13. data/lib/google/cloud/dialogflow/v2/agents/credentials.rb +53 -0
  14. data/lib/google/cloud/dialogflow/v2/agents/operations.rb +559 -0
  15. data/lib/google/cloud/dialogflow/v2/agents/paths.rb +59 -0
  16. data/lib/google/cloud/dialogflow/v2/audio_config_pb.rb +97 -0
  17. data/lib/google/cloud/dialogflow/v2/context_pb.rb +64 -0
  18. data/lib/google/cloud/dialogflow/v2/context_services_pb.rb +74 -0
  19. data/lib/google/cloud/dialogflow/v2/contexts.rb +20 -0
  20. data/lib/google/cloud/dialogflow/v2/contexts/client.rb +756 -0
  21. data/lib/google/cloud/dialogflow/v2/contexts/credentials.rb +53 -0
  22. data/lib/google/cloud/dialogflow/v2/contexts/paths.rb +50 -0
  23. data/lib/google/cloud/dialogflow/v2/entity_type_pb.rb +126 -0
  24. data/lib/google/cloud/dialogflow/v2/entity_type_services_pb.rb +104 -0
  25. data/lib/google/cloud/dialogflow/v2/entity_types.rb +21 -0
  26. data/lib/google/cloud/dialogflow/v2/entity_types/client.rb +1150 -0
  27. data/lib/google/cloud/dialogflow/v2/entity_types/credentials.rb +53 -0
  28. data/lib/google/cloud/dialogflow/v2/entity_types/operations.rb +559 -0
  29. data/lib/google/cloud/dialogflow/v2/entity_types/paths.rb +62 -0
  30. data/lib/google/cloud/dialogflow/v2/intent_pb.rb +368 -0
  31. data/lib/google/cloud/dialogflow/v2/intent_services_pb.rb +92 -0
  32. data/lib/google/cloud/dialogflow/v2/intents.rb +21 -0
  33. data/lib/google/cloud/dialogflow/v2/intents/client.rb +893 -0
  34. data/lib/google/cloud/dialogflow/v2/intents/credentials.rb +53 -0
  35. data/lib/google/cloud/dialogflow/v2/intents/operations.rb +559 -0
  36. data/lib/google/cloud/dialogflow/v2/intents/paths.rb +81 -0
  37. data/lib/google/cloud/dialogflow/v2/session_entity_type_pb.rb +66 -0
  38. data/lib/google/cloud/dialogflow/v2/session_entity_type_services_pb.rb +92 -0
  39. data/lib/google/cloud/dialogflow/v2/session_entity_types.rb +20 -0
  40. data/lib/google/cloud/dialogflow/v2/session_entity_types/client.rb +727 -0
  41. data/lib/google/cloud/dialogflow/v2/session_entity_types/credentials.rb +53 -0
  42. data/lib/google/cloud/dialogflow/v2/session_entity_types/paths.rb +69 -0
  43. data/lib/google/cloud/dialogflow/v2/session_pb.rb +142 -0
  44. data/lib/google/cloud/dialogflow/v2/session_services_pb.rb +55 -0
  45. data/lib/google/cloud/dialogflow/v2/sessions.rb +20 -0
  46. data/lib/google/cloud/dialogflow/v2/sessions/client.rb +472 -0
  47. data/lib/google/cloud/dialogflow/v2/sessions/credentials.rb +53 -0
  48. data/lib/google/cloud/dialogflow/v2/sessions/paths.rb +110 -0
  49. data/lib/google/cloud/dialogflow/v2/validation_result_pb.rb +37 -0
  50. data/lib/google/cloud/dialogflow/v2/version.rb +28 -0
  51. data/lib/google/cloud/dialogflow/v2/webhook_pb.rb +47 -0
  52. data/proto_docs/README.md +4 -0
  53. data/proto_docs/google/api/field_behavior.rb +59 -0
  54. data/proto_docs/google/api/resource.rb +247 -0
  55. data/proto_docs/google/cloud/dialogflow/v2/agent.rb +287 -0
  56. data/proto_docs/google/cloud/dialogflow/v2/audio_config.rb +363 -0
  57. data/proto_docs/google/cloud/dialogflow/v2/context.rb +144 -0
  58. data/proto_docs/google/cloud/dialogflow/v2/entity_type.rb +354 -0
  59. data/proto_docs/google/cloud/dialogflow/v2/intent.rb +1070 -0
  60. data/proto_docs/google/cloud/dialogflow/v2/session.rb +541 -0
  61. data/proto_docs/google/cloud/dialogflow/v2/session_entity_type.rb +155 -0
  62. data/proto_docs/google/cloud/dialogflow/v2/validation_result.rb +81 -0
  63. data/proto_docs/google/cloud/dialogflow/v2/webhook.rb +153 -0
  64. data/proto_docs/google/longrunning/operations.rb +150 -0
  65. data/proto_docs/google/protobuf/any.rb +137 -0
  66. data/proto_docs/google/protobuf/duration.rb +98 -0
  67. data/proto_docs/google/protobuf/empty.rb +36 -0
  68. data/proto_docs/google/protobuf/field_mask.rb +237 -0
  69. data/proto_docs/google/protobuf/struct.rb +96 -0
  70. data/proto_docs/google/rpc/status.rb +46 -0
  71. data/proto_docs/google/type/latlng.rb +38 -0
  72. metadata +225 -0
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Dialogflow
23
+ module V2
24
+ module Agents
25
+ # Path helper methods for the Agents API.
26
+ module Paths
27
+ ##
28
+ # Create a fully-qualified Agent resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/agent`
33
+ #
34
+ # @param project [String]
35
+ #
36
+ # @return [String]
37
+ def agent_path project:
38
+ "projects/#{project}/agent"
39
+ end
40
+
41
+ ##
42
+ # Create a fully-qualified Project resource string.
43
+ #
44
+ # The resource will be in the following format:
45
+ #
46
+ # `projects/{project}`
47
+ #
48
+ # @param project [String]
49
+ #
50
+ # @return [String]
51
+ def project_path project:
52
+ "projects/#{project}"
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,97 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/dialogflow/v2/audio_config.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/field_behavior_pb'
7
+ require 'google/api/resource_pb'
8
+ require 'google/protobuf/duration_pb'
9
+ require 'google/api/annotations_pb'
10
+ Google::Protobuf::DescriptorPool.generated_pool.build do
11
+ add_file("google/cloud/dialogflow/v2/audio_config.proto", :syntax => :proto3) do
12
+ add_message "google.cloud.dialogflow.v2.SpeechContext" do
13
+ repeated :phrases, :string, 1
14
+ optional :boost, :float, 2
15
+ end
16
+ add_message "google.cloud.dialogflow.v2.SpeechWordInfo" do
17
+ optional :word, :string, 3
18
+ optional :start_offset, :message, 1, "google.protobuf.Duration"
19
+ optional :end_offset, :message, 2, "google.protobuf.Duration"
20
+ optional :confidence, :float, 4
21
+ end
22
+ add_message "google.cloud.dialogflow.v2.InputAudioConfig" do
23
+ optional :audio_encoding, :enum, 1, "google.cloud.dialogflow.v2.AudioEncoding"
24
+ optional :sample_rate_hertz, :int32, 2
25
+ optional :language_code, :string, 3
26
+ optional :enable_word_info, :bool, 13
27
+ repeated :phrase_hints, :string, 4
28
+ repeated :speech_contexts, :message, 11, "google.cloud.dialogflow.v2.SpeechContext"
29
+ optional :model, :string, 7
30
+ optional :model_variant, :enum, 10, "google.cloud.dialogflow.v2.SpeechModelVariant"
31
+ optional :single_utterance, :bool, 8
32
+ end
33
+ add_message "google.cloud.dialogflow.v2.VoiceSelectionParams" do
34
+ optional :name, :string, 1
35
+ optional :ssml_gender, :enum, 2, "google.cloud.dialogflow.v2.SsmlVoiceGender"
36
+ end
37
+ add_message "google.cloud.dialogflow.v2.SynthesizeSpeechConfig" do
38
+ optional :speaking_rate, :double, 1
39
+ optional :pitch, :double, 2
40
+ optional :volume_gain_db, :double, 3
41
+ repeated :effects_profile_id, :string, 5
42
+ optional :voice, :message, 4, "google.cloud.dialogflow.v2.VoiceSelectionParams"
43
+ end
44
+ add_message "google.cloud.dialogflow.v2.OutputAudioConfig" do
45
+ optional :audio_encoding, :enum, 1, "google.cloud.dialogflow.v2.OutputAudioEncoding"
46
+ optional :sample_rate_hertz, :int32, 2
47
+ optional :synthesize_speech_config, :message, 3, "google.cloud.dialogflow.v2.SynthesizeSpeechConfig"
48
+ end
49
+ add_enum "google.cloud.dialogflow.v2.AudioEncoding" do
50
+ value :AUDIO_ENCODING_UNSPECIFIED, 0
51
+ value :AUDIO_ENCODING_LINEAR_16, 1
52
+ value :AUDIO_ENCODING_FLAC, 2
53
+ value :AUDIO_ENCODING_MULAW, 3
54
+ value :AUDIO_ENCODING_AMR, 4
55
+ value :AUDIO_ENCODING_AMR_WB, 5
56
+ value :AUDIO_ENCODING_OGG_OPUS, 6
57
+ value :AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE, 7
58
+ end
59
+ add_enum "google.cloud.dialogflow.v2.SpeechModelVariant" do
60
+ value :SPEECH_MODEL_VARIANT_UNSPECIFIED, 0
61
+ value :USE_BEST_AVAILABLE, 1
62
+ value :USE_STANDARD, 2
63
+ value :USE_ENHANCED, 3
64
+ end
65
+ add_enum "google.cloud.dialogflow.v2.SsmlVoiceGender" do
66
+ value :SSML_VOICE_GENDER_UNSPECIFIED, 0
67
+ value :SSML_VOICE_GENDER_MALE, 1
68
+ value :SSML_VOICE_GENDER_FEMALE, 2
69
+ value :SSML_VOICE_GENDER_NEUTRAL, 3
70
+ end
71
+ add_enum "google.cloud.dialogflow.v2.OutputAudioEncoding" do
72
+ value :OUTPUT_AUDIO_ENCODING_UNSPECIFIED, 0
73
+ value :OUTPUT_AUDIO_ENCODING_LINEAR_16, 1
74
+ value :OUTPUT_AUDIO_ENCODING_MP3, 2
75
+ value :OUTPUT_AUDIO_ENCODING_OGG_OPUS, 3
76
+ end
77
+ end
78
+ end
79
+
80
+ module Google
81
+ module Cloud
82
+ module Dialogflow
83
+ module V2
84
+ SpeechContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.SpeechContext").msgclass
85
+ SpeechWordInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.SpeechWordInfo").msgclass
86
+ InputAudioConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.InputAudioConfig").msgclass
87
+ VoiceSelectionParams = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.VoiceSelectionParams").msgclass
88
+ SynthesizeSpeechConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.SynthesizeSpeechConfig").msgclass
89
+ OutputAudioConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.OutputAudioConfig").msgclass
90
+ AudioEncoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.AudioEncoding").enummodule
91
+ SpeechModelVariant = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.SpeechModelVariant").enummodule
92
+ SsmlVoiceGender = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.SsmlVoiceGender").enummodule
93
+ OutputAudioEncoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.OutputAudioEncoding").enummodule
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,64 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/dialogflow/v2/context.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/annotations_pb'
7
+ require 'google/api/client_pb'
8
+ require 'google/api/field_behavior_pb'
9
+ require 'google/api/resource_pb'
10
+ require 'google/protobuf/empty_pb'
11
+ require 'google/protobuf/field_mask_pb'
12
+ require 'google/protobuf/struct_pb'
13
+ Google::Protobuf::DescriptorPool.generated_pool.build do
14
+ add_file("google/cloud/dialogflow/v2/context.proto", :syntax => :proto3) do
15
+ add_message "google.cloud.dialogflow.v2.Context" do
16
+ optional :name, :string, 1
17
+ optional :lifespan_count, :int32, 2
18
+ optional :parameters, :message, 3, "google.protobuf.Struct"
19
+ end
20
+ add_message "google.cloud.dialogflow.v2.ListContextsRequest" do
21
+ optional :parent, :string, 1
22
+ optional :page_size, :int32, 2
23
+ optional :page_token, :string, 3
24
+ end
25
+ add_message "google.cloud.dialogflow.v2.ListContextsResponse" do
26
+ repeated :contexts, :message, 1, "google.cloud.dialogflow.v2.Context"
27
+ optional :next_page_token, :string, 2
28
+ end
29
+ add_message "google.cloud.dialogflow.v2.GetContextRequest" do
30
+ optional :name, :string, 1
31
+ end
32
+ add_message "google.cloud.dialogflow.v2.CreateContextRequest" do
33
+ optional :parent, :string, 1
34
+ optional :context, :message, 2, "google.cloud.dialogflow.v2.Context"
35
+ end
36
+ add_message "google.cloud.dialogflow.v2.UpdateContextRequest" do
37
+ optional :context, :message, 1, "google.cloud.dialogflow.v2.Context"
38
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
39
+ end
40
+ add_message "google.cloud.dialogflow.v2.DeleteContextRequest" do
41
+ optional :name, :string, 1
42
+ end
43
+ add_message "google.cloud.dialogflow.v2.DeleteAllContextsRequest" do
44
+ optional :parent, :string, 1
45
+ end
46
+ end
47
+ end
48
+
49
+ module Google
50
+ module Cloud
51
+ module Dialogflow
52
+ module V2
53
+ Context = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.Context").msgclass
54
+ ListContextsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.ListContextsRequest").msgclass
55
+ ListContextsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.ListContextsResponse").msgclass
56
+ GetContextRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.GetContextRequest").msgclass
57
+ CreateContextRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.CreateContextRequest").msgclass
58
+ UpdateContextRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.UpdateContextRequest").msgclass
59
+ DeleteContextRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.DeleteContextRequest").msgclass
60
+ DeleteAllContextsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dialogflow.v2.DeleteAllContextsRequest").msgclass
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,74 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/dialogflow/v2/context.proto for package 'google.cloud.dialogflow.v2'
3
+ # Original file comments:
4
+ # Copyright 2020 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/dialogflow/v2/context_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module Dialogflow
25
+ module V2
26
+ module Contexts
27
+ # A context represents additional information included with user input or with
28
+ # an intent returned by the Dialogflow API. Contexts are helpful for
29
+ # differentiating user input which may be vague or have a different meaning
30
+ # depending on additional details from your application such as user setting
31
+ # and preferences, previous user input, where the user is in your application,
32
+ # geographic location, and so on.
33
+ #
34
+ # You can include contexts as input parameters of a
35
+ # [DetectIntent][google.cloud.dialogflow.v2.Sessions.DetectIntent] (or
36
+ # [StreamingDetectIntent][google.cloud.dialogflow.v2.Sessions.StreamingDetectIntent]) request,
37
+ # or as output contexts included in the returned intent.
38
+ # Contexts expire when an intent is matched, after the number of `DetectIntent`
39
+ # requests specified by the `lifespan_count` parameter, or after 20 minutes
40
+ # if no intents are matched for a `DetectIntent` request.
41
+ #
42
+ # For more information about contexts, see the
43
+ # [Dialogflow
44
+ # documentation](https://cloud.google.com/dialogflow/docs/contexts-overview).
45
+ class Service
46
+
47
+ include GRPC::GenericService
48
+
49
+ self.marshal_class_method = :encode
50
+ self.unmarshal_class_method = :decode
51
+ self.service_name = 'google.cloud.dialogflow.v2.Contexts'
52
+
53
+ # Returns the list of all contexts in the specified session.
54
+ rpc :ListContexts, ListContextsRequest, ListContextsResponse
55
+ # Retrieves the specified context.
56
+ rpc :GetContext, GetContextRequest, Context
57
+ # Creates a context.
58
+ #
59
+ # If the specified context already exists, overrides the context.
60
+ rpc :CreateContext, CreateContextRequest, Context
61
+ # Updates the specified context.
62
+ rpc :UpdateContext, UpdateContextRequest, Context
63
+ # Deletes the specified context.
64
+ rpc :DeleteContext, DeleteContextRequest, Google::Protobuf::Empty
65
+ # Deletes all active contexts in the specified session.
66
+ rpc :DeleteAllContexts, DeleteAllContextsRequest, Google::Protobuf::Empty
67
+ end
68
+
69
+ Stub = Service.rpc_stub_class
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/dialogflow/v2/contexts/client"
20
+ require "google/cloud/dialogflow/v2/contexts/credentials"
@@ -0,0 +1,756 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/errors"
24
+ require "google/cloud/dialogflow/v2/version"
25
+ require "google/cloud/dialogflow/v2/context_pb"
26
+ require "google/cloud/dialogflow/v2/contexts/credentials"
27
+ require "google/cloud/dialogflow/v2/contexts/paths"
28
+
29
+
30
+ module Google
31
+ module Cloud
32
+ module Dialogflow
33
+ module V2
34
+ module Contexts
35
+ # Service that implements Contexts API.
36
+ class Client
37
+ include Paths
38
+
39
+ # @private
40
+ attr_reader :contexts_stub
41
+
42
+ ##
43
+ # Configure the Contexts Client class.
44
+ #
45
+ # See {Google::Cloud::Dialogflow::V2::Contexts::Client::Configuration}
46
+ # for a description of the configuration fields.
47
+ #
48
+ # ## Example
49
+ #
50
+ # To modify the configuration for all Contexts clients:
51
+ #
52
+ # Google::Cloud::Dialogflow::V2::Contexts::Client.configure do |config|
53
+ # config.timeout = 10_000
54
+ # end
55
+ #
56
+ # @yield [config] Configure the Client client.
57
+ # @yieldparam config [Client::Configuration]
58
+ #
59
+ # @return [Client::Configuration]
60
+ #
61
+ def self.configure
62
+ @configure ||= begin
63
+ namespace = ["Google", "Cloud", "Dialogflow", "V2"]
64
+ parent_config = while namespace.any?
65
+ parent_name = namespace.join "::"
66
+ parent_const = const_get parent_name
67
+ break parent_const.configure if parent_const&.respond_to? :configure
68
+ namespace.pop
69
+ end
70
+ default_config = Client::Configuration.new parent_config
71
+
72
+ default_config.rpcs.list_contexts.timeout = 60.0
73
+ default_config.rpcs.list_contexts.retry_policy = {
74
+ initial_delay: 0.1,
75
+ max_delay: 60.0,
76
+ multiplier: 1.3,
77
+ retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
78
+ }
79
+
80
+ default_config.rpcs.get_context.timeout = 60.0
81
+ default_config.rpcs.get_context.retry_policy = {
82
+ initial_delay: 0.1,
83
+ max_delay: 60.0,
84
+ multiplier: 1.3,
85
+ retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
86
+ }
87
+
88
+ default_config.rpcs.create_context.timeout = 60.0
89
+
90
+ default_config.rpcs.update_context.timeout = 60.0
91
+
92
+ default_config.rpcs.delete_context.timeout = 60.0
93
+ default_config.rpcs.delete_context.retry_policy = {
94
+ initial_delay: 0.1,
95
+ max_delay: 60.0,
96
+ multiplier: 1.3,
97
+ retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
98
+ }
99
+
100
+ default_config.rpcs.delete_all_contexts.timeout = 60.0
101
+ default_config.rpcs.delete_all_contexts.retry_policy = {
102
+ initial_delay: 0.1,
103
+ max_delay: 60.0,
104
+ multiplier: 1.3,
105
+ retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
106
+ }
107
+
108
+ default_config
109
+ end
110
+ yield @configure if block_given?
111
+ @configure
112
+ end
113
+
114
+ ##
115
+ # Configure the Contexts Client instance.
116
+ #
117
+ # The configuration is set to the derived mode, meaning that values can be changed,
118
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
119
+ # should be made on {Client.configure}.
120
+ #
121
+ # See {Google::Cloud::Dialogflow::V2::Contexts::Client::Configuration}
122
+ # for a description of the configuration fields.
123
+ #
124
+ # @yield [config] Configure the Client client.
125
+ # @yieldparam config [Client::Configuration]
126
+ #
127
+ # @return [Client::Configuration]
128
+ #
129
+ def configure
130
+ yield @config if block_given?
131
+ @config
132
+ end
133
+
134
+ ##
135
+ # Create a new Contexts client object.
136
+ #
137
+ # ## Examples
138
+ #
139
+ # To create a new Contexts client with the default
140
+ # configuration:
141
+ #
142
+ # client = Google::Cloud::Dialogflow::V2::Contexts::Client.new
143
+ #
144
+ # To create a new Contexts client with a custom
145
+ # configuration:
146
+ #
147
+ # client = Google::Cloud::Dialogflow::V2::Contexts::Client.new do |config|
148
+ # config.timeout = 10_000
149
+ # end
150
+ #
151
+ # @yield [config] Configure the Contexts client.
152
+ # @yieldparam config [Client::Configuration]
153
+ #
154
+ def initialize
155
+ # These require statements are intentionally placed here to initialize
156
+ # the gRPC module only when it's required.
157
+ # See https://github.com/googleapis/toolkit/issues/446
158
+ require "gapic/grpc"
159
+ require "google/cloud/dialogflow/v2/context_services_pb"
160
+
161
+ # Create the configuration object
162
+ @config = Configuration.new Client.configure
163
+
164
+ # Yield the configuration if needed
165
+ yield @config if block_given?
166
+
167
+ # Create credentials
168
+ credentials = @config.credentials
169
+ credentials ||= Credentials.default scope: @config.scope
170
+ if credentials.is_a?(String) || credentials.is_a?(Hash)
171
+ credentials = Credentials.new credentials, scope: @config.scope
172
+ end
173
+ @quota_project_id = credentials.respond_to?(:quota_project_id) ? credentials.quota_project_id : nil
174
+
175
+ @contexts_stub = Gapic::ServiceStub.new(
176
+ Google::Cloud::Dialogflow::V2::Contexts::Stub,
177
+ credentials: credentials,
178
+ endpoint: @config.endpoint,
179
+ channel_args: @config.channel_args,
180
+ interceptors: @config.interceptors
181
+ )
182
+ end
183
+
184
+ # Service calls
185
+
186
+ ##
187
+ # Returns the list of all contexts in the specified session.
188
+ #
189
+ # @overload list_contexts(request, options = nil)
190
+ # @param request [Google::Cloud::Dialogflow::V2::ListContextsRequest | Hash]
191
+ # Returns the list of all contexts in the specified session.
192
+ # @param options [Gapic::CallOptions, Hash]
193
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
194
+ #
195
+ # @overload list_contexts(parent: nil, page_size: nil, page_token: nil)
196
+ # @param parent [String]
197
+ # Required. The session to list all contexts from.
198
+ # Format: `projects/<Project ID>/agent/sessions/<Session ID>`.
199
+ # @param page_size [Integer]
200
+ # Optional. The maximum number of items to return in a single page. By
201
+ # default 100 and at most 1000.
202
+ # @param page_token [String]
203
+ # Optional. The next_page_token value returned from a previous list request.
204
+ #
205
+ #
206
+ # @yield [response, operation] Access the result along with the RPC operation
207
+ # @yieldparam response [Gapic::PagedEnumerable<Google::Cloud::Dialogflow::V2::Context>]
208
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
209
+ #
210
+ # @return [Gapic::PagedEnumerable<Google::Cloud::Dialogflow::V2::Context>]
211
+ #
212
+ # @raise [Google::Cloud::Error] if the RPC is aborted.
213
+ #
214
+ def list_contexts request, options = nil
215
+ raise ArgumentError, "request must be provided" if request.nil?
216
+
217
+ request = Gapic::Protobuf.coerce request, to: Google::Cloud::Dialogflow::V2::ListContextsRequest
218
+
219
+ # Converts hash and nil to an options object
220
+ options = Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
221
+
222
+ # Customize the options with defaults
223
+ metadata = @config.rpcs.list_contexts.metadata.to_h
224
+
225
+ # Set x-goog-api-client and x-goog-user-project headers
226
+ metadata[:"x-goog-api-client"] ||= Gapic::Headers.x_goog_api_client \
227
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
228
+ gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
229
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
230
+
231
+ header_params = {
232
+ "parent" => request.parent
233
+ }
234
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
235
+ metadata[:"x-goog-request-params"] ||= request_params_header
236
+
237
+ options.apply_defaults timeout: @config.rpcs.list_contexts.timeout,
238
+ metadata: metadata,
239
+ retry_policy: @config.rpcs.list_contexts.retry_policy
240
+ options.apply_defaults metadata: @config.metadata,
241
+ retry_policy: @config.retry_policy
242
+
243
+ @contexts_stub.call_rpc :list_contexts, request, options: options do |response, operation|
244
+ response = Gapic::PagedEnumerable.new @contexts_stub, :list_contexts, request, response, operation, options
245
+ yield response, operation if block_given?
246
+ return response
247
+ end
248
+ rescue GRPC::BadStatus => e
249
+ raise Google::Cloud::Error.from_error(e)
250
+ end
251
+
252
+ ##
253
+ # Retrieves the specified context.
254
+ #
255
+ # @overload get_context(request, options = nil)
256
+ # @param request [Google::Cloud::Dialogflow::V2::GetContextRequest | Hash]
257
+ # Retrieves the specified context.
258
+ # @param options [Gapic::CallOptions, Hash]
259
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
260
+ #
261
+ # @overload get_context(name: nil)
262
+ # @param name [String]
263
+ # Required. The name of the context. Format:
264
+ # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`.
265
+ #
266
+ #
267
+ # @yield [response, operation] Access the result along with the RPC operation
268
+ # @yieldparam response [Google::Cloud::Dialogflow::V2::Context]
269
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
270
+ #
271
+ # @return [Google::Cloud::Dialogflow::V2::Context]
272
+ #
273
+ # @raise [Google::Cloud::Error] if the RPC is aborted.
274
+ #
275
+ def get_context request, options = nil
276
+ raise ArgumentError, "request must be provided" if request.nil?
277
+
278
+ request = Gapic::Protobuf.coerce request, to: Google::Cloud::Dialogflow::V2::GetContextRequest
279
+
280
+ # Converts hash and nil to an options object
281
+ options = Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
282
+
283
+ # Customize the options with defaults
284
+ metadata = @config.rpcs.get_context.metadata.to_h
285
+
286
+ # Set x-goog-api-client and x-goog-user-project headers
287
+ metadata[:"x-goog-api-client"] ||= Gapic::Headers.x_goog_api_client \
288
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
289
+ gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
290
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
291
+
292
+ header_params = {
293
+ "name" => request.name
294
+ }
295
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
296
+ metadata[:"x-goog-request-params"] ||= request_params_header
297
+
298
+ options.apply_defaults timeout: @config.rpcs.get_context.timeout,
299
+ metadata: metadata,
300
+ retry_policy: @config.rpcs.get_context.retry_policy
301
+ options.apply_defaults metadata: @config.metadata,
302
+ retry_policy: @config.retry_policy
303
+
304
+ @contexts_stub.call_rpc :get_context, request, options: options do |response, operation|
305
+ yield response, operation if block_given?
306
+ return response
307
+ end
308
+ rescue GRPC::BadStatus => e
309
+ raise Google::Cloud::Error.from_error(e)
310
+ end
311
+
312
+ ##
313
+ # Creates a context.
314
+ #
315
+ # If the specified context already exists, overrides the context.
316
+ #
317
+ # @overload create_context(request, options = nil)
318
+ # @param request [Google::Cloud::Dialogflow::V2::CreateContextRequest | Hash]
319
+ # Creates a context.
320
+ #
321
+ # If the specified context already exists, overrides the context.
322
+ # @param options [Gapic::CallOptions, Hash]
323
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
324
+ #
325
+ # @overload create_context(parent: nil, context: nil)
326
+ # @param parent [String]
327
+ # Required. The session to create a context for.
328
+ # Format: `projects/<Project ID>/agent/sessions/<Session ID>`.
329
+ # @param context [Google::Cloud::Dialogflow::V2::Context | Hash]
330
+ # Required. The context to create.
331
+ #
332
+ #
333
+ # @yield [response, operation] Access the result along with the RPC operation
334
+ # @yieldparam response [Google::Cloud::Dialogflow::V2::Context]
335
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
336
+ #
337
+ # @return [Google::Cloud::Dialogflow::V2::Context]
338
+ #
339
+ # @raise [Google::Cloud::Error] if the RPC is aborted.
340
+ #
341
+ def create_context request, options = nil
342
+ raise ArgumentError, "request must be provided" if request.nil?
343
+
344
+ request = Gapic::Protobuf.coerce request, to: Google::Cloud::Dialogflow::V2::CreateContextRequest
345
+
346
+ # Converts hash and nil to an options object
347
+ options = Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
348
+
349
+ # Customize the options with defaults
350
+ metadata = @config.rpcs.create_context.metadata.to_h
351
+
352
+ # Set x-goog-api-client and x-goog-user-project headers
353
+ metadata[:"x-goog-api-client"] ||= Gapic::Headers.x_goog_api_client \
354
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
355
+ gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
356
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
357
+
358
+ header_params = {
359
+ "parent" => request.parent
360
+ }
361
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
362
+ metadata[:"x-goog-request-params"] ||= request_params_header
363
+
364
+ options.apply_defaults timeout: @config.rpcs.create_context.timeout,
365
+ metadata: metadata,
366
+ retry_policy: @config.rpcs.create_context.retry_policy
367
+ options.apply_defaults metadata: @config.metadata,
368
+ retry_policy: @config.retry_policy
369
+
370
+ @contexts_stub.call_rpc :create_context, request, options: options do |response, operation|
371
+ yield response, operation if block_given?
372
+ return response
373
+ end
374
+ rescue GRPC::BadStatus => e
375
+ raise Google::Cloud::Error.from_error(e)
376
+ end
377
+
378
+ ##
379
+ # Updates the specified context.
380
+ #
381
+ # @overload update_context(request, options = nil)
382
+ # @param request [Google::Cloud::Dialogflow::V2::UpdateContextRequest | Hash]
383
+ # Updates the specified context.
384
+ # @param options [Gapic::CallOptions, Hash]
385
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
386
+ #
387
+ # @overload update_context(context: nil, update_mask: nil)
388
+ # @param context [Google::Cloud::Dialogflow::V2::Context | Hash]
389
+ # Required. The context to update.
390
+ # @param update_mask [Google::Protobuf::FieldMask | Hash]
391
+ # Optional. The mask to control which fields get updated.
392
+ #
393
+ #
394
+ # @yield [response, operation] Access the result along with the RPC operation
395
+ # @yieldparam response [Google::Cloud::Dialogflow::V2::Context]
396
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
397
+ #
398
+ # @return [Google::Cloud::Dialogflow::V2::Context]
399
+ #
400
+ # @raise [Google::Cloud::Error] if the RPC is aborted.
401
+ #
402
+ def update_context request, options = nil
403
+ raise ArgumentError, "request must be provided" if request.nil?
404
+
405
+ request = Gapic::Protobuf.coerce request, to: Google::Cloud::Dialogflow::V2::UpdateContextRequest
406
+
407
+ # Converts hash and nil to an options object
408
+ options = Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
409
+
410
+ # Customize the options with defaults
411
+ metadata = @config.rpcs.update_context.metadata.to_h
412
+
413
+ # Set x-goog-api-client and x-goog-user-project headers
414
+ metadata[:"x-goog-api-client"] ||= Gapic::Headers.x_goog_api_client \
415
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
416
+ gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
417
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
418
+
419
+ header_params = {
420
+ "context.name" => request.context.name
421
+ }
422
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
423
+ metadata[:"x-goog-request-params"] ||= request_params_header
424
+
425
+ options.apply_defaults timeout: @config.rpcs.update_context.timeout,
426
+ metadata: metadata,
427
+ retry_policy: @config.rpcs.update_context.retry_policy
428
+ options.apply_defaults metadata: @config.metadata,
429
+ retry_policy: @config.retry_policy
430
+
431
+ @contexts_stub.call_rpc :update_context, request, options: options do |response, operation|
432
+ yield response, operation if block_given?
433
+ return response
434
+ end
435
+ rescue GRPC::BadStatus => e
436
+ raise Google::Cloud::Error.from_error(e)
437
+ end
438
+
439
+ ##
440
+ # Deletes the specified context.
441
+ #
442
+ # @overload delete_context(request, options = nil)
443
+ # @param request [Google::Cloud::Dialogflow::V2::DeleteContextRequest | Hash]
444
+ # Deletes the specified context.
445
+ # @param options [Gapic::CallOptions, Hash]
446
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
447
+ #
448
+ # @overload delete_context(name: nil)
449
+ # @param name [String]
450
+ # Required. The name of the context to delete. Format:
451
+ # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`.
452
+ #
453
+ #
454
+ # @yield [response, operation] Access the result along with the RPC operation
455
+ # @yieldparam response [Google::Protobuf::Empty]
456
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
457
+ #
458
+ # @return [Google::Protobuf::Empty]
459
+ #
460
+ # @raise [Google::Cloud::Error] if the RPC is aborted.
461
+ #
462
+ def delete_context request, options = nil
463
+ raise ArgumentError, "request must be provided" if request.nil?
464
+
465
+ request = Gapic::Protobuf.coerce request, to: Google::Cloud::Dialogflow::V2::DeleteContextRequest
466
+
467
+ # Converts hash and nil to an options object
468
+ options = Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
469
+
470
+ # Customize the options with defaults
471
+ metadata = @config.rpcs.delete_context.metadata.to_h
472
+
473
+ # Set x-goog-api-client and x-goog-user-project headers
474
+ metadata[:"x-goog-api-client"] ||= Gapic::Headers.x_goog_api_client \
475
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
476
+ gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
477
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
478
+
479
+ header_params = {
480
+ "name" => request.name
481
+ }
482
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
483
+ metadata[:"x-goog-request-params"] ||= request_params_header
484
+
485
+ options.apply_defaults timeout: @config.rpcs.delete_context.timeout,
486
+ metadata: metadata,
487
+ retry_policy: @config.rpcs.delete_context.retry_policy
488
+ options.apply_defaults metadata: @config.metadata,
489
+ retry_policy: @config.retry_policy
490
+
491
+ @contexts_stub.call_rpc :delete_context, request, options: options do |response, operation|
492
+ yield response, operation if block_given?
493
+ return response
494
+ end
495
+ rescue GRPC::BadStatus => e
496
+ raise Google::Cloud::Error.from_error(e)
497
+ end
498
+
499
+ ##
500
+ # Deletes all active contexts in the specified session.
501
+ #
502
+ # @overload delete_all_contexts(request, options = nil)
503
+ # @param request [Google::Cloud::Dialogflow::V2::DeleteAllContextsRequest | Hash]
504
+ # Deletes all active contexts in the specified session.
505
+ # @param options [Gapic::CallOptions, Hash]
506
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
507
+ #
508
+ # @overload delete_all_contexts(parent: nil)
509
+ # @param parent [String]
510
+ # Required. The name of the session to delete all contexts from. Format:
511
+ # `projects/<Project ID>/agent/sessions/<Session ID>`.
512
+ #
513
+ #
514
+ # @yield [response, operation] Access the result along with the RPC operation
515
+ # @yieldparam response [Google::Protobuf::Empty]
516
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
517
+ #
518
+ # @return [Google::Protobuf::Empty]
519
+ #
520
+ # @raise [Google::Cloud::Error] if the RPC is aborted.
521
+ #
522
+ def delete_all_contexts request, options = nil
523
+ raise ArgumentError, "request must be provided" if request.nil?
524
+
525
+ request = Gapic::Protobuf.coerce request, to: Google::Cloud::Dialogflow::V2::DeleteAllContextsRequest
526
+
527
+ # Converts hash and nil to an options object
528
+ options = Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
529
+
530
+ # Customize the options with defaults
531
+ metadata = @config.rpcs.delete_all_contexts.metadata.to_h
532
+
533
+ # Set x-goog-api-client and x-goog-user-project headers
534
+ metadata[:"x-goog-api-client"] ||= Gapic::Headers.x_goog_api_client \
535
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
536
+ gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
537
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
538
+
539
+ header_params = {
540
+ "parent" => request.parent
541
+ }
542
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
543
+ metadata[:"x-goog-request-params"] ||= request_params_header
544
+
545
+ options.apply_defaults timeout: @config.rpcs.delete_all_contexts.timeout,
546
+ metadata: metadata,
547
+ retry_policy: @config.rpcs.delete_all_contexts.retry_policy
548
+ options.apply_defaults metadata: @config.metadata,
549
+ retry_policy: @config.retry_policy
550
+
551
+ @contexts_stub.call_rpc :delete_all_contexts, request, options: options do |response, operation|
552
+ yield response, operation if block_given?
553
+ return response
554
+ end
555
+ rescue GRPC::BadStatus => e
556
+ raise Google::Cloud::Error.from_error(e)
557
+ end
558
+
559
+ ##
560
+ # Configuration class for the Contexts API.
561
+ #
562
+ # This class represents the configuration for Contexts,
563
+ # providing control over timeouts, retry behavior, logging, transport
564
+ # parameters, and other low-level controls. Certain parameters can also be
565
+ # applied individually to specific RPCs. See
566
+ # {Google::Cloud::Dialogflow::V2::Contexts::Client::Configuration::Rpcs}
567
+ # for a list of RPCs that can be configured independently.
568
+ #
569
+ # Configuration can be applied globally to all clients, or to a single client
570
+ # on construction.
571
+ #
572
+ # # Examples
573
+ #
574
+ # To modify the global config, setting the timeout for list_contexts
575
+ # to 20 seconds, and all remaining timeouts to 10 seconds:
576
+ #
577
+ # Google::Cloud::Dialogflow::V2::Contexts::Client.configure do |config|
578
+ # config.timeout = 10_000
579
+ # config.rpcs.list_contexts.timeout = 20_000
580
+ # end
581
+ #
582
+ # To apply the above configuration only to a new client:
583
+ #
584
+ # client = Google::Cloud::Dialogflow::V2::Contexts::Client.new do |config|
585
+ # config.timeout = 10_000
586
+ # config.rpcs.list_contexts.timeout = 20_000
587
+ # end
588
+ #
589
+ # @!attribute [rw] endpoint
590
+ # The hostname or hostname:port of the service endpoint.
591
+ # Defaults to `"dialogflow.googleapis.com"`.
592
+ # @return [String]
593
+ # @!attribute [rw] credentials
594
+ # Credentials to send with calls. You may provide any of the following types:
595
+ # * (`String`) The path to a service account key file in JSON format
596
+ # * (`Hash`) A service account key as a Hash
597
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
598
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
599
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
600
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
601
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
602
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
603
+ # * (`nil`) indicating no credentials
604
+ # @return [Object]
605
+ # @!attribute [rw] scope
606
+ # The OAuth scopes
607
+ # @return [Array<String>]
608
+ # @!attribute [rw] lib_name
609
+ # The library name as recorded in instrumentation and logging
610
+ # @return [String]
611
+ # @!attribute [rw] lib_version
612
+ # The library version as recorded in instrumentation and logging
613
+ # @return [String]
614
+ # @!attribute [rw] channel_args
615
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
616
+ # `GRPC::Core::Channel` object is provided as the credential.
617
+ # @return [Hash]
618
+ # @!attribute [rw] interceptors
619
+ # An array of interceptors that are run before calls are executed.
620
+ # @return [Array<GRPC::ClientInterceptor>]
621
+ # @!attribute [rw] timeout
622
+ # The call timeout in milliseconds.
623
+ # @return [Numeric]
624
+ # @!attribute [rw] metadata
625
+ # Additional gRPC headers to be sent with the call.
626
+ # @return [Hash{Symbol=>String}]
627
+ # @!attribute [rw] retry_policy
628
+ # The retry policy. The value is a hash with the following keys:
629
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
630
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
631
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
632
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
633
+ # trigger a retry.
634
+ # @return [Hash]
635
+ #
636
+ class Configuration
637
+ extend Gapic::Config
638
+
639
+ config_attr :endpoint, "dialogflow.googleapis.com", String
640
+ config_attr :credentials, nil do |value|
641
+ allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
642
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
643
+ allowed.any? { |klass| klass === value }
644
+ end
645
+ config_attr :scope, nil, String, Array, nil
646
+ config_attr :lib_name, nil, String, nil
647
+ config_attr :lib_version, nil, String, nil
648
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, Hash, nil)
649
+ config_attr :interceptors, nil, Array, nil
650
+ config_attr :timeout, nil, Numeric, nil
651
+ config_attr :metadata, nil, Hash, nil
652
+ config_attr :retry_policy, nil, Hash, Proc, nil
653
+
654
+ # @private
655
+ def initialize parent_config = nil
656
+ @parent_config = parent_config unless parent_config.nil?
657
+
658
+ yield self if block_given?
659
+ end
660
+
661
+ ##
662
+ # Configurations for individual RPCs
663
+ # @return [Rpcs]
664
+ #
665
+ def rpcs
666
+ @rpcs ||= begin
667
+ parent_rpcs = nil
668
+ parent_rpcs = @parent_config.rpcs if @parent_config&.respond_to? :rpcs
669
+ Rpcs.new parent_rpcs
670
+ end
671
+ end
672
+
673
+ ##
674
+ # Configuration RPC class for the Contexts API.
675
+ #
676
+ # Includes fields providing the configuration for each RPC in this service.
677
+ # Each configuration object is of type `Gapic::Config::Method` and includes
678
+ # the following configuration fields:
679
+ #
680
+ # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
681
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
682
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
683
+ # include the following keys:
684
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
685
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
686
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
687
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
688
+ # trigger a retry.
689
+ #
690
+ class Rpcs
691
+ ##
692
+ # RPC-specific configuration for `list_contexts`
693
+ # @return [Gapic::Config::Method]
694
+ #
695
+ attr_reader :list_contexts
696
+ ##
697
+ # RPC-specific configuration for `get_context`
698
+ # @return [Gapic::Config::Method]
699
+ #
700
+ attr_reader :get_context
701
+ ##
702
+ # RPC-specific configuration for `create_context`
703
+ # @return [Gapic::Config::Method]
704
+ #
705
+ attr_reader :create_context
706
+ ##
707
+ # RPC-specific configuration for `update_context`
708
+ # @return [Gapic::Config::Method]
709
+ #
710
+ attr_reader :update_context
711
+ ##
712
+ # RPC-specific configuration for `delete_context`
713
+ # @return [Gapic::Config::Method]
714
+ #
715
+ attr_reader :delete_context
716
+ ##
717
+ # RPC-specific configuration for `delete_all_contexts`
718
+ # @return [Gapic::Config::Method]
719
+ #
720
+ attr_reader :delete_all_contexts
721
+
722
+ # @private
723
+ def initialize parent_rpcs = nil
724
+ list_contexts_config = parent_rpcs&.list_contexts if parent_rpcs&.respond_to? :list_contexts
725
+ @list_contexts = Gapic::Config::Method.new list_contexts_config
726
+ get_context_config = parent_rpcs&.get_context if parent_rpcs&.respond_to? :get_context
727
+ @get_context = Gapic::Config::Method.new get_context_config
728
+ create_context_config = parent_rpcs&.create_context if parent_rpcs&.respond_to? :create_context
729
+ @create_context = Gapic::Config::Method.new create_context_config
730
+ update_context_config = parent_rpcs&.update_context if parent_rpcs&.respond_to? :update_context
731
+ @update_context = Gapic::Config::Method.new update_context_config
732
+ delete_context_config = parent_rpcs&.delete_context if parent_rpcs&.respond_to? :delete_context
733
+ @delete_context = Gapic::Config::Method.new delete_context_config
734
+ delete_all_contexts_config = parent_rpcs&.delete_all_contexts if parent_rpcs&.respond_to? :delete_all_contexts
735
+ @delete_all_contexts = Gapic::Config::Method.new delete_all_contexts_config
736
+
737
+ yield self if block_given?
738
+ end
739
+ end
740
+ end
741
+ end
742
+ end
743
+ end
744
+ end
745
+ end
746
+ end
747
+
748
+ # rubocop:disable Lint/HandleExceptions
749
+
750
+ # Once client is loaded, load helpers.rb if it exists.
751
+ begin
752
+ require "google/cloud/dialogflow/v2/contexts/helpers"
753
+ rescue LoadError
754
+ end
755
+
756
+ # rubocop:enable Lint/HandleExceptions