// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`InvokeHarness`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`harness_arn(impl Into<String>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::harness_arn) / [`set_harness_arn(Option<String>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_harness_arn):<br>required: **true**<br><p>The ARN of the harness to invoke.</p><br>
/// - [`runtime_session_id(impl Into<String>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::runtime_session_id) / [`set_runtime_session_id(Option<String>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_runtime_session_id):<br>required: **true**<br><p>The session ID for the invocation. Use the same session ID across requests to continue a conversation.</p><br>
/// - [`runtime_user_id(impl Into<String>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::runtime_user_id) / [`set_runtime_user_id(Option<String>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_runtime_user_id):<br>required: **false**<br><p>An identifier for the end user making the request. This value is passed through to the runtime container.</p><br>
/// - [`messages(HarnessMessage)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::messages) / [`set_messages(Option<Vec::<HarnessMessage>>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_messages):<br>required: **true**<br><p>The messages to send to the agent.</p><br>
/// - [`model(HarnessModelConfiguration)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::model) / [`set_model(Option<HarnessModelConfiguration>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_model):<br>required: **false**<br><p>The model configuration to use for this invocation. If specified, overrides the harness default.</p><br>
/// - [`system_prompt(HarnessSystemContentBlock)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::system_prompt) / [`set_system_prompt(Option<Vec::<HarnessSystemContentBlock>>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_system_prompt):<br>required: **false**<br><p>The system prompt to use for this invocation. If specified, overrides the harness default.</p><br>
/// - [`tools(HarnessTool)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::tools) / [`set_tools(Option<Vec::<HarnessTool>>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_tools):<br>required: **false**<br><p>The tools available to the agent for this invocation. If specified, overrides the harness default.</p><br>
/// - [`skills(HarnessSkill)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::skills) / [`set_skills(Option<Vec::<HarnessSkill>>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_skills):<br>required: **false**<br><p>The skills available to the agent for this invocation. If specified, overrides the harness default.</p><br>
/// - [`allowed_tools(impl Into<String>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::allowed_tools) / [`set_allowed_tools(Option<Vec::<String>>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_allowed_tools):<br>required: **false**<br><p>The tools that the agent is allowed to use for this invocation. If specified, overrides the harness default.</p><br>
/// - [`max_iterations(i32)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::max_iterations) / [`set_max_iterations(Option<i32>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_max_iterations):<br>required: **false**<br><p>The maximum number of iterations the agent loop can execute. If specified, overrides the harness default.</p><br>
/// - [`max_tokens(i32)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::max_tokens) / [`set_max_tokens(Option<i32>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_max_tokens):<br>required: **false**<br><p>The maximum number of tokens the agent can generate per iteration. If specified, overrides the harness default.</p><br>
/// - [`timeout_seconds(i32)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::timeout_seconds) / [`set_timeout_seconds(Option<i32>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_timeout_seconds):<br>required: **false**<br><p>The maximum duration in seconds for the agent loop execution. If specified, overrides the harness default.</p><br>
/// - [`actor_id(impl Into<String>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::actor_id) / [`set_actor_id(Option<String>)`](crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::set_actor_id):<br>required: **false**<br><p>The actor ID for memory operations. Overrides the actor ID configured on the harness.</p><br>
/// - On success, responds with [`InvokeHarnessOutput`](crate::operation::invoke_harness::InvokeHarnessOutput) with field(s):
/// - [`stream(EventReceiver<InvokeHarnessStreamOutput, InvokeHarnessStreamOutputError>)`](crate::operation::invoke_harness::InvokeHarnessOutput::stream): <p>The streaming output from the harness invocation.</p>
/// - On failure, responds with [`SdkError<InvokeHarnessError>`](crate::operation::invoke_harness::InvokeHarnessError)
pub fn invoke_harness(&self) -> crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder {
crate::operation::invoke_harness::builders::InvokeHarnessFluentBuilder::new(self.handle.clone())
}
}