aws_sdk_bedrockagent/client/create_agent.rs
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateAgent`](crate::operation::create_agent::builders::CreateAgentFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`agent_name(impl Into<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::agent_name) / [`set_agent_name(Option<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_agent_name):<br>required: **true**<br><p>A name for the agent that you create.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a>.</p><br>
/// - [`instruction(impl Into<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::instruction) / [`set_instruction(Option<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_instruction):<br>required: **false**<br><p>Instructions that tell the agent what it should do and how it should interact with users.</p><br>
/// - [`foundation_model(impl Into<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::foundation_model) / [`set_foundation_model(Option<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_foundation_model):<br>required: **false**<br><p>The identifier for the model that you want to be used for orchestration by the agent you create.</p> <p>The <code>modelId</code> to provide depends on the type of model or throughput that you use:</p> <ul> <li> <p>If you use a base model, specify the model ID or its ARN. For a list of model IDs for base models, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html#model-ids-arns">Amazon Bedrock base model IDs (on-demand throughput)</a> in the Amazon Bedrock User Guide.</p></li> <li> <p>If you use an inference profile, specify the inference profile ID or its ARN. For a list of inference profile IDs, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference-support.html">Supported Regions and models for cross-region inference</a> in the Amazon Bedrock User Guide.</p></li> <li> <p>If you use a provisioned model, specify the ARN of the Provisioned Throughput. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/prov-thru-use.html">Run inference using a Provisioned Throughput</a> in the Amazon Bedrock User Guide.</p></li> <li> <p>If you use a custom model, first purchase Provisioned Throughput for it. Then specify the ARN of the resulting provisioned model. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-use.html">Use a custom model in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p></li> <li> <p>If you use an <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-import-model.html">imported model</a>, specify the ARN of the imported model. You can get the model ARN from a successful call to <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelImportJob.html">CreateModelImportJob</a> or from the Imported models page in the Amazon Bedrock console.</p></li> </ul><br>
/// - [`description(impl Into<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_description):<br>required: **false**<br><p>A description of the agent.</p><br>
/// - [`orchestration_type(OrchestrationType)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::orchestration_type) / [`set_orchestration_type(Option<OrchestrationType>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_orchestration_type):<br>required: **false**<br><p>Specifies the type of orchestration strategy for the agent. This is set to <code>DEFAULT</code> orchestration type, by default.</p><br>
/// - [`custom_orchestration(CustomOrchestration)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::custom_orchestration) / [`set_custom_orchestration(Option<CustomOrchestration>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_custom_orchestration):<br>required: **false**<br><p>Contains details of the custom orchestration configured for the agent.</p><br>
/// - [`idle_session_ttl_in_seconds(i32)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::idle_session_ttl_in_seconds) / [`set_idle_session_ttl_in_seconds(Option<i32>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_idle_session_ttl_in_seconds):<br>required: **false**<br><p>The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent.</p> <p>A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.</p><br>
/// - [`agent_resource_role_arn(impl Into<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::agent_resource_role_arn) / [`set_agent_resource_role_arn(Option<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_agent_resource_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.</p><br>
/// - [`customer_encryption_key_arn(impl Into<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::customer_encryption_key_arn) / [`set_customer_encryption_key_arn(Option<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_customer_encryption_key_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the KMS key with which to encrypt the agent.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_tags):<br>required: **false**<br><p>Any tags that you want to attach to the agent.</p><br>
/// - [`prompt_override_configuration(PromptOverrideConfiguration)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::prompt_override_configuration) / [`set_prompt_override_configuration(Option<PromptOverrideConfiguration>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_prompt_override_configuration):<br>required: **false**<br><p>Contains configurations to override prompts in different parts of an agent sequence. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html">Advanced prompts</a>.</p><br>
/// - [`guardrail_configuration(GuardrailConfiguration)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::guardrail_configuration) / [`set_guardrail_configuration(Option<GuardrailConfiguration>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_guardrail_configuration):<br>required: **false**<br><p>The unique Guardrail configuration assigned to the agent when it is created.</p><br>
/// - [`memory_configuration(MemoryConfiguration)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::memory_configuration) / [`set_memory_configuration(Option<MemoryConfiguration>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_memory_configuration):<br>required: **false**<br><p>Contains the details of the memory configured for the agent.</p><br>
/// - [`agent_collaboration(AgentCollaboration)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::agent_collaboration) / [`set_agent_collaboration(Option<AgentCollaboration>)`](crate::operation::create_agent::builders::CreateAgentFluentBuilder::set_agent_collaboration):<br>required: **false**<br><p>The agent's collaboration role.</p><br>
/// - On success, responds with [`CreateAgentOutput`](crate::operation::create_agent::CreateAgentOutput) with field(s):
/// - [`agent(Option<Agent>)`](crate::operation::create_agent::CreateAgentOutput::agent): <p>Contains details about the agent created.</p>
/// - On failure, responds with [`SdkError<CreateAgentError>`](crate::operation::create_agent::CreateAgentError)
pub fn create_agent(&self) -> crate::operation::create_agent::builders::CreateAgentFluentBuilder {
crate::operation::create_agent::builders::CreateAgentFluentBuilder::new(self.handle.clone())
}
}