BedrockAgentCoreControl / Client / create_agent_runtime
create_agent_runtime¶
- BedrockAgentCoreControl.Client.create_agent_runtime(**kwargs)¶
Creates an Amazon Bedrock AgentCore Runtime.
See also: AWS API Documentation
Request Syntax
response = client.create_agent_runtime( agentRuntimeName='string', agentRuntimeArtifact={ 'containerConfiguration': { 'containerUri': 'string' }, 'codeConfiguration': { 'code': { 's3': { 'bucket': 'string', 'prefix': 'string', 'versionId': 'string' } }, 'runtime': 'PYTHON_3_10'|'PYTHON_3_11'|'PYTHON_3_12'|'PYTHON_3_13'|'PYTHON_3_14'|'NODE_22', 'entryPoint': [ 'string', ] } }, roleArn='string', networkConfiguration={ 'networkMode': 'PUBLIC'|'VPC', 'networkModeConfig': { 'securityGroups': [ 'string', ], 'subnets': [ 'string', ], 'requireServiceS3Endpoint': True|False } }, clientToken='string', description='string', authorizerConfiguration={ 'customJWTAuthorizer': { 'discoveryUrl': 'string', 'allowedAudience': [ 'string', ], 'allowedClients': [ 'string', ], 'allowedScopes': [ 'string', ], 'advertisedScopeMapping': { 'string': 'string' }, 'customClaims': [ { 'inboundTokenClaimName': 'string', 'inboundTokenClaimValueType': 'STRING'|'STRING_ARRAY', 'authorizingClaimMatchValue': { 'claimMatchValue': { 'matchValueString': 'string', 'matchValueStringList': [ 'string', ] }, 'claimMatchOperator': 'EQUALS'|'CONTAINS'|'CONTAINS_ANY' } }, ], 'privateEndpoint': { 'selfManagedLatticeResource': { 'resourceConfigurationIdentifier': 'string' }, 'managedVpcResource': { 'vpcIdentifier': 'string', 'subnetIds': [ 'string', ], 'endpointIpAddressType': 'IPV4'|'IPV6', 'securityGroupIds': [ 'string', ], 'tags': { 'string': 'string' }, 'routingDomain': 'string' } }, 'privateEndpointOverrides': [ { 'domain': 'string', 'privateEndpoint': { 'selfManagedLatticeResource': { 'resourceConfigurationIdentifier': 'string' }, 'managedVpcResource': { 'vpcIdentifier': 'string', 'subnetIds': [ 'string', ], 'endpointIpAddressType': 'IPV4'|'IPV6', 'securityGroupIds': [ 'string', ], 'tags': { 'string': 'string' }, 'routingDomain': 'string' } } }, ], 'certificateConfigurations': [ { 's3': { 'uri': 'string', 'bucketOwnerAccountId': 'string' }, 'secretsManager': { 'secretArn': 'string' } }, ], 'allowedWorkloadConfiguration': { 'hostingEnvironments': [ { 'arn': 'string' }, ], 'workloadIdentities': [ 'string', ] } } }, requestHeaderConfiguration={ 'requestHeaderAllowlist': [ 'string', ] }, protocolConfiguration={ 'serverProtocol': 'MCP'|'HTTP'|'A2A'|'AGUI', 'port': 123, 'path': 'string' }, lifecycleConfiguration={ 'idleRuntimeSessionTimeout': 123, 'maxLifetime': 123 }, hooksConfiguration={ 'build': { 'warmup': { 'action': { 'httpPost': { 'path': 'string', 'port': 123 } } } } }, environmentVariables={ 'string': 'string' }, filesystemConfigurations=[ { 'sessionStorage': { 'mountPath': 'string' }, 's3FilesAccessPoint': { 'accessPointArn': 'string', 'mountPath': 'string' }, 'efsAccessPoint': { 'accessPointArn': 'string', 'mountPath': 'string' }, 'capacityProviderVolume': { 'volumeName': 'string', 'mountPath': 'string' } }, ], capacityProviderConfiguration={ 'capacityProviderArn': 'string' }, tags={ 'string': 'string' }, platformVersion='string', allowedPorts=[ { 'port': 123, 'portRange': { 'from': 123, 'to': 123 } }, ], resourceConfigurations=[ { 'minimumMemoryInMiB': 123 }, ] )
- Parameters:
agentRuntimeName (string) –
[REQUIRED]
The name of the AgentCore Runtime.
agentRuntimeArtifact (dict) –
[REQUIRED]
The artifact of the AgentCore Runtime.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
containerConfiguration,codeConfiguration.containerConfiguration (dict) –
The container configuration for the agent artifact.
containerUri (string) – [REQUIRED]
The ECR URI of the container.
codeConfiguration (dict) –
The code configuration for the agent runtime artifact, including the source code location and execution settings.
code (dict) – [REQUIRED]
The source code location and configuration details.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
s3.s3 (dict) –
The Amazon Amazon S3 object that contains the source code for the agent runtime.
bucket (string) – [REQUIRED]
The name of the Amazon S3 bucket. This bucket contains the stored data.
prefix (string) – [REQUIRED]
The prefix for objects in the Amazon S3 bucket. This prefix is added to the object keys to organize the data.
versionId (string) –
The version ID of the Amazon Amazon S3 object. If not specified, the latest version of the object is used.
runtime (string) – [REQUIRED]
The runtime environment for executing the agent code. Specify the programming language and version to use for the agent runtime. For valid values, see the list of supported runtimes.
entryPoint (list) – [REQUIRED]
The entry point for the code execution, specifying the function or method that should be invoked when the code runs.
(string) –
roleArn (string) –
[REQUIRED]
The IAM role ARN that provides permissions for the AgentCore Runtime.
networkConfiguration (dict) –
The network configuration for the AgentCore Runtime.
networkMode (string) – [REQUIRED]
The network mode for the AgentCore Runtime.
networkModeConfig (dict) –
The network mode configuration for the AgentCore Runtime.
securityGroups (list) – [REQUIRED]
The security groups associated with the VPC configuration.
(string) –
subnets (list) – [REQUIRED]
The subnets associated with the VPC configuration.
(string) –
requireServiceS3Endpoint (boolean) –
Note
This field applies only to Agent Runtimes. It is not applicable to Browsers or Code Interpreters.
Controls whether a service-managed Amazon S3 gateway endpoint is provisioned in the VPC network topology for the agent runtime. This gateway is used by Amazon Bedrock AgentCore Runtime to download code and container images during agent startup.
Starting May 5, 2026, Amazon Bedrock AgentCore Runtime is gradually rolling out a change to how network isolation is configured for VPC mode agents. Agent runtimes created on or after this rollout will no longer include the service-managed Amazon S3 gateway. Instead, all network access, including to Amazon S3, is governed exclusively by your VPC configuration. This field cannot be set on agent runtimes created after the rollout. Passing this field in an
UpdateAgentRuntimerequest for these agent runtimes returns aValidationException.Agent runtimes created before the rollout are not affected and continue to operate with the service-managed Amazon S3 gateway. To enforce full VPC network isolation on these existing agent runtimes, set this field to
falsevia theUpdateAgentRuntimeAPI. Before opting out, ensure your VPC provides the Amazon S3 access required for agent startup. If this field is not specified or is set totrue, the service-managed Amazon S3 gateway remains provisioned.This field is only supported in the
UpdateAgentRuntimeAPI for pre-rollout agent runtimes. Passing this field in aCreateAgentRuntimerequest returns aValidationException.
clientToken (string) –
A unique, case-sensitive identifier to ensure idempotency of the request.
This field is autopopulated if not provided.
description (string) – The description of the AgentCore Runtime.
authorizerConfiguration (dict) –
The authorizer configuration for the AgentCore Runtime.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
customJWTAuthorizer.customJWTAuthorizer (dict) –
The inbound JWT-based authorization, specifying how incoming requests should be authenticated.
discoveryUrl (string) – [REQUIRED]
This URL is used to fetch OpenID Connect configuration or authorization server metadata for validating incoming tokens.
allowedAudience (list) –
Represents individual audience values that are validated in the incoming JWT token validation process.
(string) –
allowedClients (list) –
Represents individual client IDs that are validated in the incoming JWT token validation process.
(string) –
allowedScopes (list) –
An array of scopes that are allowed to access the token.
(string) –
advertisedScopeMapping (dict) –
A map that associates each scope in
allowedScopeswith a corresponding advertised scope value. The advertised scope appears in OAuth protected resource metadata andWWW-Authenticateresponse headers. Use this parameter when the scope that clients request from your identity provider differs from the scope in the validated token. Each key is a scope fromallowedScopesthat the service uses for token validation. Each value is the corresponding scope that the service advertises to clients. Scopes without a mapping entry appear unchanged to clients.(string) –
(string) –
customClaims (list) –
An array of objects that define a custom claim validation name, value, and operation
(dict) –
Defines the name of a custom claim field and rules for finding matches to authenticate its value.
inboundTokenClaimName (string) – [REQUIRED]
The name of the custom claim field to check.
inboundTokenClaimValueType (string) – [REQUIRED]
The data type of the claim value to check for.
Use
STRINGif you want to find an exact match to a string you define.Use
STRING_ARRAYif you want to fnd a match to at least one value in an array you define.
authorizingClaimMatchValue (dict) – [REQUIRED]
Defines the value or values to match for and the relationship of the match.
claimMatchValue (dict) – [REQUIRED]
The value or values to match for.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
matchValueString,matchValueStringList.matchValueString (string) –
The string value to match for.
matchValueStringList (list) –
An array of strings to check for a match.
(string) –
claimMatchOperator (string) – [REQUIRED]
Defines the relationship between the claim field value and the value or values you’re matching for.
privateEndpoint (dict) –
The private endpoint configuration for a gateway target. Defines how the gateway connects to private resources in your VPC.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
selfManagedLatticeResource,managedVpcResource.selfManagedLatticeResource (dict) –
Configuration for connecting to a private resource using a self-managed VPC Lattice resource configuration.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
resourceConfigurationIdentifier.resourceConfigurationIdentifier (string) –
The ARN or ID of the VPC Lattice resource configuration.
managedVpcResource (dict) –
Configuration for connecting to a private resource using a managed VPC Lattice resource. The gateway creates and manages the VPC Lattice resources on your behalf.
vpcIdentifier (string) – [REQUIRED]
The ID of the VPC that contains your private resource.
subnetIds (list) – [REQUIRED]
The subnet IDs within the VPC where the VPC Lattice resource gateway is placed.
(string) –
endpointIpAddressType (string) – [REQUIRED]
The IP address type for the resource configuration endpoint.
securityGroupIds (list) –
The security group IDs to associate with the VPC Lattice resource gateway. If not specified, the default security group for the VPC is used.
(string) –
tags (dict) –
Tags to apply to the managed VPC Lattice resource gateway.
(string) –
(string) –
routingDomain (string) –
An intermediate domain to use as the resource configuration endpoint instead of the actual target domain. Use this when you want to route traffic through an intermediate component such as a VPC endpoint or internal load balancer. For more information, see xref:lattice-vpc-egress-routing-domain[Route traffic through an intermediate domain].
privateEndpointOverrides (list) –
The private endpoint overrides for the custom JWT authorizer configuration.
(dict) –
A mapping of a specific domain to a private endpoint for secure connectivity through a VPC Lattice resource configuration.
domain (string) – [REQUIRED]
The domain to override with a private endpoint.
privateEndpoint (dict) – [REQUIRED]
The private endpoint configuration for the specified domain.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
selfManagedLatticeResource,managedVpcResource.selfManagedLatticeResource (dict) –
Configuration for connecting to a private resource using a self-managed VPC Lattice resource configuration.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
resourceConfigurationIdentifier.resourceConfigurationIdentifier (string) –
The ARN or ID of the VPC Lattice resource configuration.
managedVpcResource (dict) –
Configuration for connecting to a private resource using a managed VPC Lattice resource. The gateway creates and manages the VPC Lattice resources on your behalf.
vpcIdentifier (string) – [REQUIRED]
The ID of the VPC that contains your private resource.
subnetIds (list) – [REQUIRED]
The subnet IDs within the VPC where the VPC Lattice resource gateway is placed.
(string) –
endpointIpAddressType (string) – [REQUIRED]
The IP address type for the resource configuration endpoint.
securityGroupIds (list) –
The security group IDs to associate with the VPC Lattice resource gateway. If not specified, the default security group for the VPC is used.
(string) –
tags (dict) –
Tags to apply to the managed VPC Lattice resource gateway.
(string) –
(string) –
routingDomain (string) –
An intermediate domain to use as the resource configuration endpoint instead of the actual target domain. Use this when you want to route traffic through an intermediate component such as a VPC endpoint or internal load balancer. For more information, see xref:lattice-vpc-egress-routing-domain[Route traffic through an intermediate domain].
certificateConfigurations (list) –
The private certificate authority (CA) configurations for the identity provider. Use this to have AgentCore Identity trust a private CA when establishing TLS connections to identity provider endpoints. You can specify only one certificate authority configuration in this list. Provide the certificate by reference to an Amazon S3 object or an Amazon Web Services Secrets Manager secret. You can use this only together with
privateEndpoint.(dict) –
A reference to a private certificate authority (CA) certificate that AgentCore uses to verify TLS connections to an endpoint, such as a gateway target or an identity provider, that presents a certificate issued by a private CA that is not trusted by default. Specify exactly one certificate source. The configuration is a reference only and never contains the certificate content.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
s3,secretsManager.s3 (dict) –
The Amazon S3 location of the PEM-encoded private CA certificate.
uri (string) – [REQUIRED]
The URI of the Amazon S3 object that contains the PEM-encoded certificate.
bucketOwnerAccountId (string) –
The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.
secretsManager (dict) –
The Amazon Web Services Secrets Manager location of the PEM-encoded private CA certificate.
secretArn (string) – [REQUIRED]
The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret that contains the PEM-encoded certificate.
allowedWorkloadConfiguration (dict) –
The configuration that restricts which workloads in the request’s identity chain are allowed to invoke the target, identified by their hosting environments and workload identities. At launch, this is supported only for AgentCore Runtime targets, and the allowed workloads are AgentCore Gateways.
hostingEnvironments (list) –
The list of hosting environments whose workloads are allowed to invoke the target. At launch, the only supported hosting environment is AgentCore Gateway.
(dict) –
A hosting environment whose workloads are allowed to invoke the target. At launch, the only supported hosting environment is AgentCore Gateway.
arn (string) – [REQUIRED]
The Amazon Resource Name (ARN) of the hosting environment.
workloadIdentities (list) –
The list of workload identities that are allowed to invoke the target.
(string) –
requestHeaderConfiguration (dict) –
Configuration for HTTP request headers that will be passed through to the runtime.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
requestHeaderAllowlist.requestHeaderAllowlist (list) –
A list of HTTP request headers that are allowed to be passed through to the runtime.
(string) –
protocolConfiguration (dict) –
The protocol configuration for the AgentCore Runtime, including the protocol, port, and path on which the agent server is available.
serverProtocol (string) – [REQUIRED]
The server protocol for the agent runtime. This field specifies which protocol the agent runtime uses to communicate with clients.
port (integer) –
The port on which the agent server listens. The port must be between
8000and12000, excluding the reserved port8443. When this field is omitted, the default is8080forHTTPandAGUI,8000forMCP, and9000forA2A.path (string) –
The path on which the agent server accepts requests. The path must begin with
/. When this field is omitted, the default is/invocationsforHTTPandAGUI,/mcpforMCP, and/forA2A.
lifecycleConfiguration (dict) –
The life cycle configuration for the AgentCore Runtime.
idleRuntimeSessionTimeout (integer) –
Timeout in seconds for idle runtime sessions. When a session remains idle for this duration, it will be automatically terminated. Default: 900 seconds (15 minutes).
maxLifetime (integer) –
Maximum lifetime for the instance in seconds. Once reached, instances will be automatically terminated and replaced. Default: 28800 seconds (8 hours).
hooksConfiguration (dict) –
The lifecycle hooks configuration for the AgentCore Runtime. Use lifecycle hooks to run actions in the agent’s container at fixed points in the runtime’s lifecycle, such as warming up the agent before sessions are created.
build (dict) –
The hooks that run when you create or update the AgentCore Runtime, before any sessions are created.
warmup (dict) –
The hook that warms up your agent before any sessions are created. Use this hook to load the resources that your sessions need, such as models, libraries, or caches. Your hook must complete within 120 seconds.
action (dict) – [REQUIRED]
The action that AgentCore Runtime runs for the hook. Specify exactly one action.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
httpPost.httpPost (dict) –
Sends an HTTP
POSTrequest to your agent’s container on the specified port and path to run the hook. The hook succeeds if your container returns a2xxresponse. The hook fails if your container returns any other response or doesn’t respond before the hook times out.path (string) – [REQUIRED]
The path in the agent’s container that AgentCore Runtime sends the
POSTrequest to.port (integer) –
The port in the agent’s container that AgentCore Runtime sends the
POSTrequest to. If you don’t specify a port, the default is the runtime’s server port: the port in the protocol configuration if one is set, otherwise the protocol’s default port.
environmentVariables (dict) –
Environment variables to set in the AgentCore Runtime environment.
(string) –
(string) –
filesystemConfigurations (list) –
The filesystem configurations to mount into the AgentCore Runtime. Use filesystem configurations to provide persistent storage to your AgentCore Runtime sessions.
(dict) –
Configuration for a filesystem that can be mounted into the AgentCore Runtime.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
sessionStorage,s3FilesAccessPoint,efsAccessPoint,capacityProviderVolume.sessionStorage (dict) –
Configuration for session storage. Session storage provides persistent storage that is preserved across AgentCore Runtime session invocations.
mountPath (string) – [REQUIRED]
The mount path for the session storage filesystem inside the AgentCore Runtime. The path must be under
/mntwith exactly one subdirectory level (for example,/mnt/data).
s3FilesAccessPoint (dict) –
Configuration for an Amazon S3 Files access point to mount into the AgentCore Runtime.
accessPointArn (string) – [REQUIRED]
The ARN of the S3 Files access point to mount into the AgentCore Runtime.
mountPath (string) – [REQUIRED]
The mount path for the S3 Files access point inside the AgentCore Runtime. The path must be under
/mntwith exactly one subdirectory level (for example,/mnt/data).
efsAccessPoint (dict) –
Configuration for an Amazon EFS access point to mount into the AgentCore Runtime.
accessPointArn (string) – [REQUIRED]
The ARN of the EFS access point to mount into the AgentCore Runtime.
mountPath (string) – [REQUIRED]
The mount path for the EFS access point inside the AgentCore Runtime. The path must be under
/mntwith exactly one subdirectory level (for example,/mnt/data).
capacityProviderVolume (dict) –
Configuration for a capacity provider volume to mount into the AgentCore Runtime. This mounts a persistent volume that is defined on the capacity provider, referenced by its logical name.
volumeName (string) – [REQUIRED]
The logical name of the capacity provider volume to mount. This name must match a volume that is defined in the capacity provider’s list of volumes.
mountPath (string) – [REQUIRED]
The mount path for the capacity provider volume inside the AgentCore Runtime. The path must be under
/mntwith exactly one subdirectory level (for example,/mnt/data).
capacityProviderConfiguration (dict) –
The capacity provider configuration for the AgentCore Runtime. Use a capacity provider to run the AgentCore Runtime on the Instances compute type, which provisions Amazon Web Services managed compute in your account.
capacityProviderArn (string) – [REQUIRED]
The Amazon Resource Name (ARN) of the capacity provider to use for the AgentCore Runtime.
tags (dict) –
A map of tag keys and values to assign to the agent runtime. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.
(string) –
(string) –
platformVersion (string) – The version of the runtime platform to use for the AgentCore Runtime.
allowedPorts (list) –
The additional ports on the AgentCore Runtime that are reachable through the runtime’s session URL. Specify one to five non-overlapping entries, each containing either a single port or an inclusive port range. Ports must be between
8000and12000, excluding the reserved port8443.(dict) –
A port or port range that is reachable through the runtime’s session URL. Specify exactly one of
portorportRange.Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
port,portRange.port (integer) –
A single port that is reachable through the runtime’s session URL.
portRange (dict) –
An inclusive range of ports that are reachable through the runtime’s session URL.
from (integer) – [REQUIRED]
The first port in the inclusive range.
to (integer) – [REQUIRED]
The last port in the inclusive range.
resourceConfigurations (list) –
The resource configurations for the AgentCore Runtime, such as the minimum amount of memory to allocate to the runtime. You can specify at most one resource configuration.
(dict) –
The resource configuration for an AgentCore Runtime.
minimumMemoryInMiB (integer) – [REQUIRED]
The minimum amount of memory, in mebibytes, to allocate to the AgentCore Runtime.
- Return type:
dict
- Returns:
Response Syntax
{ 'agentRuntimeArn': 'string', 'workloadIdentityDetails': { 'workloadIdentityArn': 'string' }, 'agentRuntimeId': 'string', 'agentRuntimeVersion': 'string', 'createdAt': datetime(2015, 1, 1), 'status': 'CREATING'|'CREATE_FAILED'|'UPDATING'|'UPDATE_FAILED'|'READY'|'DELETING'|'DELETE_FAILED' }
Response Structure
(dict) –
agentRuntimeArn (string) –
The Amazon Resource Name (ARN) of the AgentCore Runtime.
workloadIdentityDetails (dict) –
The workload identity details for the AgentCore Runtime.
workloadIdentityArn (string) –
The ARN associated with the workload identity.
agentRuntimeId (string) –
The unique identifier of the AgentCore Runtime.
agentRuntimeVersion (string) –
The version of the AgentCore Runtime.
createdAt (datetime) –
The timestamp when the AgentCore Runtime was created.
status (string) –
The current status of the AgentCore Runtime.
Exceptions
BedrockAgentCoreControl.Client.exceptions.ServiceQuotaExceededExceptionBedrockAgentCoreControl.Client.exceptions.AccessDeniedExceptionBedrockAgentCoreControl.Client.exceptions.ValidationExceptionBedrockAgentCoreControl.Client.exceptions.ThrottlingExceptionBedrockAgentCoreControl.Client.exceptions.InternalServerException