// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::update_agent_action_group::_update_agent_action_group_output::UpdateAgentActionGroupOutputBuilder;
pub use crate::operation::update_agent_action_group::_update_agent_action_group_input::UpdateAgentActionGroupInputBuilder;
impl crate::operation::update_agent_action_group::builders::UpdateAgentActionGroupInputBuilder {
/// Sends a request with this input using the given client.
pub async fn send_with(
self,
client: &crate::Client,
) -> ::std::result::Result<
crate::operation::update_agent_action_group::UpdateAgentActionGroupOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::update_agent_action_group::UpdateAgentActionGroupError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let mut fluent_builder = client.update_agent_action_group();
fluent_builder.inner = self;
fluent_builder.send().await
}
}
/// Fluent builder constructing a request to `UpdateAgentActionGroup`.
///
/// <p>Updates the configuration for an action group for an agent.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct UpdateAgentActionGroupFluentBuilder {
handle: ::std::sync::Arc<crate::client::Handle>,
inner: crate::operation::update_agent_action_group::builders::UpdateAgentActionGroupInputBuilder,
config_override: ::std::option::Option<crate::config::Builder>,
}
impl
crate::client::customize::internal::CustomizableSend<
crate::operation::update_agent_action_group::UpdateAgentActionGroupOutput,
crate::operation::update_agent_action_group::UpdateAgentActionGroupError,
> for UpdateAgentActionGroupFluentBuilder
{
fn send(
self,
config_override: crate::config::Builder,
) -> crate::client::customize::internal::BoxFuture<
crate::client::customize::internal::SendResult<
crate::operation::update_agent_action_group::UpdateAgentActionGroupOutput,
crate::operation::update_agent_action_group::UpdateAgentActionGroupError,
>,
> {
::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
}
}
impl UpdateAgentActionGroupFluentBuilder {
/// Creates a new `UpdateAgentActionGroupFluentBuilder`.
pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: ::std::default::Default::default(),
config_override: ::std::option::Option::None,
}
}
/// Access the UpdateAgentActionGroup as a reference.
pub fn as_input(&self) -> &crate::operation::update_agent_action_group::builders::UpdateAgentActionGroupInputBuilder {
&self.inner
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> ::std::result::Result<
crate::operation::update_agent_action_group::UpdateAgentActionGroupOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::update_agent_action_group::UpdateAgentActionGroupError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let input = self
.inner
.build()
.map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
let runtime_plugins = crate::operation::update_agent_action_group::UpdateAgentActionGroup::operation_runtime_plugins(
self.handle.runtime_plugins.clone(),
&self.handle.conf,
self.config_override,
);
crate::operation::update_agent_action_group::UpdateAgentActionGroup::orchestrate(&runtime_plugins, input).await
}
/// Consumes this builder, creating a customizable operation that can be modified before being sent.
pub fn customize(
self,
) -> crate::client::customize::CustomizableOperation<
crate::operation::update_agent_action_group::UpdateAgentActionGroupOutput,
crate::operation::update_agent_action_group::UpdateAgentActionGroupError,
Self,
> {
crate::client::customize::CustomizableOperation::new(self)
}
pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
self.set_config_override(::std::option::Option::Some(config_override.into()));
self
}
pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
self.config_override = config_override;
self
}
/// <p>The unique identifier of the agent for which to update the action group.</p>
pub fn agent_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.agent_id(input.into());
self
}
/// <p>The unique identifier of the agent for which to update the action group.</p>
pub fn set_agent_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_agent_id(input);
self
}
/// <p>The unique identifier of the agent for which to update the action group.</p>
pub fn get_agent_id(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_agent_id()
}
/// <p>The unique identifier of the agent version for which to update the action group.</p>
pub fn agent_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.agent_version(input.into());
self
}
/// <p>The unique identifier of the agent version for which to update the action group.</p>
pub fn set_agent_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_agent_version(input);
self
}
/// <p>The unique identifier of the agent version for which to update the action group.</p>
pub fn get_agent_version(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_agent_version()
}
/// <p>The unique identifier of the action group.</p>
pub fn action_group_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.action_group_id(input.into());
self
}
/// <p>The unique identifier of the action group.</p>
pub fn set_action_group_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_action_group_id(input);
self
}
/// <p>The unique identifier of the action group.</p>
pub fn get_action_group_id(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_action_group_id()
}
/// <p>Specifies a new name for the action group.</p>
pub fn action_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.action_group_name(input.into());
self
}
/// <p>Specifies a new name for the action group.</p>
pub fn set_action_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_action_group_name(input);
self
}
/// <p>Specifies a new name for the action group.</p>
pub fn get_action_group_name(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_action_group_name()
}
/// <p>Specifies a new name for the action group.</p>
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.description(input.into());
self
}
/// <p>Specifies a new name for the action group.</p>
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_description(input);
self
}
/// <p>Specifies a new name for the action group.</p>
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_description()
}
/// <p>Update the built-in or computer use action for this action group. If you specify a value, you must leave the <code>description</code>, <code>apiSchema</code>, and <code>actionGroupExecutor</code> fields empty for this action group.</p>
/// <ul>
/// <li>
/// <p>To allow your agent to request the user for additional information when trying to complete a task, set this field to <code>AMAZON.UserInput</code>.</p></li>
/// <li>
/// <p>To allow your agent to generate, run, and troubleshoot code when trying to complete a task, set this field to <code>AMAZON.CodeInterpreter</code>.</p></li>
/// <li>
/// <p>To allow your agent to use an Anthropic computer use tool, specify one of the following values.</p><important>
/// <p>Computer use is a new Anthropic Claude model capability (in beta) available with Anthropic Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. When operating computer use functionality, we recommend taking additional security precautions, such as executing computer actions in virtual environments with restricted data access and limited internet connectivity. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-computer-use.html">Configure an Amazon Bedrock Agent to complete tasks with computer use tools</a>.</p>
/// </important>
/// <ul>
/// <li>
/// <p><code>ANTHROPIC.Computer</code> - Gives the agent permission to use the mouse and keyboard and take screenshots.</p></li>
/// <li>
/// <p><code>ANTHROPIC.TextEditor</code> - Gives the agent permission to view, create and edit files.</p></li>
/// <li>
/// <p><code>ANTHROPIC.Bash</code> - Gives the agent permission to run commands in a bash shell.</p></li>
/// </ul></li>
/// </ul>
/// <p>During orchestration, if your agent determines that it needs to invoke an API in an action group, but doesn't have enough information to complete the API request, it will invoke this action group instead and return an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Observation.html">Observation</a> reprompting the user for more information.</p>
pub fn parent_action_group_signature(mut self, input: crate::types::ActionGroupSignature) -> Self {
self.inner = self.inner.parent_action_group_signature(input);
self
}
/// <p>Update the built-in or computer use action for this action group. If you specify a value, you must leave the <code>description</code>, <code>apiSchema</code>, and <code>actionGroupExecutor</code> fields empty for this action group.</p>
/// <ul>
/// <li>
/// <p>To allow your agent to request the user for additional information when trying to complete a task, set this field to <code>AMAZON.UserInput</code>.</p></li>
/// <li>
/// <p>To allow your agent to generate, run, and troubleshoot code when trying to complete a task, set this field to <code>AMAZON.CodeInterpreter</code>.</p></li>
/// <li>
/// <p>To allow your agent to use an Anthropic computer use tool, specify one of the following values.</p><important>
/// <p>Computer use is a new Anthropic Claude model capability (in beta) available with Anthropic Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. When operating computer use functionality, we recommend taking additional security precautions, such as executing computer actions in virtual environments with restricted data access and limited internet connectivity. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-computer-use.html">Configure an Amazon Bedrock Agent to complete tasks with computer use tools</a>.</p>
/// </important>
/// <ul>
/// <li>
/// <p><code>ANTHROPIC.Computer</code> - Gives the agent permission to use the mouse and keyboard and take screenshots.</p></li>
/// <li>
/// <p><code>ANTHROPIC.TextEditor</code> - Gives the agent permission to view, create and edit files.</p></li>
/// <li>
/// <p><code>ANTHROPIC.Bash</code> - Gives the agent permission to run commands in a bash shell.</p></li>
/// </ul></li>
/// </ul>
/// <p>During orchestration, if your agent determines that it needs to invoke an API in an action group, but doesn't have enough information to complete the API request, it will invoke this action group instead and return an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Observation.html">Observation</a> reprompting the user for more information.</p>
pub fn set_parent_action_group_signature(mut self, input: ::std::option::Option<crate::types::ActionGroupSignature>) -> Self {
self.inner = self.inner.set_parent_action_group_signature(input);
self
}
/// <p>Update the built-in or computer use action for this action group. If you specify a value, you must leave the <code>description</code>, <code>apiSchema</code>, and <code>actionGroupExecutor</code> fields empty for this action group.</p>
/// <ul>
/// <li>
/// <p>To allow your agent to request the user for additional information when trying to complete a task, set this field to <code>AMAZON.UserInput</code>.</p></li>
/// <li>
/// <p>To allow your agent to generate, run, and troubleshoot code when trying to complete a task, set this field to <code>AMAZON.CodeInterpreter</code>.</p></li>
/// <li>
/// <p>To allow your agent to use an Anthropic computer use tool, specify one of the following values.</p><important>
/// <p>Computer use is a new Anthropic Claude model capability (in beta) available with Anthropic Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. When operating computer use functionality, we recommend taking additional security precautions, such as executing computer actions in virtual environments with restricted data access and limited internet connectivity. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-computer-use.html">Configure an Amazon Bedrock Agent to complete tasks with computer use tools</a>.</p>
/// </important>
/// <ul>
/// <li>
/// <p><code>ANTHROPIC.Computer</code> - Gives the agent permission to use the mouse and keyboard and take screenshots.</p></li>
/// <li>
/// <p><code>ANTHROPIC.TextEditor</code> - Gives the agent permission to view, create and edit files.</p></li>
/// <li>
/// <p><code>ANTHROPIC.Bash</code> - Gives the agent permission to run commands in a bash shell.</p></li>
/// </ul></li>
/// </ul>
/// <p>During orchestration, if your agent determines that it needs to invoke an API in an action group, but doesn't have enough information to complete the API request, it will invoke this action group instead and return an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Observation.html">Observation</a> reprompting the user for more information.</p>
pub fn get_parent_action_group_signature(&self) -> &::std::option::Option<crate::types::ActionGroupSignature> {
self.inner.get_parent_action_group_signature()
}
///
/// Adds a key-value pair to `parentActionGroupSignatureParams`.
///
/// To override the contents of this collection use [`set_parent_action_group_signature_params`](Self::set_parent_action_group_signature_params).
///
/// <p>The configuration settings for a computer use action.</p><important>
/// <p>Computer use is a new Anthropic Claude model capability (in beta) available with Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-computer-use.html">Configure an Amazon Bedrock Agent to complete tasks with computer use tools</a>.</p>
/// </important>
pub fn parent_action_group_signature_params(
mut self,
k: impl ::std::convert::Into<::std::string::String>,
v: impl ::std::convert::Into<::std::string::String>,
) -> Self {
self.inner = self.inner.parent_action_group_signature_params(k.into(), v.into());
self
}
/// <p>The configuration settings for a computer use action.</p><important>
/// <p>Computer use is a new Anthropic Claude model capability (in beta) available with Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-computer-use.html">Configure an Amazon Bedrock Agent to complete tasks with computer use tools</a>.</p>
/// </important>
pub fn set_parent_action_group_signature_params(
mut self,
input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
) -> Self {
self.inner = self.inner.set_parent_action_group_signature_params(input);
self
}
/// <p>The configuration settings for a computer use action.</p><important>
/// <p>Computer use is a new Anthropic Claude model capability (in beta) available with Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-computer-use.html">Configure an Amazon Bedrock Agent to complete tasks with computer use tools</a>.</p>
/// </important>
pub fn get_parent_action_group_signature_params(
&self,
) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.inner.get_parent_action_group_signature_params()
}
/// <p>The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.</p>
pub fn action_group_executor(mut self, input: crate::types::ActionGroupExecutor) -> Self {
self.inner = self.inner.action_group_executor(input);
self
}
/// <p>The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.</p>
pub fn set_action_group_executor(mut self, input: ::std::option::Option<crate::types::ActionGroupExecutor>) -> Self {
self.inner = self.inner.set_action_group_executor(input);
self
}
/// <p>The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.</p>
pub fn get_action_group_executor(&self) -> &::std::option::Option<crate::types::ActionGroupExecutor> {
self.inner.get_action_group_executor()
}
/// <p>Specifies whether the action group is available for the agent to invoke or not when sending an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html">InvokeAgent</a> request.</p>
pub fn action_group_state(mut self, input: crate::types::ActionGroupState) -> Self {
self.inner = self.inner.action_group_state(input);
self
}
/// <p>Specifies whether the action group is available for the agent to invoke or not when sending an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html">InvokeAgent</a> request.</p>
pub fn set_action_group_state(mut self, input: ::std::option::Option<crate::types::ActionGroupState>) -> Self {
self.inner = self.inner.set_action_group_state(input);
self
}
/// <p>Specifies whether the action group is available for the agent to invoke or not when sending an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html">InvokeAgent</a> request.</p>
pub fn get_action_group_state(&self) -> &::std::option::Option<crate::types::ActionGroupState> {
self.inner.get_action_group_state()
}
/// <p>Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html">Action group OpenAPI schemas</a>.</p>
pub fn api_schema(mut self, input: crate::types::ApiSchema) -> Self {
self.inner = self.inner.api_schema(input);
self
}
/// <p>Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html">Action group OpenAPI schemas</a>.</p>
pub fn set_api_schema(mut self, input: ::std::option::Option<crate::types::ApiSchema>) -> Self {
self.inner = self.inner.set_api_schema(input);
self
}
/// <p>Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html">Action group OpenAPI schemas</a>.</p>
pub fn get_api_schema(&self) -> &::std::option::Option<crate::types::ApiSchema> {
self.inner.get_api_schema()
}
/// <p>Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema.</p>
pub fn function_schema(mut self, input: crate::types::FunctionSchema) -> Self {
self.inner = self.inner.function_schema(input);
self
}
/// <p>Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema.</p>
pub fn set_function_schema(mut self, input: ::std::option::Option<crate::types::FunctionSchema>) -> Self {
self.inner = self.inner.set_function_schema(input);
self
}
/// <p>Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema.</p>
pub fn get_function_schema(&self) -> &::std::option::Option<crate::types::FunctionSchema> {
self.inner.get_function_schema()
}
}