import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * Resource Type definition for AWS::BedrockAgentCore::Harness - a managed agentic loop service that provides a turnkey solution for running stateful, tool-equipped AI agents. */ export declare class Harness extends pulumi.CustomResource { /** * Get an existing Harness resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Harness; /** * Returns true if the given object is an instance of Harness. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Harness; /** * The tools that the agent is allowed to use. */ readonly allowedTools: pulumi.Output; /** * The Amazon Resource Name (ARN) of the harness. */ readonly arn: pulumi.Output; /** * The inbound authorization configuration for authenticating incoming requests. */ readonly authorizerConfiguration: pulumi.Output; /** * The timestamp when the harness was created. */ readonly createdAt: pulumi.Output; /** * The compute environment configuration for the harness, including underlying runtime information. */ readonly environment: pulumi.Output; /** * The environment artifact for the harness, such as a custom container image. */ readonly environmentArtifact: pulumi.Output; /** * Environment variables to set in the harness runtime environment. */ readonly environmentVariables: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The ARN of the IAM role that the harness assumes when running. */ readonly executionRoleArn: pulumi.Output; /** * The unique identifier of the harness. */ readonly harnessId: pulumi.Output; /** * The name of the harness. */ readonly harnessName: pulumi.Output; /** * The maximum number of iterations the agent loop can execute per invocation. */ readonly maxIterations: pulumi.Output; /** * The maximum number of tokens the agent can generate per iteration. */ readonly maxTokens: pulumi.Output; /** * The AgentCore Memory configuration for persisting conversation context. */ readonly memory: pulumi.Output; /** * The model configuration for the harness. */ readonly model: pulumi.Output; /** * The skills available to the agent. */ readonly skills: pulumi.Output; /** * The current status of the harness. */ readonly status: pulumi.Output; /** * The system prompt that defines the agent's behavior. */ readonly systemPrompt: pulumi.Output; /** * Tags to apply to the harness resource. */ readonly tags: pulumi.Output; /** * The maximum duration in seconds for the agent loop execution per invocation. */ readonly timeoutSeconds: pulumi.Output; /** * The tools available to the agent. */ readonly tools: pulumi.Output; /** * The truncation configuration for managing conversation context. */ readonly truncation: pulumi.Output; /** * The timestamp when the harness was last updated. */ readonly updatedAt: pulumi.Output; /** * The version of the harness. Incremented on every successful update. */ readonly version: pulumi.Output; /** * Create a Harness resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: HarnessArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Harness resource. */ export interface HarnessArgs { /** * The tools that the agent is allowed to use. */ allowedTools?: pulumi.Input[]>; /** * The inbound authorization configuration for authenticating incoming requests. */ authorizerConfiguration?: pulumi.Input; /** * The compute environment configuration for the harness, including underlying runtime information. */ environment?: pulumi.Input; /** * The environment artifact for the harness, such as a custom container image. */ environmentArtifact?: pulumi.Input; /** * Environment variables to set in the harness runtime environment. */ environmentVariables?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The ARN of the IAM role that the harness assumes when running. */ executionRoleArn: pulumi.Input; /** * The name of the harness. */ harnessName?: pulumi.Input; /** * The maximum number of iterations the agent loop can execute per invocation. */ maxIterations?: pulumi.Input; /** * The maximum number of tokens the agent can generate per iteration. */ maxTokens?: pulumi.Input; /** * The AgentCore Memory configuration for persisting conversation context. */ memory?: pulumi.Input; /** * The model configuration for the harness. */ model: pulumi.Input; /** * The skills available to the agent. */ skills?: pulumi.Input[]>; /** * The system prompt that defines the agent's behavior. */ systemPrompt?: pulumi.Input[]>; /** * Tags to apply to the harness resource. */ tags?: pulumi.Input[]>; /** * The maximum duration in seconds for the agent loop execution per invocation. */ timeoutSeconds?: pulumi.Input; /** * The tools available to the agent. */ tools?: pulumi.Input[]>; /** * The truncation configuration for managing conversation context. */ truncation?: pulumi.Input; }