Package com.pulumi.aws.bedrock
Class AgentcoreAgentRuntime
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.bedrock.AgentcoreAgentRuntime
-
public class AgentcoreAgentRuntime extends com.pulumi.resources.CustomResourceManages an AWS Bedrock AgentCore Agent Runtime. Agent Runtime provides a containerized execution environment for AI agents. ## Example Usage ### Basic Usage
### MCP Server With Custom JWT Authorizerpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.iam.Role; import com.pulumi.aws.iam.RoleArgs; import com.pulumi.aws.iam.RolePolicy; import com.pulumi.aws.iam.RolePolicyArgs; import com.pulumi.aws.bedrock.AgentcoreAgentRuntime; import com.pulumi.aws.bedrock.AgentcoreAgentRuntimeArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactContainerConfigurationArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeNetworkConfigurationArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("bedrock-agentcore.amazonaws.com") .build()) .effect("Allow") .actions("sts:AssumeRole") .build()) .build()); final var ecrPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ecr:GetAuthorizationToken") .effect("Allow") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .actions( "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer") .effect("Allow") .resources(exampleAwsEcrRepository.arn()) .build()) .build()); var example = new Role("example", RoleArgs.builder() .name("bedrock-agentcore-runtime-role") .assumeRolePolicy(assumeRole.json()) .build()); var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() .role(example.id()) .policy(ecrPermissions.json()) .build()); var exampleAgentcoreAgentRuntime = new AgentcoreAgentRuntime("exampleAgentcoreAgentRuntime", AgentcoreAgentRuntimeArgs.builder() .agentRuntimeArtifact(AgentcoreAgentRuntimeAgentRuntimeArtifactArgs.builder() .containerConfiguration(AgentcoreAgentRuntimeAgentRuntimeArtifactContainerConfigurationArgs.builder() .containerUri(String.format("%s:latest", exampleAwsEcrRepository.repositoryUrl())) .build()) .build()) .networkConfiguration(AgentcoreAgentRuntimeNetworkConfigurationArgs.builder() .networkMode("PUBLIC") .build()) .agentRuntimeName("example_agent_runtime") .roleArn(example.arn()) .build()); } }
### AG-UI Serverpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.bedrock.AgentcoreAgentRuntime; import com.pulumi.aws.bedrock.AgentcoreAgentRuntimeArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactContainerConfigurationArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAuthorizerConfigurationArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAuthorizerConfigurationCustomJwtAuthorizerArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeNetworkConfigurationArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeProtocolConfigurationArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new AgentcoreAgentRuntime("example", AgentcoreAgentRuntimeArgs.builder() .agentRuntimeArtifact(AgentcoreAgentRuntimeAgentRuntimeArtifactArgs.builder() .containerConfiguration(AgentcoreAgentRuntimeAgentRuntimeArtifactContainerConfigurationArgs.builder() .containerUri(String.format("%s:v1.0", exampleAwsEcrRepository.repositoryUrl())) .build()) .build()) .authorizerConfiguration(AgentcoreAgentRuntimeAuthorizerConfigurationArgs.builder() .customJwtAuthorizer(AgentcoreAgentRuntimeAuthorizerConfigurationCustomJwtAuthorizerArgs.builder() .discoveryUrl("https://accounts.google.com/.well-known/openid-configuration") .allowedAudiences( "my-app", "mobile-app") .allowedClients( "client-123", "client-456") .allowedScopes( "openid", "email") .build()) .build()) .networkConfiguration(AgentcoreAgentRuntimeNetworkConfigurationArgs.builder() .networkMode("PUBLIC") .build()) .protocolConfiguration(AgentcoreAgentRuntimeProtocolConfigurationArgs.builder() .serverProtocol("MCP") .build()) .agentRuntimeName("example_agent_runtime") .description("Agent runtime with JWT authorization") .roleArn(exampleAwsIamRole.arn()) .environmentVariables(Map.ofEntries( Map.entry("LOG_LEVEL", "INFO"), Map.entry("ENV", "production") )) .build()); } }
### Agent runtime artifact from S3 with Code Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.bedrock.AgentcoreAgentRuntime; import com.pulumi.aws.bedrock.AgentcoreAgentRuntimeArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactContainerConfigurationArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeNetworkConfigurationArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeProtocolConfigurationArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new AgentcoreAgentRuntime("example", AgentcoreAgentRuntimeArgs.builder() .agentRuntimeArtifact(AgentcoreAgentRuntimeAgentRuntimeArtifactArgs.builder() .containerConfiguration(AgentcoreAgentRuntimeAgentRuntimeArtifactContainerConfigurationArgs.builder() .containerUri(String.format("%s:latest", exampleAwsEcrRepository.repositoryUrl())) .build()) .build()) .networkConfiguration(AgentcoreAgentRuntimeNetworkConfigurationArgs.builder() .networkMode("PUBLIC") .build()) .protocolConfiguration(AgentcoreAgentRuntimeProtocolConfigurationArgs.builder() .serverProtocol("AGUI") .build()) .agentRuntimeName("example_agui_runtime") .description("Agent runtime with AG-UI protocol") .roleArn(exampleAwsIamRole.arn()) .build()); } }
## Import Using `pulumi import`, import Bedrock AgentCore Agent Runtime using `agentRuntimeId`. For example: ```sh $ pulumi import aws:bedrock/agentcoreAgentRuntime:AgentcoreAgentRuntime example agent-runtime-12345 ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.bedrock.AgentcoreAgentRuntime; import com.pulumi.aws.bedrock.AgentcoreAgentRuntimeArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactCodeConfigurationArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactCodeConfigurationCodeArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeAgentRuntimeArtifactCodeConfigurationCodeS3Args; import com.pulumi.aws.bedrock.inputs.AgentcoreAgentRuntimeNetworkConfigurationArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new AgentcoreAgentRuntime("example", AgentcoreAgentRuntimeArgs.builder() .agentRuntimeArtifact(AgentcoreAgentRuntimeAgentRuntimeArtifactArgs.builder() .codeConfiguration(AgentcoreAgentRuntimeAgentRuntimeArtifactCodeConfigurationArgs.builder() .code(AgentcoreAgentRuntimeAgentRuntimeArtifactCodeConfigurationCodeArgs.builder() .s3(AgentcoreAgentRuntimeAgentRuntimeArtifactCodeConfigurationCodeS3Args.builder() .bucket("example-bucket") .prefix("example-agent-runtime-code.zip") .build()) .build()) .entryPoints("main.py") .runtime("PYTHON_3_13") .build()) .build()) .networkConfiguration(AgentcoreAgentRuntimeNetworkConfigurationArgs.builder() .networkMode("PUBLIC") .build()) .agentRuntimeName("example_agent_runtime") .roleArn(exampleAwsIamRole.arn()) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description AgentcoreAgentRuntime(java.lang.String name)AgentcoreAgentRuntime(java.lang.String name, AgentcoreAgentRuntimeArgs args)AgentcoreAgentRuntime(java.lang.String name, AgentcoreAgentRuntimeArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>agentRuntimeArn()com.pulumi.core.Output<AgentcoreAgentRuntimeAgentRuntimeArtifact>agentRuntimeArtifact()com.pulumi.core.Output<java.lang.String>agentRuntimeId()com.pulumi.core.Output<java.lang.String>agentRuntimeName()com.pulumi.core.Output<java.lang.String>agentRuntimeVersion()com.pulumi.core.Output<java.util.Optional<AgentcoreAgentRuntimeAuthorizerConfiguration>>authorizerConfiguration()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>environmentVariables()com.pulumi.core.Output<java.util.Optional<java.util.List<AgentcoreAgentRuntimeFilesystemConfiguration>>>filesystemConfigurations()static AgentcoreAgentRuntimeget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, AgentcoreAgentRuntimeState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.List<AgentcoreAgentRuntimeLifecycleConfiguration>>lifecycleConfigurations()com.pulumi.core.Output<AgentcoreAgentRuntimeNetworkConfiguration>networkConfiguration()com.pulumi.core.Output<java.lang.String>platformVersion()com.pulumi.core.Output<java.util.Optional<AgentcoreAgentRuntimeProtocolConfiguration>>protocolConfiguration()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<AgentcoreAgentRuntimeRequestHeaderConfiguration>>requestHeaderConfiguration()com.pulumi.core.Output<java.lang.String>roleArn()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.Optional<AgentcoreAgentRuntimeTimeouts>>timeouts()com.pulumi.core.Output<java.util.List<AgentcoreAgentRuntimeWorkloadIdentityDetail>>workloadIdentityDetails()
-
-
-
Constructor Detail
-
AgentcoreAgentRuntime
public AgentcoreAgentRuntime(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
AgentcoreAgentRuntime
public AgentcoreAgentRuntime(java.lang.String name, AgentcoreAgentRuntimeArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
AgentcoreAgentRuntime
public AgentcoreAgentRuntime(java.lang.String name, AgentcoreAgentRuntimeArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
agentRuntimeArn
public com.pulumi.core.Output<java.lang.String> agentRuntimeArn()
- Returns:
- ARN of the Agent Runtime.
-
agentRuntimeArtifact
public com.pulumi.core.Output<AgentcoreAgentRuntimeAgentRuntimeArtifact> agentRuntimeArtifact()
- Returns:
- Artifact configuration for the agent runtime, either a container image or code stored in Amazon S3. See `agentRuntimeArtifact` below.
-
agentRuntimeId
public com.pulumi.core.Output<java.lang.String> agentRuntimeId()
- Returns:
- Unique identifier of the Agent Runtime.
-
agentRuntimeName
public com.pulumi.core.Output<java.lang.String> agentRuntimeName()
- Returns:
- Name of the agent runtime.
-
agentRuntimeVersion
public com.pulumi.core.Output<java.lang.String> agentRuntimeVersion()
- Returns:
- Version of the Agent Runtime.
-
authorizerConfiguration
public com.pulumi.core.Output<java.util.Optional<AgentcoreAgentRuntimeAuthorizerConfiguration>> authorizerConfiguration()
- Returns:
- Authorization configuration for authenticating incoming requests. See `authorizerConfiguration` below.
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- Description of the agent runtime.
-
environmentVariables
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> environmentVariables()
- Returns:
- Map of environment variables to pass to the container.
-
filesystemConfigurations
public com.pulumi.core.Output<java.util.Optional<java.util.List<AgentcoreAgentRuntimeFilesystemConfiguration>>> filesystemConfigurations()
- Returns:
- List of filesystems to mount into the agent runtime. Up to 5 entries are supported. Each entry is one of session storage, Amazon S3 Files access point, or Amazon EFS access point. See `filesystemConfiguration` below.
-
lifecycleConfigurations
public com.pulumi.core.Output<java.util.List<AgentcoreAgentRuntimeLifecycleConfiguration>> lifecycleConfigurations()
- Returns:
- Runtime session and resource lifecycle configuration for the agent runtime. See `lifecycleConfiguration` below.
-
networkConfiguration
public com.pulumi.core.Output<AgentcoreAgentRuntimeNetworkConfiguration> networkConfiguration()
- Returns:
- Network configuration for the agent runtime. See `networkConfiguration` below.
-
platformVersion
public com.pulumi.core.Output<java.lang.String> platformVersion()
- Returns:
- Platform version that controls how the agent runtime starts your agent. Valid values: `V1`, `V2`. When omitted, a new agent runtime uses `V1` and an existing agent runtime keeps its current platform version. `V2` restores each instance from a prepared snapshot, which keeps cold starts consistent regardless of image size. On `V2`, creates and updates take minutes rather than seconds, `environmentVariables` has a smaller total size limit, and availability is limited to a subset of Regions. See [Platform versions](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-how-it-works.html#runtime-platform-versions) for details.
-
protocolConfiguration
public com.pulumi.core.Output<java.util.Optional<AgentcoreAgentRuntimeProtocolConfiguration>> protocolConfiguration()
- Returns:
- Protocol configuration for the agent runtime. See `protocolConfiguration` below.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
requestHeaderConfiguration
public com.pulumi.core.Output<java.util.Optional<AgentcoreAgentRuntimeRequestHeaderConfiguration>> requestHeaderConfiguration()
- Returns:
- Configuration for HTTP request headers that will be passed through to the runtime. See `requestHeaderConfiguration` below.
-
roleArn
public com.pulumi.core.Output<java.lang.String> roleArn()
- Returns:
- ARN of the IAM role that the agent runtime assumes to access AWS services. The following arguments are optional:
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
timeouts
public com.pulumi.core.Output<java.util.Optional<AgentcoreAgentRuntimeTimeouts>> timeouts()
-
workloadIdentityDetails
public com.pulumi.core.Output<java.util.List<AgentcoreAgentRuntimeWorkloadIdentityDetail>> workloadIdentityDetails()
- Returns:
- Workload identity details for the agent runtime. See `workloadIdentityDetails` below.
-
get
public static AgentcoreAgentRuntime get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable AgentcoreAgentRuntimeState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-