Create Harness
| bedrockagentcorecontrol_create_harness | R Documentation |
Operation to create a Harness¶
Description¶
Operation to create a Harness.
Usage¶
bedrockagentcorecontrol_create_harness(harnessName, clientToken,
executionRoleArn, environment, environmentArtifact,
environmentVariables, authorizerConfiguration, model, systemPrompt,
tools, skills, allowedTools, memory, truncation, maxIterations,
maxTokens, timeoutSeconds, tags)
Arguments¶
harnessName |
[required] The name of the harness. Must start with a letter and contain only alphanumeric characters and underscores. |
clientToken |
A unique, case-sensitive identifier to ensure idempotency of the request. |
executionRoleArn |
[required] 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 |
The compute environment configuration for the harness, including network and lifecycle settings. |
environmentArtifact |
The environment artifact for the harness, such as a custom container image containing additional dependencies. |
environmentVariables |
Environment variables to set in the harness runtime environment. |
authorizerConfiguration |
Represents inbound authorization configuration options used to authenticate incoming requests. |
model |
The model configuration for the harness. Supports Amazon Bedrock, OpenAI, and Google Gemini model providers. |
systemPrompt |
The system prompt that defines the agent's behavior and instructions. |
tools |
The tools available to the agent, such as remote MCP servers, AgentCore Gateway, AgentCore Browser, Code Interpreter, or inline functions. |
skills |
The skills available to the agent. Skills are bundles of files that the agent can pull into its context on demand. |
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. |
memory |
The AgentCore Memory configuration for persisting conversation context across sessions. |
truncation |
The truncation configuration for managing conversation context when it exceeds model limits. |
maxIterations |
The maximum number of iterations the agent loop can execute per invocation. |
maxTokens |
The maximum total number of output tokens the agent can generate across all model calls within a single invocation. |
timeoutSeconds |
The maximum duration in seconds for the agent loop execution per invocation. |
tags |
Tags to apply to the harness resource. |
Value¶
A list with the following syntax:
list(
harness = list(
harnessId = "string",
harnessName = "string",
arn = "string",
status = "CREATING"|"CREATE_FAILED"|"UPDATING"|"UPDATE_FAILED"|"READY"|"DELETING"|"DELETE_FAILED",
executionRoleArn = "string",
createdAt = as.POSIXct(
"2015-01-01"
),
updatedAt = as.POSIXct(
"2015-01-01"
),
model = list(
bedrockModelConfig = list(
modelId = "string",
maxTokens = 123,
temperature = 123.0,
topP = 123.0
),
openAiModelConfig = list(
modelId = "string",
apiKeyArn = "string",
maxTokens = 123,
temperature = 123.0,
topP = 123.0
),
geminiModelConfig = list(
modelId = "string",
apiKeyArn = "string",
maxTokens = 123,
temperature = 123.0,
topP = 123.0,
topK = 123
)
),
systemPrompt = list(
list(
text = "string"
)
),
tools = list(
list(
type = "remote_mcp"|"agentcore_browser"|"agentcore_gateway"|"inline_function"|"agentcore_code_interpreter",
name = "string",
config = list(
remoteMcp = list(
url = "string",
headers = list(
"string"
)
),
agentCoreBrowser = list(
browserArn = "string"
),
agentCoreGateway = list(
gatewayArn = "string",
outboundAuth = list(
awsIam = list(),
none = list(),
oauth = list(
providerArn = "string",
scopes = list(
"string"
),
customParameters = list(
"string"
),
grantType = "CLIENT_CREDENTIALS"|"AUTHORIZATION_CODE"|"TOKEN_EXCHANGE",
defaultReturnUrl = "string"
)
)
),
inlineFunction = list(
description = "string",
inputSchema = list()
),
agentCoreCodeInterpreter = list(
codeInterpreterArn = "string"
)
)
)
),
skills = list(
list(
path = "string"
)
),
allowedTools = list(
"string"
),
truncation = list(
strategy = "sliding_window"|"summarization"|"none",
config = list(
slidingWindow = list(
messagesCount = 123
),
summarization = list(
summaryRatio = 123.0,
preserveRecentMessages = 123,
summarizationSystemPrompt = "string"
)
)
),
environment = list(
agentCoreRuntimeEnvironment = list(
agentRuntimeArn = "string",
agentRuntimeName = "string",
agentRuntimeId = "string",
lifecycleConfiguration = list(
idleRuntimeSessionTimeout = 123,
maxLifetime = 123
),
networkConfiguration = list(
networkMode = "PUBLIC"|"VPC",
networkModeConfig = list(
securityGroups = list(
"string"
),
subnets = list(
"string"
),
requireServiceS3Endpoint = TRUE|FALSE
)
),
filesystemConfigurations = list(
list(
sessionStorage = list(
mountPath = "string"
),
s3FilesAccessPoint = list(
accessPointArn = "string",
mountPath = "string"
),
efsAccessPoint = list(
accessPointArn = "string",
mountPath = "string"
)
)
)
)
),
environmentArtifact = list(
containerConfiguration = list(
containerUri = "string"
)
),
environmentVariables = list(
"string"
),
authorizerConfiguration = list(
customJWTAuthorizer = list(
discoveryUrl = "string",
allowedAudience = list(
"string"
),
allowedClients = list(
"string"
),
allowedScopes = list(
"string"
),
customClaims = list(
list(
inboundTokenClaimName = "string",
inboundTokenClaimValueType = "STRING"|"STRING_ARRAY",
authorizingClaimMatchValue = list(
claimMatchValue = list(
matchValueString = "string",
matchValueStringList = list(
"string"
)
),
claimMatchOperator = "EQUALS"|"CONTAINS"|"CONTAINS_ANY"
)
)
),
privateEndpoint = list(
selfManagedLatticeResource = list(
resourceConfigurationIdentifier = "string"
),
managedVpcResource = list(
vpcIdentifier = "string",
subnetIds = list(
"string"
),
endpointIpAddressType = "IPV4"|"IPV6",
securityGroupIds = list(
"string"
),
tags = list(
"string"
),
routingDomain = "string"
)
),
privateEndpointOverrides = list(
list(
domain = "string",
privateEndpoint = list(
selfManagedLatticeResource = list(
resourceConfigurationIdentifier = "string"
),
managedVpcResource = list(
vpcIdentifier = "string",
subnetIds = list(
"string"
),
endpointIpAddressType = "IPV4"|"IPV6",
securityGroupIds = list(
"string"
),
tags = list(
"string"
),
routingDomain = "string"
)
)
)
)
)
),
memory = list(
agentCoreMemoryConfiguration = list(
arn = "string",
actorId = "string",
messagesCount = 123,
retrievalConfig = list(
list(
topK = 123,
relevanceScore = 123.0,
strategyId = "string"
)
)
)
),
maxIterations = 123,
maxTokens = 123,
timeoutSeconds = 123,
failureReason = "string"
)
)
Request syntax¶
svc$create_harness(
harnessName = "string",
clientToken = "string",
executionRoleArn = "string",
environment = list(
agentCoreRuntimeEnvironment = list(
lifecycleConfiguration = list(
idleRuntimeSessionTimeout = 123,
maxLifetime = 123
),
networkConfiguration = list(
networkMode = "PUBLIC"|"VPC",
networkModeConfig = list(
securityGroups = list(
"string"
),
subnets = list(
"string"
),
requireServiceS3Endpoint = TRUE|FALSE
)
),
filesystemConfigurations = list(
list(
sessionStorage = list(
mountPath = "string"
),
s3FilesAccessPoint = list(
accessPointArn = "string",
mountPath = "string"
),
efsAccessPoint = list(
accessPointArn = "string",
mountPath = "string"
)
)
)
)
),
environmentArtifact = list(
containerConfiguration = list(
containerUri = "string"
)
),
environmentVariables = list(
"string"
),
authorizerConfiguration = list(
customJWTAuthorizer = list(
discoveryUrl = "string",
allowedAudience = list(
"string"
),
allowedClients = list(
"string"
),
allowedScopes = list(
"string"
),
customClaims = list(
list(
inboundTokenClaimName = "string",
inboundTokenClaimValueType = "STRING"|"STRING_ARRAY",
authorizingClaimMatchValue = list(
claimMatchValue = list(
matchValueString = "string",
matchValueStringList = list(
"string"
)
),
claimMatchOperator = "EQUALS"|"CONTAINS"|"CONTAINS_ANY"
)
)
),
privateEndpoint = list(
selfManagedLatticeResource = list(
resourceConfigurationIdentifier = "string"
),
managedVpcResource = list(
vpcIdentifier = "string",
subnetIds = list(
"string"
),
endpointIpAddressType = "IPV4"|"IPV6",
securityGroupIds = list(
"string"
),
tags = list(
"string"
),
routingDomain = "string"
)
),
privateEndpointOverrides = list(
list(
domain = "string",
privateEndpoint = list(
selfManagedLatticeResource = list(
resourceConfigurationIdentifier = "string"
),
managedVpcResource = list(
vpcIdentifier = "string",
subnetIds = list(
"string"
),
endpointIpAddressType = "IPV4"|"IPV6",
securityGroupIds = list(
"string"
),
tags = list(
"string"
),
routingDomain = "string"
)
)
)
)
)
),
model = list(
bedrockModelConfig = list(
modelId = "string",
maxTokens = 123,
temperature = 123.0,
topP = 123.0
),
openAiModelConfig = list(
modelId = "string",
apiKeyArn = "string",
maxTokens = 123,
temperature = 123.0,
topP = 123.0
),
geminiModelConfig = list(
modelId = "string",
apiKeyArn = "string",
maxTokens = 123,
temperature = 123.0,
topP = 123.0,
topK = 123
)
),
systemPrompt = list(
list(
text = "string"
)
),
tools = list(
list(
type = "remote_mcp"|"agentcore_browser"|"agentcore_gateway"|"inline_function"|"agentcore_code_interpreter",
name = "string",
config = list(
remoteMcp = list(
url = "string",
headers = list(
"string"
)
),
agentCoreBrowser = list(
browserArn = "string"
),
agentCoreGateway = list(
gatewayArn = "string",
outboundAuth = list(
awsIam = list(),
none = list(),
oauth = list(
providerArn = "string",
scopes = list(
"string"
),
customParameters = list(
"string"
),
grantType = "CLIENT_CREDENTIALS"|"AUTHORIZATION_CODE"|"TOKEN_EXCHANGE",
defaultReturnUrl = "string"
)
)
),
inlineFunction = list(
description = "string",
inputSchema = list()
),
agentCoreCodeInterpreter = list(
codeInterpreterArn = "string"
)
)
)
),
skills = list(
list(
path = "string"
)
),
allowedTools = list(
"string"
),
memory = list(
agentCoreMemoryConfiguration = list(
arn = "string",
actorId = "string",
messagesCount = 123,
retrievalConfig = list(
list(
topK = 123,
relevanceScore = 123.0,
strategyId = "string"
)
)
)
),
truncation = list(
strategy = "sliding_window"|"summarization"|"none",
config = list(
slidingWindow = list(
messagesCount = 123
),
summarization = list(
summaryRatio = 123.0,
preserveRecentMessages = 123,
summarizationSystemPrompt = "string"
)
)
),
maxIterations = 123,
maxTokens = 123,
timeoutSeconds = 123,
tags = list(
"string"
)
)