Package com.pulumi.aws.bedrock
Class AgentcoreOnlineEvaluationConfig
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.bedrock.AgentcoreOnlineEvaluationConfig
-
public class AgentcoreOnlineEvaluationConfig extends com.pulumi.resources.CustomResourceManages an AWS Bedrock AgentCore Online Evaluation Configuration. Online evaluation configurations continuously monitor agent performance by sampling live traffic from CloudWatch logs and applying evaluators to assess agent quality in production. > **Note:** CloudWatch Transaction Search must be [enabled](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Enable-TransactionSearch.html) before using this resource. ## Example Usage ### Basic Usage
### With Filters and Session Configpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.Role; import com.pulumi.aws.iam.RoleArgs; import com.pulumi.aws.cloudwatch.LogGroup; import com.pulumi.aws.cloudwatch.LogGroupArgs; import com.pulumi.aws.bedrock.AgentcoreOnlineEvaluationConfig; import com.pulumi.aws.bedrock.AgentcoreOnlineEvaluationConfigArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigDataSourceConfigArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigDataSourceConfigCloudwatchLogsArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigRuleArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigRuleSamplingConfigArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigEvaluatorArgs; import static com.pulumi.codegen.internal.Serialization.*; 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 Role("example", RoleArgs.builder() .name("agentcore-eval-role") .assumeRolePolicy(serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Effect", "Allow"), jsonProperty("Action", "sts:AssumeRole"), jsonProperty("Principal", jsonObject( jsonProperty("Service", "bedrock-agentcore.amazonaws.com") )) ))) ))) .build()); var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() .name("/aws/agentcore/my-agent-traces") .build()); var exampleAgentcoreOnlineEvaluationConfig = new AgentcoreOnlineEvaluationConfig("exampleAgentcoreOnlineEvaluationConfig", AgentcoreOnlineEvaluationConfigArgs.builder() .dataSourceConfig(AgentcoreOnlineEvaluationConfigDataSourceConfigArgs.builder() .cloudwatchLogs(AgentcoreOnlineEvaluationConfigDataSourceConfigCloudwatchLogsArgs.builder() .logGroupNames(exampleLogGroup.name()) .serviceNames("my_agent_service") .build()) .build()) .rule(AgentcoreOnlineEvaluationConfigRuleArgs.builder() .samplingConfig(AgentcoreOnlineEvaluationConfigRuleSamplingConfigArgs.builder() .samplingPercentage(10.0) .build()) .build()) .evaluators( AgentcoreOnlineEvaluationConfigEvaluatorArgs.builder() .evaluatorId("Builtin.Helpfulness") .build(), AgentcoreOnlineEvaluationConfigEvaluatorArgs.builder() .evaluatorId("Builtin.GoalSuccessRate") .build()) .onlineEvaluationConfigName("my_evaluation_config") .description("Continuous evaluation of agent performance") .enableOnCreate(true) .evaluationExecutionRoleArn(example.arn()) .build()); } }
## Import ### Identity Schema #### Required - `onlineEvaluationConfigId` (String) ID of the online evaluation config. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import Bedrock AgentCore Online Evaluation Configs using `onlineEvaluationConfigId`. For example: ```sh $ pulumi import aws:bedrock/agentcoreOnlineEvaluationConfig:AgentcoreOnlineEvaluationConfig example my_evaluation_config-aBcDeFgHiJ ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.bedrock.AgentcoreOnlineEvaluationConfig; import com.pulumi.aws.bedrock.AgentcoreOnlineEvaluationConfigArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigDataSourceConfigArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigDataSourceConfigCloudwatchLogsArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigRuleArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigRuleSamplingConfigArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigRuleSessionConfigArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigRuleFilterArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigRuleFilterValueArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreOnlineEvaluationConfigEvaluatorArgs; 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 filtered = new AgentcoreOnlineEvaluationConfig("filtered", AgentcoreOnlineEvaluationConfigArgs.builder() .dataSourceConfig(AgentcoreOnlineEvaluationConfigDataSourceConfigArgs.builder() .cloudwatchLogs(AgentcoreOnlineEvaluationConfigDataSourceConfigCloudwatchLogsArgs.builder() .logGroupNames(example.name()) .serviceNames("my_agent_service") .build()) .build()) .rule(AgentcoreOnlineEvaluationConfigRuleArgs.builder() .samplingConfig(AgentcoreOnlineEvaluationConfigRuleSamplingConfigArgs.builder() .samplingPercentage(50.0) .build()) .sessionConfig(AgentcoreOnlineEvaluationConfigRuleSessionConfigArgs.builder() .sessionTimeoutMinutes(30) .build()) .filters(AgentcoreOnlineEvaluationConfigRuleFilterArgs.builder() .value(AgentcoreOnlineEvaluationConfigRuleFilterValueArgs.builder() .stringValue("production") .build()) .key("environment") .operator("Equals") .build()) .build()) .evaluators(AgentcoreOnlineEvaluationConfigEvaluatorArgs.builder() .evaluatorId("Builtin.Helpfulness") .build()) .onlineEvaluationConfigName("filtered_evaluation") .enableOnCreate(true) .evaluationExecutionRoleArn(exampleAwsIamRole.arn()) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description AgentcoreOnlineEvaluationConfig(java.lang.String name)AgentcoreOnlineEvaluationConfig(java.lang.String name, AgentcoreOnlineEvaluationConfigArgs args)AgentcoreOnlineEvaluationConfig(java.lang.String name, AgentcoreOnlineEvaluationConfigArgs 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<AgentcoreOnlineEvaluationConfigDataSourceConfig>dataSourceConfig()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.lang.Boolean>enableOnCreate()com.pulumi.core.Output<java.lang.String>evaluationExecutionRoleArn()com.pulumi.core.Output<java.util.List<AgentcoreOnlineEvaluationConfigEvaluator>>evaluators()com.pulumi.core.Output<java.lang.String>executionStatus()static AgentcoreOnlineEvaluationConfigget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, AgentcoreOnlineEvaluationConfigState 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.lang.String>onlineEvaluationConfigArn()com.pulumi.core.Output<java.lang.String>onlineEvaluationConfigId()com.pulumi.core.Output<java.lang.String>onlineEvaluationConfigName()com.pulumi.core.Output<java.util.List<AgentcoreOnlineEvaluationConfigOutputConfig>>outputConfigs()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<AgentcoreOnlineEvaluationConfigRule>rule()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<AgentcoreOnlineEvaluationConfigTimeouts>>timeouts()
-
-
-
Constructor Detail
-
AgentcoreOnlineEvaluationConfig
public AgentcoreOnlineEvaluationConfig(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
AgentcoreOnlineEvaluationConfig
public AgentcoreOnlineEvaluationConfig(java.lang.String name, AgentcoreOnlineEvaluationConfigArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
AgentcoreOnlineEvaluationConfig
public AgentcoreOnlineEvaluationConfig(java.lang.String name, AgentcoreOnlineEvaluationConfigArgs 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
-
dataSourceConfig
public com.pulumi.core.Output<AgentcoreOnlineEvaluationConfigDataSourceConfig> dataSourceConfig()
- Returns:
- Data source configuration specifying where to read agent traces. See `dataSourceConfig` Block below.
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- Description of the online evaluation configuration.
-
enableOnCreate
public com.pulumi.core.Output<java.lang.Boolean> enableOnCreate()
- Returns:
- Whether to enable the online evaluation configuration immediately upon creation.
-
evaluationExecutionRoleArn
public com.pulumi.core.Output<java.lang.String> evaluationExecutionRoleArn()
- Returns:
- ARN of the IAM role that grants permissions to read from CloudWatch logs, write evaluation results, and invoke Amazon Bedrock models for evaluation.
-
evaluators
public com.pulumi.core.Output<java.util.List<AgentcoreOnlineEvaluationConfigEvaluator>> evaluators()
- Returns:
- List of evaluators to apply during online evaluation. Minimum 1, maximum 10. See `evaluator` Block below.
-
executionStatus
public com.pulumi.core.Output<java.lang.String> executionStatus()
- Returns:
- Execution status to enable or disable the online evaluation. Valid values: `ENABLED`, `DISABLED`. Computed on create based on `enableOnCreate`.
-
onlineEvaluationConfigArn
public com.pulumi.core.Output<java.lang.String> onlineEvaluationConfigArn()
- Returns:
- ARN of the online evaluation configuration.
-
onlineEvaluationConfigId
public com.pulumi.core.Output<java.lang.String> onlineEvaluationConfigId()
- Returns:
- Unique identifier of the online evaluation configuration.
-
onlineEvaluationConfigName
public com.pulumi.core.Output<java.lang.String> onlineEvaluationConfigName()
- Returns:
- Name of the online evaluation configuration. Must start with a letter and contain only alphanumeric characters and underscores, up to 48 characters.
-
outputConfigs
public com.pulumi.core.Output<java.util.List<AgentcoreOnlineEvaluationConfigOutputConfig>> outputConfigs()
- Returns:
- Configuration specifying where evaluation results are written. See `outputConfig` Block 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.
-
rule
public com.pulumi.core.Output<AgentcoreOnlineEvaluationConfigRule> rule()
- Returns:
- Evaluation rule defining sampling configuration, filters, and session detection settings. See `rule` Block below. 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<AgentcoreOnlineEvaluationConfigTimeouts>> timeouts()
-
get
public static AgentcoreOnlineEvaluationConfig get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable AgentcoreOnlineEvaluationConfigState 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.
-
-