Class CreateHarnessRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CreateHarnessRequest.Builder,CreateHarnessRequest>

@Generated("software.amazon.awssdk:codegen") public final class CreateHarnessRequest extends BedrockAgentCoreControlRequest implements ToCopyableBuilder<CreateHarnessRequest.Builder,CreateHarnessRequest>
  • Method Details

    • harnessName

      public final String harnessName()

      The name of the harness. Must start with a letter and contain only alphanumeric characters and underscores.

      Returns:
      The name of the harness. Must start with a letter and contain only alphanumeric characters and underscores.
    • clientToken

      public final String clientToken()

      A unique, case-sensitive identifier to ensure idempotency of the request.

      Returns:
      A unique, case-sensitive identifier to ensure idempotency of the request.
    • executionRoleArn

      public final String executionRoleArn()

      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.

      Returns:
      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.
    • environment

      public final HarnessEnvironmentProviderRequest environment()

      The compute environment configuration for the harness, including network and lifecycle settings.

      Returns:
      The compute environment configuration for the harness, including network and lifecycle settings.
    • environmentArtifact

      public final HarnessEnvironmentArtifact environmentArtifact()

      The environment artifact for the harness, such as a custom container image containing additional dependencies.

      Returns:
      The environment artifact for the harness, such as a custom container image containing additional dependencies.
    • hasEnvironmentVariables

      public final boolean hasEnvironmentVariables()
      For responses, this returns true if the service returned a value for the EnvironmentVariables property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • environmentVariables

      public final Map<String,String> environmentVariables()

      Environment variables to set in the harness runtime environment.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasEnvironmentVariables() method.

      Returns:
      Environment variables to set in the harness runtime environment.
    • authorizerConfiguration

      public final AuthorizerConfiguration authorizerConfiguration()
      Returns the value of the AuthorizerConfiguration property for this object.
      Returns:
      The value of the AuthorizerConfiguration property for this object.
    • model

      public final HarnessModelConfiguration model()

      The model configuration for the harness. Supports Amazon Bedrock, OpenAI, and Google Gemini model providers.

      Returns:
      The model configuration for the harness. Supports Amazon Bedrock, OpenAI, and Google Gemini model providers.
    • hasSystemPrompt

      public final boolean hasSystemPrompt()
      For responses, this returns true if the service returned a value for the SystemPrompt property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • systemPrompt

      public final List<HarnessSystemContentBlock> systemPrompt()

      The system prompt that defines the agent's behavior and instructions.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSystemPrompt() method.

      Returns:
      The system prompt that defines the agent's behavior and instructions.
    • hasTools

      public final boolean hasTools()
      For responses, this returns true if the service returned a value for the Tools property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tools

      public final List<HarnessTool> tools()

      The tools available to the agent, such as remote MCP servers, AgentCore Gateway, AgentCore Browser, Code Interpreter, or inline functions.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTools() method.

      Returns:
      The tools available to the agent, such as remote MCP servers, AgentCore Gateway, AgentCore Browser, Code Interpreter, or inline functions.
    • hasSkills

      public final boolean hasSkills()
      For responses, this returns true if the service returned a value for the Skills property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • skills

      public final List<HarnessSkill> skills()

      The skills available to the agent. Skills are bundles of files that the agent can pull into its context on demand.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSkills() method.

      Returns:
      The skills available to the agent. Skills are bundles of files that the agent can pull into its context on demand.
    • hasAllowedTools

      public final boolean hasAllowedTools()
      For responses, this returns true if the service returned a value for the AllowedTools property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • allowedTools

      public final List<String> allowedTools()

      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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAllowedTools() method.

      Returns:
      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.
    • memory

      public final HarnessMemoryConfiguration memory()

      The AgentCore Memory configuration for persisting conversation context across sessions.

      Returns:
      The AgentCore Memory configuration for persisting conversation context across sessions.
    • truncation

      public final HarnessTruncationConfiguration truncation()

      The truncation configuration for managing conversation context when it exceeds model limits.

      Returns:
      The truncation configuration for managing conversation context when it exceeds model limits.
    • maxIterations

      public final Integer maxIterations()

      The maximum number of iterations the agent loop can execute per invocation.

      Returns:
      The maximum number of iterations the agent loop can execute per invocation.
    • maxTokens

      public final Integer maxTokens()

      The maximum total number of output tokens the agent can generate across all model calls within a single invocation.

      Returns:
      The maximum total number of output tokens the agent can generate across all model calls within a single invocation.
    • timeoutSeconds

      public final Integer timeoutSeconds()

      The maximum duration in seconds for the agent loop execution per invocation.

      Returns:
      The maximum duration in seconds for the agent loop execution per invocation.
    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tags

      public final Map<String,String> tags()

      Tags to apply to the harness resource.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTags() method.

      Returns:
      Tags to apply to the harness resource.
    • toBuilder

      public CreateHarnessRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreateHarnessRequest.Builder,CreateHarnessRequest>
      Specified by:
      toBuilder in class BedrockAgentCoreControlRequest
      Returns:
      a builder for type T
    • builder

      public static CreateHarnessRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CreateHarnessRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.