class Google::Cloud::Dialogflow::CX::V3::Agents::Client

Client for the Agents service.

Service for managing {::Google::Cloud::Dialogflow::CX::V3::Agent Agents}.

Attributes

agents_stub[R]

@private

operations_client[R]

Get the associated client for long-running operations.

@return [::Google::Cloud::Dialogflow::CX::V3::Agents::Operations]

Public Class Methods

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

Configure the Agents Client class.

See {::Google::Cloud::Dialogflow::CX::V3::Agents::Client::Configuration} for a description of the configuration fields.

@example

# Modify the configuration for all Agents clients
::Google::Cloud::Dialogflow::CX::V3::Agents::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/cx/v3/agents/client.rb, line 57
def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "Dialogflow", "CX", "V3"]
    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
  end
  yield @configure if block_given?
  @configure
end
new() { |config| ... } click to toggle source

Create a new Agents client object.

@example

# Create a client using the default configuration
client = ::Google::Cloud::Dialogflow::CX::V3::Agents::Client.new

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

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 115
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/cx/v3/agent_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

  @operations_client = Operations.new do |config|
    config.credentials = credentials
    config.endpoint = @config.endpoint
  end

  @agents_stub = ::Gapic::ServiceStub.new(
    ::Google::Cloud::Dialogflow::CX::V3::Agents::Stub,
    credentials:  credentials,
    endpoint:     @config.endpoint,
    channel_args: @config.channel_args,
    interceptors: @config.interceptors
  )
end

Public Instance Methods

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

Configure the Agents 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::CX::V3::Agents::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/cx/v3/agents/client.rb, line 94
def configure
  yield @config if block_given?
  @config
end
create_agent(request, options = nil) { |response, operation| ... } click to toggle source

Creates an agent in the specified location.

Note: You should always train flows prior to sending them queries. See the [training documentation](cloud.google.com/dialogflow/cx/docs/concept/training).

@overload create_agent(request, options = nil)

Pass arguments to `create_agent` via a request object, either of type
{::Google::Cloud::Dialogflow::CX::V3::CreateAgentRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::CX::V3::CreateAgentRequest, ::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_agent(parent: nil, agent: nil)

Pass arguments to `create_agent` 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 location to create a agent for.
  Format: `projects/<Project ID>/locations/<Location ID>`.
@param agent [::Google::Cloud::Dialogflow::CX::V3::Agent, ::Hash]
  Required. The agent to create.

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

@return [::Google::Cloud::Dialogflow::CX::V3::Agent]

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 345
def create_agent request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::CreateAgentRequest

  # 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_agent.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::CX::V3::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_agent.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_agent.retry_policy

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

  @agents_stub.call_rpc :create_agent, 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
delete_agent(request, options = nil) { |response, operation| ... } click to toggle source

Deletes the specified agent.

@overload delete_agent(request, options = nil)

Pass arguments to `delete_agent` via a request object, either of type
{::Google::Cloud::Dialogflow::CX::V3::DeleteAgentRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::CX::V3::DeleteAgentRequest, ::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 delete_agent(name: nil)

Pass arguments to `delete_agent` 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 agent to delete.
  Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Protobuf::Empty] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Protobuf::Empty]

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 489
def delete_agent request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::DeleteAgentRequest

  # 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.delete_agent.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::CX::V3::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.delete_agent.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.delete_agent.retry_policy

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

  @agents_stub.call_rpc :delete_agent, 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
export_agent(request, options = nil) { |response, operation| ... } click to toggle source

Exports the specified agent to a binary file. This method is a [long-running operation](cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields:

@overload export_agent(request, options = nil)

Pass arguments to `export_agent` via a request object, either of type
{::Google::Cloud::Dialogflow::CX::V3::ExportAgentRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::CX::V3::ExportAgentRequest, ::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 export_agent(name: nil, agent_uri: nil, environment: nil)

Pass arguments to `export_agent` 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 agent to export.
  Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
@param agent_uri [::String]
  Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to
  export the agent to. The format of this URI must be
  `gs://<bucket-name>/<object-name>`.
  If left unspecified, the serialized agent is returned inline.
@param environment [::String]
  Optional. Environment name. If not set, draft environment is assumed.
  Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  ID>/environments/<Environment ID>`.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 574
def export_agent request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::ExportAgentRequest

  # 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.export_agent.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::CX::V3::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.export_agent.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.export_agent.retry_policy

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

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

Retrieves the specified agent.

@overload get_agent(request, options = nil)

Pass arguments to `get_agent` via a request object, either of type
{::Google::Cloud::Dialogflow::CX::V3::GetAgentRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::CX::V3::GetAgentRequest, ::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_agent(name: nil)

Pass arguments to `get_agent` 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 agent.
  Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.

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

@return [::Google::Cloud::Dialogflow::CX::V3::Agent]

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 270
def get_agent request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::GetAgentRequest

  # 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_agent.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::CX::V3::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_agent.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_agent.retry_policy

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

  @agents_stub.call_rpc :get_agent, 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_agent_validation_result(request, options = nil) { |response, operation| ... } click to toggle source

Gets the latest agent validation result. Agent validation is performed when ValidateAgent is called.

@overload get_agent_validation_result(request, options = nil)

Pass arguments to `get_agent_validation_result` via a request object, either of type
{::Google::Cloud::Dialogflow::CX::V3::GetAgentValidationResultRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::CX::V3::GetAgentValidationResultRequest, ::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_agent_validation_result(name: nil, language_code: nil)

Pass arguments to `get_agent_validation_result` 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 agent name.
  Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  ID>/validationResult`.
@param language_code [::String]
  If not specified, the agent's default language is used.

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

@return [::Google::Cloud::Dialogflow::CX::V3::AgentValidationResult]

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 807
def get_agent_validation_result request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::GetAgentValidationResultRequest

  # 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_agent_validation_result.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::CX::V3::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_agent_validation_result.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_agent_validation_result.retry_policy

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

  @agents_stub.call_rpc :get_agent_validation_result, 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_agents(request, options = nil) { |response, operation| ... } click to toggle source

Returns the list of all agents in the specified location.

@overload list_agents(request, options = nil)

Pass arguments to `list_agents` via a request object, either of type
{::Google::Cloud::Dialogflow::CX::V3::ListAgentsRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::CX::V3::ListAgentsRequest, ::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_agents(parent: nil, page_size: nil, page_token: nil)

Pass arguments to `list_agents` 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 location to list all agents for.
  Format: `projects/<Project ID>/locations/<Location ID>`.
@param page_size [::Integer]
  The maximum number of items to return in a single page. By default 100 and
  at most 1000.
@param page_token [::String]
  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::CX::V3::Agent>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Dialogflow::CX::V3::Agent>]

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 200
def list_agents request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::ListAgentsRequest

  # 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_agents.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::CX::V3::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_agents.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_agents.retry_policy

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

  @agents_stub.call_rpc :list_agents, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @agents_stub, :list_agents, 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
restore_agent(request, options = nil) { |response, operation| ... } click to toggle source

Restores the specified agent from a binary file.

Replaces the current agent with a new one. Note that all existing resources in agent (e.g. intents, entity types, flows) will be removed.

Note: You should always train flows prior to sending them queries. See the [training documentation](cloud.google.com/dialogflow/cx/docs/concept/training).

@overload restore_agent(request, options = nil)

Pass arguments to `restore_agent` via a request object, either of type
{::Google::Cloud::Dialogflow::CX::V3::RestoreAgentRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::CX::V3::RestoreAgentRequest, ::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 restore_agent(name: nil, agent_uri: nil, agent_content: nil, restore_option: nil)

Pass arguments to `restore_agent` 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 agent to restore into.
  Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
@param agent_uri [::String]
  The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI
  to restore agent from. The format of this URI must be
  `gs://<bucket-name>/<object-name>`.
@param agent_content [::String]
  Uncompressed raw byte content for agent.
@param restore_option [::Google::Cloud::Dialogflow::CX::V3::RestoreAgentRequest::RestoreOption]
  Agent restore mode. If not specified, `KEEP` is assumed.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 660
def restore_agent request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::RestoreAgentRequest

  # 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.restore_agent.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::CX::V3::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.restore_agent.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.restore_agent.retry_policy

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

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

Updates the specified agent.

Note: You should always train flows prior to sending them queries. See the [training documentation](cloud.google.com/dialogflow/cx/docs/concept/training).

@overload update_agent(request, options = nil)

Pass arguments to `update_agent` via a request object, either of type
{::Google::Cloud::Dialogflow::CX::V3::UpdateAgentRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::CX::V3::UpdateAgentRequest, ::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_agent(agent: nil, update_mask: nil)

Pass arguments to `update_agent` 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 agent [::Google::Cloud::Dialogflow::CX::V3::Agent, ::Hash]
  Required. The agent to update.
@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  The mask to control which fields get updated. If the mask is not present,
  all fields will be updated.

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

@return [::Google::Cloud::Dialogflow::CX::V3::Agent]

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 420
def update_agent request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::UpdateAgentRequest

  # 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_agent.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::CX::V3::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "agent.name" => request.agent.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_agent.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_agent.retry_policy

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

  @agents_stub.call_rpc :update_agent, 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
validate_agent(request, options = nil) { |response, operation| ... } click to toggle source

Validates the specified agent and creates or updates validation results. The agent in draft version is validated. Please call this API after the training is completed to get the complete validation results.

@overload validate_agent(request, options = nil)

Pass arguments to `validate_agent` via a request object, either of type
{::Google::Cloud::Dialogflow::CX::V3::ValidateAgentRequest} or an equivalent Hash.

@param request [::Google::Cloud::Dialogflow::CX::V3::ValidateAgentRequest, ::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 validate_agent(name: nil, language_code: nil)

Pass arguments to `validate_agent` 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 agent to validate.
  Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
@param language_code [::String]
  If not specified, the agent's default language is used.

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

@return [::Google::Cloud::Dialogflow::CX::V3::AgentValidationResult]

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

# File lib/google/cloud/dialogflow/cx/v3/agents/client.rb, line 734
def validate_agent request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::ValidateAgentRequest

  # 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.validate_agent.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::CX::V3::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.validate_agent.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.validate_agent.retry_policy

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

  @agents_stub.call_rpc :validate_agent, 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