class Google::Cloud::Dialogflow::V2::Participants::Client

Client for the Participants service.

Service for managing {::Google::Cloud::Dialogflow::V2::Participant Participants}.

Attributes

participants_stub[R]

@private

Public Class Methods

configure() { |configure| ... } click to toggle source

Configure the Participants Client class.

See {::Google::Cloud::Dialogflow::V2::Participants::Client::Configuration} for a description of the configuration fields.

@example

# Modify the configuration for all Participants clients
::Google::Cloud::Dialogflow::V2::Participants::Client.configure do |config|
  config.timeout = 10.0
end

@yield [config] Configure the Client client. @yieldparam config [Client::Configuration]

@return [Client::Configuration]

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 56
def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "Dialogflow", "V2"]
    parent_config = while namespace.any?
                      parent_name = namespace.join "::"
                      parent_const = const_get parent_name
                      break parent_const.configure if parent_const.respond_to? :configure
                      namespace.pop
                    end
    default_config = Client::Configuration.new parent_config

    default_config.timeout = 60.0
    default_config.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.analyze_content.timeout = 220.0
    default_config.rpcs.analyze_content.retry_policy = {
      initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config
  end
  yield @configure if block_given?
  @configure
end
new() { |config| ... } click to toggle source

Create a new Participants client object.

@example

# Create a client using the default configuration
client = ::Google::Cloud::Dialogflow::V2::Participants::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Dialogflow::V2::Participants::Client.new do |config|
  config.timeout = 10.0
end

@yield [config] Configure the Participants client. @yieldparam config [Client::Configuration]

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 119
def initialize
  # These require statements are intentionally placed here to initialize
  # the gRPC module only when it's required.
  # See https://github.com/googleapis/toolkit/issues/446
  require "gapic/grpc"
  require "google/cloud/dialogflow/v2/participant_services_pb"

  # Create the configuration object
  @config = Configuration.new Client.configure

  # Yield the configuration if needed
  yield @config if block_given?

  # Create credentials
  credentials = @config.credentials
  # Use self-signed JWT if the endpoint is unchanged from default,
  # but only if the default endpoint does not have a region prefix.
  enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
                           !@config.endpoint.split(".").first.include?("-")
  credentials ||= Credentials.default scope: @config.scope,
                                      enable_self_signed_jwt: enable_self_signed_jwt
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
    credentials = Credentials.new credentials, scope: @config.scope
  end
  @quota_project_id = @config.quota_project
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id

  @participants_stub = ::Gapic::ServiceStub.new(
    ::Google::Cloud::Dialogflow::V2::Participants::Stub,
    credentials:  credentials,
    endpoint:     @config.endpoint,
    channel_args: @config.channel_args,
    interceptors: @config.interceptors
  )
end

Public Instance Methods

analyze_content(request, options = nil) { |response, operation| ... } click to toggle source

Adds a text (chat, for example), or audio (phone recording, for example) message from a participant into the conversation.

Note: Always use agent versions for production traffic sent to virtual agents. See [Versions and environments](cloud.google.com/dialogflow/es/docs/agents-versions).

@overload analyze_content(request, options = nil)

Pass arguments to `analyze_content` via a request object, either of type
{::Google::Cloud::Dialogflow::V2::AnalyzeContentRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::V2::AnalyzeContentRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload analyze_content(participant: nil, text_input: nil, event_input: nil, reply_audio_config: nil, query_params: nil, request_id: nil)

Pass arguments to `analyze_content` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param participant [::String]
  Required. The name of the participant this text comes from.
  Format: `projects/<Project ID>/locations/<Location
  ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
@param text_input [::Google::Cloud::Dialogflow::V2::TextInput, ::Hash]
  The natural language text to be processed.
@param event_input [::Google::Cloud::Dialogflow::V2::EventInput, ::Hash]
  An input event to send to Dialogflow.
@param reply_audio_config [::Google::Cloud::Dialogflow::V2::OutputAudioConfig, ::Hash]
  Speech synthesis configuration.
  The speech synthesis settings for a virtual agent that may be configured
  for the associated conversation profile are not used when calling
  AnalyzeContent. If this configuration is not supplied, speech synthesis
  is disabled.
@param query_params [::Google::Cloud::Dialogflow::V2::QueryParameters, ::Hash]
  Parameters for a Dialogflow virtual-agent query.
@param request_id [::String]
  A unique identifier for this request. Restricted to 36 ASCII characters.
  A random UUID is recommended.
  This request is only idempotent if a `request_id` is provided.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Dialogflow::V2::AnalyzeContentResponse] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Dialogflow::V2::AnalyzeContentResponse]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 497
def analyze_content request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::V2::AnalyzeContentRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.analyze_content.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "participant" => request.participant
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.analyze_content.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.analyze_content.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @participants_stub.call_rpc :analyze_content, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
configure() { |config| ... } click to toggle source

Configure the Participants Client instance.

The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on {Client.configure}.

See {::Google::Cloud::Dialogflow::V2::Participants::Client::Configuration} for a description of the configuration fields.

@yield [config] Configure the Client client. @yieldparam config [Client::Configuration]

@return [Client::Configuration]

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 98
def configure
  yield @config if block_given?
  @config
end
create_participant(request, options = nil) { |response, operation| ... } click to toggle source

Creates a new participant in a conversation.

@overload create_participant(request, options = nil)

Pass arguments to `create_participant` via a request object, either of type
{::Google::Cloud::Dialogflow::V2::CreateParticipantRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::V2::CreateParticipantRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload create_participant(parent: nil, participant: nil)

Pass arguments to `create_participant` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. Resource identifier of the conversation adding the participant.
  Format: `projects/<Project ID>/locations/<Location
  ID>/conversations/<Conversation ID>`.
@param participant [::Google::Cloud::Dialogflow::V2::Participant, ::Hash]
  Required. The participant to create.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Dialogflow::V2::Participant] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Dialogflow::V2::Participant]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 190
def create_participant request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::V2::CreateParticipantRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.create_participant.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.create_participant.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_participant.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @participants_stub.call_rpc :create_participant, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
get_participant(request, options = nil) { |response, operation| ... } click to toggle source

Retrieves a conversation participant.

@overload get_participant(request, options = nil)

Pass arguments to `get_participant` via a request object, either of type
{::Google::Cloud::Dialogflow::V2::GetParticipantRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::V2::GetParticipantRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload get_participant(name: nil)

Pass arguments to `get_participant` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The name of the participant. Format:
  `projects/<Project ID>/locations/<Location ID>/conversations/<Conversation
  ID>/participants/<Participant ID>`.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Dialogflow::V2::Participant] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Dialogflow::V2::Participant]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 260
def get_participant request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::V2::GetParticipantRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.get_participant.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.get_participant.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_participant.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @participants_stub.call_rpc :get_participant, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_participants(request, options = nil) { |response, operation| ... } click to toggle source

Returns the list of all participants in the specified conversation.

@overload list_participants(request, options = nil)

Pass arguments to `list_participants` via a request object, either of type
{::Google::Cloud::Dialogflow::V2::ListParticipantsRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::V2::ListParticipantsRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_participants(parent: nil, page_size: nil, page_token: nil)

Pass arguments to `list_participants` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The conversation to list all participants from.
  Format: `projects/<Project ID>/locations/<Location
  ID>/conversations/<Conversation ID>`.
@param page_size [::Integer]
  Optional. The maximum number of items to return in a single page. By
  default 100 and at most 1000.
@param page_token [::String]
  Optional. The next_page_token value returned from a previous list request.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Dialogflow::V2::Participant>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Dialogflow::V2::Participant>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 335
def list_participants request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::V2::ListParticipantsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_participants.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_participants.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_participants.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @participants_stub.call_rpc :list_participants, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @participants_stub, :list_participants, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
suggest_articles(request, options = nil) { |response, operation| ... } click to toggle source

Gets suggested articles for a participant based on specific historical messages.

@overload suggest_articles(request, options = nil)

Pass arguments to `suggest_articles` via a request object, either of type
{::Google::Cloud::Dialogflow::V2::SuggestArticlesRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::V2::SuggestArticlesRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload suggest_articles(parent: nil, latest_message: nil, context_size: nil)

Pass arguments to `suggest_articles` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The name of the participant to fetch suggestion for.
  Format: `projects/<Project ID>/locations/<Location
  ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
@param latest_message [::String]
  The name of the latest conversation message to compile suggestion
  for. If empty, it will be the latest message of the conversation.

  Format: `projects/<Project ID>/locations/<Location
  ID>/conversations/<Conversation ID>/messages/<Message ID>`.
@param context_size [::Integer]
  Max number of messages prior to and including
  {::Google::Cloud::Dialogflow::V2::SuggestArticlesRequest#latest_message latest_message} to use as context
  when compiling the suggestion. By default 20 and at most 50.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Dialogflow::V2::SuggestArticlesResponse] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Dialogflow::V2::SuggestArticlesResponse]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 578
def suggest_articles request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::V2::SuggestArticlesRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.suggest_articles.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.suggest_articles.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.suggest_articles.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @participants_stub.call_rpc :suggest_articles, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
suggest_faq_answers(request, options = nil) { |response, operation| ... } click to toggle source

Gets suggested faq answers for a participant based on specific historical messages.

@overload suggest_faq_answers(request, options = nil)

Pass arguments to `suggest_faq_answers` via a request object, either of type
{::Google::Cloud::Dialogflow::V2::SuggestFaqAnswersRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::V2::SuggestFaqAnswersRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload suggest_faq_answers(parent: nil, latest_message: nil, context_size: nil)

Pass arguments to `suggest_faq_answers` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The name of the participant to fetch suggestion for.
  Format: `projects/<Project ID>/locations/<Location
  ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
@param latest_message [::String]
  The name of the latest conversation message to compile suggestion
  for. If empty, it will be the latest message of the conversation.

  Format: `projects/<Project ID>/locations/<Location
  ID>/conversations/<Conversation ID>/messages/<Message ID>`.
@param context_size [::Integer]
  Max number of messages prior to and including
  [latest_message] to use as context when compiling the
  suggestion. By default 20 and at most 50.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Dialogflow::V2::SuggestFaqAnswersResponse] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Dialogflow::V2::SuggestFaqAnswersResponse]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 659
def suggest_faq_answers request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::V2::SuggestFaqAnswersRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.suggest_faq_answers.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.suggest_faq_answers.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.suggest_faq_answers.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @participants_stub.call_rpc :suggest_faq_answers, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
update_participant(request, options = nil) { |response, operation| ... } click to toggle source

Updates the specified participant.

@overload update_participant(request, options = nil)

Pass arguments to `update_participant` via a request object, either of type
{::Google::Cloud::Dialogflow::V2::UpdateParticipantRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::V2::UpdateParticipantRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload update_participant(participant: nil, update_mask: nil)

Pass arguments to `update_participant` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param participant [::Google::Cloud::Dialogflow::V2::Participant, ::Hash]
  Required. The participant to update.
@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  Required. The mask to specify which fields to update.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Dialogflow::V2::Participant] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Dialogflow::V2::Participant]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/dialogflow/v2/participants/client.rb, line 406
def update_participant request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::V2::UpdateParticipantRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.update_participant.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Dialogflow::V2::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "participant.name" => request.participant.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.update_participant.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_participant.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @participants_stub.call_rpc :update_participant, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end