aws-sdk-bedrockagentcorecontrol 1.47.0

AWS SDK for Amazon Bedrock AgentCore Control
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateHarness`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`harness_name(impl Into<String>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::harness_name) / [`set_harness_name(Option<String>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_harness_name):<br>required: **true**<br><p>The name of the harness. Must start with a letter and contain only alphanumeric characters and underscores.</p><br>
    ///   - [`client_token(impl Into<String>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier to ensure idempotency of the request.</p><br>
    ///   - [`execution_role_arn(impl Into<String>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::execution_role_arn) / [`set_execution_role_arn(Option<String>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_execution_role_arn):<br>required: **true**<br><p>The ARN of the IAM role that the harness assumes when running. This role must have permissions for the services the agent needs to access, such as Amazon Bedrock for model invocation.</p><br>
    ///   - [`environment(HarnessEnvironmentProviderRequest)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::environment) / [`set_environment(Option<HarnessEnvironmentProviderRequest>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_environment):<br>required: **false**<br><p>The compute environment configuration for the harness, including network and lifecycle settings.</p><br>
    ///   - [`environment_artifact(HarnessEnvironmentArtifact)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::environment_artifact) / [`set_environment_artifact(Option<HarnessEnvironmentArtifact>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_environment_artifact):<br>required: **false**<br><p>The environment artifact for the harness, such as a custom container image containing additional dependencies.</p><br>
    ///   - [`environment_variables(impl Into<String>, impl Into<String>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::environment_variables) / [`set_environment_variables(Option<HashMap::<String, String>>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_environment_variables):<br>required: **false**<br><p>Environment variables to set in the harness runtime environment.</p><br>
    ///   - [`authorizer_configuration(AuthorizerConfiguration)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::authorizer_configuration) / [`set_authorizer_configuration(Option<AuthorizerConfiguration>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_authorizer_configuration):<br>required: **false**<br><p>Represents inbound authorization configuration options used to authenticate incoming requests.</p><br>
    ///   - [`model(HarnessModelConfiguration)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::model) / [`set_model(Option<HarnessModelConfiguration>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_model):<br>required: **false**<br><p>The model configuration for the harness. Supports Amazon Bedrock, OpenAI, and Google Gemini model providers.</p><br>
    ///   - [`system_prompt(HarnessSystemContentBlock)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::system_prompt) / [`set_system_prompt(Option<Vec::<HarnessSystemContentBlock>>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_system_prompt):<br>required: **false**<br><p>The system prompt that defines the agent's behavior and instructions.</p><br>
    ///   - [`tools(HarnessTool)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::tools) / [`set_tools(Option<Vec::<HarnessTool>>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_tools):<br>required: **false**<br><p>The tools available to the agent, such as remote MCP servers, AgentCore Gateway, AgentCore Browser, Code Interpreter, or inline functions.</p><br>
    ///   - [`skills(HarnessSkill)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::skills) / [`set_skills(Option<Vec::<HarnessSkill>>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_skills):<br>required: **false**<br><p>The skills available to the agent. Skills are bundles of files that the agent can pull into its context on demand.</p><br>
    ///   - [`allowed_tools(impl Into<String>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::allowed_tools) / [`set_allowed_tools(Option<Vec::<String>>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_allowed_tools):<br>required: **false**<br><p>The tools that the agent is allowed to use. Supports glob patterns such as * for all tools, @builtin for all built-in tools, or @serverName/toolName for specific MCP server tools.</p><br>
    ///   - [`memory(HarnessMemoryConfiguration)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::memory) / [`set_memory(Option<HarnessMemoryConfiguration>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_memory):<br>required: **false**<br><p>The AgentCore Memory configuration for persisting conversation context across sessions.</p><br>
    ///   - [`truncation(HarnessTruncationConfiguration)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::truncation) / [`set_truncation(Option<HarnessTruncationConfiguration>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_truncation):<br>required: **false**<br><p>The truncation configuration for managing conversation context when it exceeds model limits.</p><br>
    ///   - [`max_iterations(i32)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::max_iterations) / [`set_max_iterations(Option<i32>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_max_iterations):<br>required: **false**<br><p>The maximum number of iterations the agent loop can execute per invocation.</p><br>
    ///   - [`max_tokens(i32)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::max_tokens) / [`set_max_tokens(Option<i32>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_max_tokens):<br>required: **false**<br><p>The maximum number of tokens the agent can generate per iteration.</p><br>
    ///   - [`timeout_seconds(i32)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::timeout_seconds) / [`set_timeout_seconds(Option<i32>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_timeout_seconds):<br>required: **false**<br><p>The maximum duration in seconds for the agent loop execution per invocation.</p><br>
    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_harness::builders::CreateHarnessFluentBuilder::set_tags):<br>required: **false**<br><p>Tags to apply to the harness resource.</p><br>
    /// - On success, responds with [`CreateHarnessOutput`](crate::operation::create_harness::CreateHarnessOutput) with field(s):
    ///   - [`harness(Option<Harness>)`](crate::operation::create_harness::CreateHarnessOutput::harness): <p>The harness that was created.</p>
    /// - On failure, responds with [`SdkError<CreateHarnessError>`](crate::operation::create_harness::CreateHarnessError)
    pub fn create_harness(&self) -> crate::operation::create_harness::builders::CreateHarnessFluentBuilder {
        crate::operation::create_harness::builders::CreateHarnessFluentBuilder::new(self.handle.clone())
    }
}