1. Registry
  2. Packages
  3. AWS
  4. API Docs
  5. bedrock
  6. AgentcoreGatewayRule
Viewing docs for AWS v7.46.0
published on Thursday, Sep 10, 2026 by Pulumi
aws logo aws logo
Viewing docs for AWS v7.46.0
published on Thursday, Sep 10, 2026 by Pulumi

    Manages an AWS Bedrock AgentCore Gateway Rule. Rules define conditions and actions that control how requests are routed and processed through a gateway, including principal-based access control, path-based routing, weighted target routing, and configuration bundle overrides. Rules are evaluated in order of priority (lower numbers first).

    Example Usage

    Route to a Static Target

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.bedrock.AgentcoreGatewayRule("example", {
        actions: [{
            routeToTarget: {
                staticRoute: {
                    targetName: exampleAwsBedrockagentcoreGatewayTarget.name,
                },
            },
        }],
        gatewayIdentifier: exampleAwsBedrockagentcoreGateway.gatewayId,
        priority: 100,
        description: "Route all requests to the primary target",
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.bedrock.AgentcoreGatewayRule("example",
        actions=[{
            "route_to_target": {
                "static_route": {
                    "target_name": example_aws_bedrockagentcore_gateway_target["name"],
                },
            },
        }],
        gateway_identifier=example_aws_bedrockagentcore_gateway["gatewayId"],
        priority=100,
        description="Route all requests to the primary target")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/bedrock"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := bedrock.NewAgentcoreGatewayRule(ctx, "example", &bedrock.AgentcoreGatewayRuleArgs{
    			Actions: bedrock.AgentcoreGatewayRuleActionArray{
    				&bedrock.AgentcoreGatewayRuleActionArgs{
    					RouteToTarget: &bedrock.AgentcoreGatewayRuleActionRouteToTargetArgs{
    						StaticRoute: &bedrock.AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs{
    							TargetName: pulumi.Any(exampleAwsBedrockagentcoreGatewayTarget.Name),
    						},
    					},
    				},
    			},
    			GatewayIdentifier: pulumi.Any(exampleAwsBedrockagentcoreGateway.GatewayId),
    			Priority:          pulumi.Int(100),
    			Description:       pulumi.String("Route all requests to the primary target"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Bedrock.AgentcoreGatewayRule("example", new()
        {
            Actions = new[]
            {
                new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionArgs
                {
                    RouteToTarget = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetArgs
                    {
                        StaticRoute = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs
                        {
                            TargetName = exampleAwsBedrockagentcoreGatewayTarget.Name,
                        },
                    },
                },
            },
            GatewayIdentifier = exampleAwsBedrockagentcoreGateway.GatewayId,
            Priority = 100,
            Description = "Route all requests to the primary target",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.bedrock.AgentcoreGatewayRule;
    import com.pulumi.aws.bedrock.AgentcoreGatewayRuleArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionRouteToTargetArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs;
    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 AgentcoreGatewayRule("example", AgentcoreGatewayRuleArgs.builder()
                .actions(AgentcoreGatewayRuleActionArgs.builder()
                    .routeToTarget(AgentcoreGatewayRuleActionRouteToTargetArgs.builder()
                        .staticRoute(AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs.builder()
                            .targetName(exampleAwsBedrockagentcoreGatewayTarget.name())
                            .build())
                        .build())
                    .build())
                .gatewayIdentifier(exampleAwsBedrockagentcoreGateway.gatewayId())
                .priority(100)
                .description("Route all requests to the primary target")
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:bedrock:AgentcoreGatewayRule
        properties:
          actions:
            - routeToTarget:
                staticRoute:
                  targetName: ${exampleAwsBedrockagentcoreGatewayTarget.name}
          gatewayIdentifier: ${exampleAwsBedrockagentcoreGateway.gatewayId}
          priority: 100
          description: Route all requests to the primary target
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    resource "aws_bedrock_agentcoregatewayrule" "example" {
      actions {
        route_to_target = {
          static_route = {
            target_name = exampleAwsBedrockagentcoreGatewayTarget.name
          }
        }
      }
      gateway_identifier = exampleAwsBedrockagentcoreGateway.gatewayId
      priority           = 100
      description        = "Route all requests to the primary target"
    }
    

    Weighted Route (Canary Traffic Split)

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const canary = new aws.bedrock.AgentcoreGatewayRule("canary", {
        actions: [{
            routeToTarget: {
                weightedRoute: {
                    trafficSplits: [
                        {
                            name: "primary",
                            targetName: primary.name,
                            weight: 90,
                        },
                        {
                            name: "canary",
                            targetName: canaryAwsBedrockagentcoreGatewayTarget.name,
                            weight: 10,
                        },
                    ],
                },
            },
        }],
        gatewayIdentifier: example.gatewayId,
        priority: 100,
    });
    
    import pulumi
    import pulumi_aws as aws
    
    canary = aws.bedrock.AgentcoreGatewayRule("canary",
        actions=[{
            "route_to_target": {
                "weighted_route": {
                    "traffic_splits": [
                        {
                            "name": "primary",
                            "target_name": primary["name"],
                            "weight": 90,
                        },
                        {
                            "name": "canary",
                            "target_name": canary_aws_bedrockagentcore_gateway_target["name"],
                            "weight": 10,
                        },
                    ],
                },
            },
        }],
        gateway_identifier=example["gatewayId"],
        priority=100)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/bedrock"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := bedrock.NewAgentcoreGatewayRule(ctx, "canary", &bedrock.AgentcoreGatewayRuleArgs{
    			Actions: bedrock.AgentcoreGatewayRuleActionArray{
    				&bedrock.AgentcoreGatewayRuleActionArgs{
    					RouteToTarget: &bedrock.AgentcoreGatewayRuleActionRouteToTargetArgs{
    						WeightedRoute: &bedrock.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteArgs{
    							TrafficSplits: bedrock.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArray{
    								&bedrock.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs{
    									Name:       pulumi.String("primary"),
    									TargetName: pulumi.Any(primary.Name),
    									Weight:     pulumi.Int(90),
    								},
    								&bedrock.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs{
    									Name:       pulumi.String("canary"),
    									TargetName: pulumi.Any(canaryAwsBedrockagentcoreGatewayTarget.Name),
    									Weight:     pulumi.Int(10),
    								},
    							},
    						},
    					},
    				},
    			},
    			GatewayIdentifier: pulumi.Any(example.GatewayId),
    			Priority:          pulumi.Int(100),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var canary = new Aws.Bedrock.AgentcoreGatewayRule("canary", new()
        {
            Actions = new[]
            {
                new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionArgs
                {
                    RouteToTarget = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetArgs
                    {
                        WeightedRoute = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteArgs
                        {
                            TrafficSplits = new[]
                            {
                                new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs
                                {
                                    Name = "primary",
                                    TargetName = primary.Name,
                                    Weight = 90,
                                },
                                new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs
                                {
                                    Name = "canary",
                                    TargetName = canaryAwsBedrockagentcoreGatewayTarget.Name,
                                    Weight = 10,
                                },
                            },
                        },
                    },
                },
            },
            GatewayIdentifier = example.GatewayId,
            Priority = 100,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.bedrock.AgentcoreGatewayRule;
    import com.pulumi.aws.bedrock.AgentcoreGatewayRuleArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionRouteToTargetArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs;
    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 canary = new AgentcoreGatewayRule("canary", AgentcoreGatewayRuleArgs.builder()
                .actions(AgentcoreGatewayRuleActionArgs.builder()
                    .routeToTarget(AgentcoreGatewayRuleActionRouteToTargetArgs.builder()
                        .weightedRoute(AgentcoreGatewayRuleActionRouteToTargetWeightedRouteArgs.builder()
                            .trafficSplits(                        
                                AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs.builder()
                                    .name("primary")
                                    .targetName(primary.name())
                                    .weight(90)
                                    .build(),
                                AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs.builder()
                                    .name("canary")
                                    .targetName(canaryAwsBedrockagentcoreGatewayTarget.name())
                                    .weight(10)
                                    .build())
                            .build())
                        .build())
                    .build())
                .gatewayIdentifier(example.gatewayId())
                .priority(100)
                .build());
    
        }
    }
    
    resources:
      canary:
        type: aws:bedrock:AgentcoreGatewayRule
        properties:
          actions:
            - routeToTarget:
                weightedRoute:
                  trafficSplits:
                    - name: primary
                      targetName: ${primary.name}
                      weight: 90
                    - name: canary
                      targetName: ${canaryAwsBedrockagentcoreGatewayTarget.name}
                      weight: 10
          gatewayIdentifier: ${example.gatewayId}
          priority: 100
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    resource "aws_bedrock_agentcoregatewayrule" "canary" {
      actions {
        route_to_target = {
          weighted_route = {
            traffic_splits = [{
              "name"       = "primary"
              "targetName" = primary.name
              "weight"     = 90
              }, {
              "name"       = "canary"
              "targetName" = canaryAwsBedrockagentcoreGatewayTarget.name
              "weight"     = 10
            }]
          }
        }
      }
      gateway_identifier = example.gatewayId
      priority           = 100
    }
    

    Match on IAM Principals and Paths

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const current = aws.getCallerIdentity({});
    const currentGetPartition = aws.getPartition({});
    const restricted = new aws.bedrock.AgentcoreGatewayRule("restricted", {
        actions: [{
            routeToTarget: {
                staticRoute: {
                    targetName: example.name,
                },
            },
        }],
        conditions: [
            {
                matchPrincipals: {
                    anyOfs: [{
                        iamPrincipal: {
                            arn: Promise.all([currentGetPartition, current]).then(([currentGetPartition, current]) => `arn:${currentGetPartition.partition}:iam::${current.accountId}:role/agentcore-caller-*`),
                            operator: "StringLike",
                        },
                    }],
                },
            },
            {
                matchPaths: {
                    anyOfs: ["/api/*"],
                },
            },
        ],
        gatewayIdentifier: exampleAwsBedrockagentcoreGateway.gatewayId,
        priority: 50,
    });
    
    import pulumi
    import pulumi_aws as aws
    
    current = aws.get_caller_identity()
    current_get_partition = aws.get_partition()
    restricted = aws.bedrock.AgentcoreGatewayRule("restricted",
        actions=[{
            "route_to_target": {
                "static_route": {
                    "target_name": example["name"],
                },
            },
        }],
        conditions=[
            {
                "match_principals": {
                    "any_ofs": [{
                        "iam_principal": {
                            "arn": f"arn:{current_get_partition.partition}:iam::{current.account_id}:role/agentcore-caller-*",
                            "operator": "StringLike",
                        },
                    }],
                },
            },
            {
                "match_paths": {
                    "any_ofs": ["/api/*"],
                },
            },
        ],
        gateway_identifier=example_aws_bedrockagentcore_gateway["gatewayId"],
        priority=50)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/bedrock"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		current, err := aws.GetCallerIdentity(ctx, &aws.GetCallerIdentityArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		currentGetPartition, err := aws.GetPartition(ctx, &aws.GetPartitionArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = bedrock.NewAgentcoreGatewayRule(ctx, "restricted", &bedrock.AgentcoreGatewayRuleArgs{
    			Actions: bedrock.AgentcoreGatewayRuleActionArray{
    				&bedrock.AgentcoreGatewayRuleActionArgs{
    					RouteToTarget: &bedrock.AgentcoreGatewayRuleActionRouteToTargetArgs{
    						StaticRoute: &bedrock.AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs{
    							TargetName: pulumi.Any(example.Name),
    						},
    					},
    				},
    			},
    			Conditions: bedrock.AgentcoreGatewayRuleConditionArray{
    				&bedrock.AgentcoreGatewayRuleConditionArgs{
    					MatchPrincipals: &bedrock.AgentcoreGatewayRuleConditionMatchPrincipalsArgs{
    						AnyOfs: bedrock.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArray{
    							&bedrock.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArgs{
    								IamPrincipal: &bedrock.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipalArgs{
    									Arn:      pulumi.Sprintf("arn:%v:iam::%v:role/agentcore-caller-*", currentGetPartition.Partition, current.AccountId),
    									Operator: pulumi.String("StringLike"),
    								},
    							},
    						},
    					},
    				},
    				&bedrock.AgentcoreGatewayRuleConditionArgs{
    					MatchPaths: &bedrock.AgentcoreGatewayRuleConditionMatchPathsArgs{
    						AnyOfs: pulumi.StringArray{
    							pulumi.String("/api/*"),
    						},
    					},
    				},
    			},
    			GatewayIdentifier: pulumi.Any(exampleAwsBedrockagentcoreGateway.GatewayId),
    			Priority:          pulumi.Int(50),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var current = Aws.GetCallerIdentity.Invoke();
    
        var currentGetPartition = Aws.GetPartition.Invoke();
    
        var restricted = new Aws.Bedrock.AgentcoreGatewayRule("restricted", new()
        {
            Actions = new[]
            {
                new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionArgs
                {
                    RouteToTarget = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetArgs
                    {
                        StaticRoute = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs
                        {
                            TargetName = example.Name,
                        },
                    },
                },
            },
            Conditions = new[]
            {
                new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionArgs
                {
                    MatchPrincipals = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionMatchPrincipalsArgs
                    {
                        AnyOfs = new[]
                        {
                            new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArgs
                            {
                                IamPrincipal = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipalArgs
                                {
                                    Arn = Output.Tuple(currentGetPartition, current).Apply(values =>
                                    {
                                        var currentGetPartition = values.Item1;
                                        var current = values.Item2;
                                        return $"arn:{currentGetPartition.Apply(getPartitionResult => getPartitionResult.Partition)}:iam::{current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId)}:role/agentcore-caller-*";
                                    }),
                                    Operator = "StringLike",
                                },
                            },
                        },
                    },
                },
                new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionArgs
                {
                    MatchPaths = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionMatchPathsArgs
                    {
                        AnyOfs = new[]
                        {
                            "/api/*",
                        },
                    },
                },
            },
            GatewayIdentifier = exampleAwsBedrockagentcoreGateway.GatewayId,
            Priority = 50,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.AwsFunctions;
    import com.pulumi.aws.inputs.GetCallerIdentityArgs;
    import com.pulumi.aws.inputs.GetPartitionArgs;
    import com.pulumi.aws.bedrock.AgentcoreGatewayRule;
    import com.pulumi.aws.bedrock.AgentcoreGatewayRuleArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionRouteToTargetArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleConditionArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleConditionMatchPrincipalsArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipalArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayRuleConditionMatchPathsArgs;
    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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder()
                .build());
    
            final var currentGetPartition = AwsFunctions.getPartition(GetPartitionArgs.builder()
                .build());
    
            var restricted = new AgentcoreGatewayRule("restricted", AgentcoreGatewayRuleArgs.builder()
                .actions(AgentcoreGatewayRuleActionArgs.builder()
                    .routeToTarget(AgentcoreGatewayRuleActionRouteToTargetArgs.builder()
                        .staticRoute(AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs.builder()
                            .targetName(example.name())
                            .build())
                        .build())
                    .build())
                .conditions(            
                    AgentcoreGatewayRuleConditionArgs.builder()
                        .matchPrincipals(AgentcoreGatewayRuleConditionMatchPrincipalsArgs.builder()
                            .anyOfs(AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArgs.builder()
                                .iamPrincipal(AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipalArgs.builder()
                                    .arn(String.format("arn:%s:iam::%s:role/agentcore-caller-*", currentGetPartition.partition(),current.accountId()))
                                    .operator("StringLike")
                                    .build())
                                .build())
                            .build())
                        .build(),
                    AgentcoreGatewayRuleConditionArgs.builder()
                        .matchPaths(AgentcoreGatewayRuleConditionMatchPathsArgs.builder()
                            .anyOfs("/api/*")
                            .build())
                        .build())
                .gatewayIdentifier(exampleAwsBedrockagentcoreGateway.gatewayId())
                .priority(50)
                .build());
    
        }
    }
    
    resources:
      restricted:
        type: aws:bedrock:AgentcoreGatewayRule
        properties:
          actions:
            - routeToTarget:
                staticRoute:
                  targetName: ${example.name}
          conditions:
            - matchPrincipals:
                anyOfs:
                  - iamPrincipal:
                      arn: arn:${currentGetPartition.partition}:iam::${current.accountId}:role/agentcore-caller-*
                      operator: StringLike
            - matchPaths:
                anyOfs:
                  - /api/*
          gatewayIdentifier: ${exampleAwsBedrockagentcoreGateway.gatewayId}
          priority: 50
    variables:
      current:
        fn::invoke:
          function: aws:getCallerIdentity
          arguments: {}
      currentGetPartition:
        fn::invoke:
          function: aws:getPartition
          arguments: {}
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    data "aws_getcalleridentity" "current" {
    }
    data "aws_getpartition" "currentGetPartition" {
    }
    
    resource "aws_bedrock_agentcoregatewayrule" "restricted" {
      actions {
        route_to_target = {
          static_route = {
            target_name = example.name
          }
        }
      }
      conditions {
        match_principals = {
          any_ofs = [{
            "iamPrincipal" = {
              "arn"      ="arn:${data.aws_getpartition.currentGetPartition.partition}:iam::${data.aws_getcalleridentity.current.account_id}:role/agentcore-caller-*"
              "operator" = "StringLike"
            }
          }]
        }
      }
      conditions {
        match_paths = {
          any_ofs = ["/api/*"]
        }
      }
      gateway_identifier = exampleAwsBedrockagentcoreGateway.gatewayId
      priority           = 50
    }
    

    Create AgentcoreGatewayRule Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new AgentcoreGatewayRule(name: string, args: AgentcoreGatewayRuleArgs, opts?: CustomResourceOptions);
    @overload
    def AgentcoreGatewayRule(resource_name: str,
                             args: AgentcoreGatewayRuleArgs,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def AgentcoreGatewayRule(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             gateway_identifier: Optional[str] = None,
                             priority: Optional[int] = None,
                             actions: Optional[Sequence[AgentcoreGatewayRuleActionArgs]] = None,
                             conditions: Optional[Sequence[AgentcoreGatewayRuleConditionArgs]] = None,
                             description: Optional[str] = None,
                             region: Optional[str] = None,
                             timeouts: Optional[AgentcoreGatewayRuleTimeoutsArgs] = None)
    func NewAgentcoreGatewayRule(ctx *Context, name string, args AgentcoreGatewayRuleArgs, opts ...ResourceOption) (*AgentcoreGatewayRule, error)
    public AgentcoreGatewayRule(string name, AgentcoreGatewayRuleArgs args, CustomResourceOptions? opts = null)
    public AgentcoreGatewayRule(String name, AgentcoreGatewayRuleArgs args)
    public AgentcoreGatewayRule(String name, AgentcoreGatewayRuleArgs args, CustomResourceOptions options)
    
    type: aws:bedrock:AgentcoreGatewayRule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "aws_bedrock_agentcore_gateway_rule" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args AgentcoreGatewayRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AgentcoreGatewayRuleArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AgentcoreGatewayRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AgentcoreGatewayRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AgentcoreGatewayRuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var agentcoreGatewayRuleResource = new Aws.Bedrock.AgentcoreGatewayRule("agentcoreGatewayRuleResource", new()
    {
        GatewayIdentifier = "string",
        Priority = 0,
        Actions = new[]
        {
            new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionArgs
            {
                ConfigurationBundle = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionConfigurationBundleArgs
                {
                    StaticOverride = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionConfigurationBundleStaticOverrideArgs
                    {
                        BundleArn = "string",
                        BundleVersion = "string",
                    },
                    WeightedOverride = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideArgs
                    {
                        TrafficSplits = new[]
                        {
                            new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitArgs
                            {
                                Name = "string",
                                Weight = 0,
                                ConfigurationBundle = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundleArgs
                                {
                                    BundleArn = "string",
                                    BundleVersion = "string",
                                },
                                Description = "string",
                                Metadata = 
                                {
                                    { "string", "string" },
                                },
                            },
                        },
                    },
                },
                RouteToTarget = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetArgs
                {
                    StaticRoute = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs
                    {
                        TargetName = "string",
                    },
                    WeightedRoute = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteArgs
                    {
                        TrafficSplits = new[]
                        {
                            new Aws.Bedrock.Inputs.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs
                            {
                                Name = "string",
                                TargetName = "string",
                                Weight = 0,
                                Description = "string",
                                Metadata = 
                                {
                                    { "string", "string" },
                                },
                            },
                        },
                    },
                },
            },
        },
        Conditions = new[]
        {
            new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionArgs
            {
                MatchPaths = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionMatchPathsArgs
                {
                    AnyOfs = new[]
                    {
                        "string",
                    },
                },
                MatchPrincipals = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionMatchPrincipalsArgs
                {
                    AnyOfs = new[]
                    {
                        new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArgs
                        {
                            IamPrincipal = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipalArgs
                            {
                                Arn = "string",
                                Operator = "string",
                            },
                        },
                    },
                },
            },
        },
        Description = "string",
        Region = "string",
        Timeouts = new Aws.Bedrock.Inputs.AgentcoreGatewayRuleTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
    });
    
    example, err := bedrock.NewAgentcoreGatewayRule(ctx, "agentcoreGatewayRuleResource", &bedrock.AgentcoreGatewayRuleArgs{
    	GatewayIdentifier: pulumi.String("string"),
    	Priority:          pulumi.Int(0),
    	Actions: bedrock.AgentcoreGatewayRuleActionArray{
    		&bedrock.AgentcoreGatewayRuleActionArgs{
    			ConfigurationBundle: &bedrock.AgentcoreGatewayRuleActionConfigurationBundleArgs{
    				StaticOverride: &bedrock.AgentcoreGatewayRuleActionConfigurationBundleStaticOverrideArgs{
    					BundleArn:     pulumi.String("string"),
    					BundleVersion: pulumi.String("string"),
    				},
    				WeightedOverride: &bedrock.AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideArgs{
    					TrafficSplits: bedrock.AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitArray{
    						&bedrock.AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitArgs{
    							Name:   pulumi.String("string"),
    							Weight: pulumi.Int(0),
    							ConfigurationBundle: &bedrock.AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundleArgs{
    								BundleArn:     pulumi.String("string"),
    								BundleVersion: pulumi.String("string"),
    							},
    							Description: pulumi.String("string"),
    							Metadata: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    					},
    				},
    			},
    			RouteToTarget: &bedrock.AgentcoreGatewayRuleActionRouteToTargetArgs{
    				StaticRoute: &bedrock.AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs{
    					TargetName: pulumi.String("string"),
    				},
    				WeightedRoute: &bedrock.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteArgs{
    					TrafficSplits: bedrock.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArray{
    						&bedrock.AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs{
    							Name:        pulumi.String("string"),
    							TargetName:  pulumi.String("string"),
    							Weight:      pulumi.Int(0),
    							Description: pulumi.String("string"),
    							Metadata: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    					},
    				},
    			},
    		},
    	},
    	Conditions: bedrock.AgentcoreGatewayRuleConditionArray{
    		&bedrock.AgentcoreGatewayRuleConditionArgs{
    			MatchPaths: &bedrock.AgentcoreGatewayRuleConditionMatchPathsArgs{
    				AnyOfs: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			MatchPrincipals: &bedrock.AgentcoreGatewayRuleConditionMatchPrincipalsArgs{
    				AnyOfs: bedrock.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArray{
    					&bedrock.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArgs{
    						IamPrincipal: &bedrock.AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipalArgs{
    							Arn:      pulumi.String("string"),
    							Operator: pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    	},
    	Description: pulumi.String("string"),
    	Region:      pulumi.String("string"),
    	Timeouts: &bedrock.AgentcoreGatewayRuleTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    })
    
    resource "aws_bedrock_agentcore_gateway_rule" "agentcoreGatewayRuleResource" {
      lifecycle {
        create_before_destroy = true
      }
      gateway_identifier = "string"
      priority           = 0
      actions {
        configuration_bundle = {
          static_override = {
            bundle_arn     = "string"
            bundle_version = "string"
          }
          weighted_override = {
            traffic_splits = [{
              name   = "string"
              weight = 0
              configuration_bundle = {
                bundle_arn     = "string"
                bundle_version = "string"
              }
              description = "string"
              metadata = {
                "string" = "string"
              }
            }]
          }
        }
        route_to_target = {
          static_route = {
            target_name = "string"
          }
          weighted_route = {
            traffic_splits = [{
              name        = "string"
              target_name = "string"
              weight      = 0
              description = "string"
              metadata = {
                "string" = "string"
              }
            }]
          }
        }
      }
      conditions {
        match_paths = {
          any_ofs = ["string"]
        }
        match_principals = {
          any_ofs = [{
            iam_principal = {
              arn      = "string"
              operator = "string"
            }
          }]
        }
      }
      description = "string"
      region      = "string"
      timeouts = {
        create = "string"
        delete = "string"
        update = "string"
      }
    }
    
    var agentcoreGatewayRuleResource = new AgentcoreGatewayRule("agentcoreGatewayRuleResource", AgentcoreGatewayRuleArgs.builder()
        .gatewayIdentifier("string")
        .priority(0)
        .actions(AgentcoreGatewayRuleActionArgs.builder()
            .configurationBundle(AgentcoreGatewayRuleActionConfigurationBundleArgs.builder()
                .staticOverride(AgentcoreGatewayRuleActionConfigurationBundleStaticOverrideArgs.builder()
                    .bundleArn("string")
                    .bundleVersion("string")
                    .build())
                .weightedOverride(AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideArgs.builder()
                    .trafficSplits(AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitArgs.builder()
                        .name("string")
                        .weight(0)
                        .configurationBundle(AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundleArgs.builder()
                            .bundleArn("string")
                            .bundleVersion("string")
                            .build())
                        .description("string")
                        .metadata(Map.of("string", "string"))
                        .build())
                    .build())
                .build())
            .routeToTarget(AgentcoreGatewayRuleActionRouteToTargetArgs.builder()
                .staticRoute(AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs.builder()
                    .targetName("string")
                    .build())
                .weightedRoute(AgentcoreGatewayRuleActionRouteToTargetWeightedRouteArgs.builder()
                    .trafficSplits(AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs.builder()
                        .name("string")
                        .targetName("string")
                        .weight(0)
                        .description("string")
                        .metadata(Map.of("string", "string"))
                        .build())
                    .build())
                .build())
            .build())
        .conditions(AgentcoreGatewayRuleConditionArgs.builder()
            .matchPaths(AgentcoreGatewayRuleConditionMatchPathsArgs.builder()
                .anyOfs("string")
                .build())
            .matchPrincipals(AgentcoreGatewayRuleConditionMatchPrincipalsArgs.builder()
                .anyOfs(AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArgs.builder()
                    .iamPrincipal(AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipalArgs.builder()
                        .arn("string")
                        .operator("string")
                        .build())
                    .build())
                .build())
            .build())
        .description("string")
        .region("string")
        .timeouts(AgentcoreGatewayRuleTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .build());
    
    agentcore_gateway_rule_resource = aws.bedrock.AgentcoreGatewayRule("agentcoreGatewayRuleResource",
        gateway_identifier="string",
        priority=0,
        actions=[{
            "configuration_bundle": {
                "static_override": {
                    "bundle_arn": "string",
                    "bundle_version": "string",
                },
                "weighted_override": {
                    "traffic_splits": [{
                        "name": "string",
                        "weight": 0,
                        "configuration_bundle": {
                            "bundle_arn": "string",
                            "bundle_version": "string",
                        },
                        "description": "string",
                        "metadata": {
                            "string": "string",
                        },
                    }],
                },
            },
            "route_to_target": {
                "static_route": {
                    "target_name": "string",
                },
                "weighted_route": {
                    "traffic_splits": [{
                        "name": "string",
                        "target_name": "string",
                        "weight": 0,
                        "description": "string",
                        "metadata": {
                            "string": "string",
                        },
                    }],
                },
            },
        }],
        conditions=[{
            "match_paths": {
                "any_ofs": ["string"],
            },
            "match_principals": {
                "any_ofs": [{
                    "iam_principal": {
                        "arn": "string",
                        "operator": "string",
                    },
                }],
            },
        }],
        description="string",
        region="string",
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        })
    
    const agentcoreGatewayRuleResource = new aws.bedrock.AgentcoreGatewayRule("agentcoreGatewayRuleResource", {
        gatewayIdentifier: "string",
        priority: 0,
        actions: [{
            configurationBundle: {
                staticOverride: {
                    bundleArn: "string",
                    bundleVersion: "string",
                },
                weightedOverride: {
                    trafficSplits: [{
                        name: "string",
                        weight: 0,
                        configurationBundle: {
                            bundleArn: "string",
                            bundleVersion: "string",
                        },
                        description: "string",
                        metadata: {
                            string: "string",
                        },
                    }],
                },
            },
            routeToTarget: {
                staticRoute: {
                    targetName: "string",
                },
                weightedRoute: {
                    trafficSplits: [{
                        name: "string",
                        targetName: "string",
                        weight: 0,
                        description: "string",
                        metadata: {
                            string: "string",
                        },
                    }],
                },
            },
        }],
        conditions: [{
            matchPaths: {
                anyOfs: ["string"],
            },
            matchPrincipals: {
                anyOfs: [{
                    iamPrincipal: {
                        arn: "string",
                        operator: "string",
                    },
                }],
            },
        }],
        description: "string",
        region: "string",
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
    });
    
    type: aws:bedrock:AgentcoreGatewayRule
    properties:
        actions:
            - configurationBundle:
                staticOverride:
                    bundleArn: string
                    bundleVersion: string
                weightedOverride:
                    trafficSplits:
                        - configurationBundle:
                            bundleArn: string
                            bundleVersion: string
                          description: string
                          metadata:
                            string: string
                          name: string
                          weight: 0
              routeToTarget:
                staticRoute:
                    targetName: string
                weightedRoute:
                    trafficSplits:
                        - description: string
                          metadata:
                            string: string
                          name: string
                          targetName: string
                          weight: 0
        conditions:
            - matchPaths:
                anyOfs:
                    - string
              matchPrincipals:
                anyOfs:
                    - iamPrincipal:
                        arn: string
                        operator: string
        description: string
        gatewayIdentifier: string
        priority: 0
        region: string
        timeouts:
            create: string
            delete: string
            update: string
    

    AgentcoreGatewayRule Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The AgentcoreGatewayRule resource accepts the following input properties:

    GatewayIdentifier string
    Identifier of the gateway to attach the rule to.
    Priority int

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    Actions List<AgentcoreGatewayRuleAction>
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    Conditions List<AgentcoreGatewayRuleCondition>
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    Description string
    Description of the rule. Between 1 and 256 characters.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Timeouts AgentcoreGatewayRuleTimeouts
    GatewayIdentifier string
    Identifier of the gateway to attach the rule to.
    Priority int

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    Actions []AgentcoreGatewayRuleActionArgs
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    Conditions []AgentcoreGatewayRuleConditionArgs
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    Description string
    Description of the rule. Between 1 and 256 characters.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Timeouts AgentcoreGatewayRuleTimeoutsArgs
    gateway_identifier string
    Identifier of the gateway to attach the rule to.
    priority number

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    actions list(object)
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions list(object)
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description string
    Description of the rule. Between 1 and 256 characters.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    timeouts object
    gatewayIdentifier String
    Identifier of the gateway to attach the rule to.
    priority Integer

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    actions List<AgentcoreGatewayRuleAction>
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions List<AgentcoreGatewayRuleCondition>
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description String
    Description of the rule. Between 1 and 256 characters.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    timeouts AgentcoreGatewayRuleTimeouts
    gatewayIdentifier string
    Identifier of the gateway to attach the rule to.
    priority number

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    actions AgentcoreGatewayRuleAction[]
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions AgentcoreGatewayRuleCondition[]
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description string
    Description of the rule. Between 1 and 256 characters.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    timeouts AgentcoreGatewayRuleTimeouts
    gateway_identifier str
    Identifier of the gateway to attach the rule to.
    priority int

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    actions Sequence[AgentcoreGatewayRuleActionArgs]
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions Sequence[AgentcoreGatewayRuleConditionArgs]
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description str
    Description of the rule. Between 1 and 256 characters.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    timeouts AgentcoreGatewayRuleTimeoutsArgs
    gatewayIdentifier String
    Identifier of the gateway to attach the rule to.
    priority Number

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    actions List<Property Map>
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions List<Property Map>
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description String
    Description of the rule. Between 1 and 256 characters.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    timeouts Property Map

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AgentcoreGatewayRule resource produces the following output properties:

    GatewayArn string
    ARN of the gateway that owns the rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    RuleId string
    Identifier of the rule.
    Systems List<AgentcoreGatewayRuleSystem>
    Present when the rule is system-managed. See system Block below.
    GatewayArn string
    ARN of the gateway that owns the rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    RuleId string
    Identifier of the rule.
    Systems []AgentcoreGatewayRuleSystem
    Present when the rule is system-managed. See system Block below.
    gateway_arn string
    ARN of the gateway that owns the rule.
    id string
    The provider-assigned unique ID for this managed resource.
    rule_id string
    Identifier of the rule.
    systems list(object)
    Present when the rule is system-managed. See system Block below.
    gatewayArn String
    ARN of the gateway that owns the rule.
    id String
    The provider-assigned unique ID for this managed resource.
    ruleId String
    Identifier of the rule.
    systems List<AgentcoreGatewayRuleSystem>
    Present when the rule is system-managed. See system Block below.
    gatewayArn string
    ARN of the gateway that owns the rule.
    id string
    The provider-assigned unique ID for this managed resource.
    ruleId string
    Identifier of the rule.
    systems AgentcoreGatewayRuleSystem[]
    Present when the rule is system-managed. See system Block below.
    gateway_arn str
    ARN of the gateway that owns the rule.
    id str
    The provider-assigned unique ID for this managed resource.
    rule_id str
    Identifier of the rule.
    systems Sequence[AgentcoreGatewayRuleSystem]
    Present when the rule is system-managed. See system Block below.
    gatewayArn String
    ARN of the gateway that owns the rule.
    id String
    The provider-assigned unique ID for this managed resource.
    ruleId String
    Identifier of the rule.
    systems List<Property Map>
    Present when the rule is system-managed. See system Block below.

    Look up Existing AgentcoreGatewayRule Resource

    Get an existing AgentcoreGatewayRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AgentcoreGatewayRuleState, opts?: CustomResourceOptions): AgentcoreGatewayRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            actions: Optional[Sequence[AgentcoreGatewayRuleActionArgs]] = None,
            conditions: Optional[Sequence[AgentcoreGatewayRuleConditionArgs]] = None,
            description: Optional[str] = None,
            gateway_arn: Optional[str] = None,
            gateway_identifier: Optional[str] = None,
            priority: Optional[int] = None,
            region: Optional[str] = None,
            rule_id: Optional[str] = None,
            systems: Optional[Sequence[AgentcoreGatewayRuleSystemArgs]] = None,
            timeouts: Optional[AgentcoreGatewayRuleTimeoutsArgs] = None) -> AgentcoreGatewayRule
    func GetAgentcoreGatewayRule(ctx *Context, name string, id IDInput, state *AgentcoreGatewayRuleState, opts ...ResourceOption) (*AgentcoreGatewayRule, error)
    public static AgentcoreGatewayRule Get(string name, Input<string> id, AgentcoreGatewayRuleState? state, CustomResourceOptions? opts = null)
    public static AgentcoreGatewayRule get(String name, Output<String> id, AgentcoreGatewayRuleState state, CustomResourceOptions options)
    resources:  _:    type: aws:bedrock:AgentcoreGatewayRule    get:      id: ${id}
    import {
      to = aws_bedrock_agentcore_gateway_rule.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Actions List<AgentcoreGatewayRuleAction>
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    Conditions List<AgentcoreGatewayRuleCondition>
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    Description string
    Description of the rule. Between 1 and 256 characters.
    GatewayArn string
    ARN of the gateway that owns the rule.
    GatewayIdentifier string
    Identifier of the gateway to attach the rule to.
    Priority int

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    RuleId string
    Identifier of the rule.
    Systems List<AgentcoreGatewayRuleSystem>
    Present when the rule is system-managed. See system Block below.
    Timeouts AgentcoreGatewayRuleTimeouts
    Actions []AgentcoreGatewayRuleActionArgs
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    Conditions []AgentcoreGatewayRuleConditionArgs
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    Description string
    Description of the rule. Between 1 and 256 characters.
    GatewayArn string
    ARN of the gateway that owns the rule.
    GatewayIdentifier string
    Identifier of the gateway to attach the rule to.
    Priority int

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    RuleId string
    Identifier of the rule.
    Systems []AgentcoreGatewayRuleSystemArgs
    Present when the rule is system-managed. See system Block below.
    Timeouts AgentcoreGatewayRuleTimeoutsArgs
    actions list(object)
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions list(object)
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description string
    Description of the rule. Between 1 and 256 characters.
    gateway_arn string
    ARN of the gateway that owns the rule.
    gateway_identifier string
    Identifier of the gateway to attach the rule to.
    priority number

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    rule_id string
    Identifier of the rule.
    systems list(object)
    Present when the rule is system-managed. See system Block below.
    timeouts object
    actions List<AgentcoreGatewayRuleAction>
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions List<AgentcoreGatewayRuleCondition>
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description String
    Description of the rule. Between 1 and 256 characters.
    gatewayArn String
    ARN of the gateway that owns the rule.
    gatewayIdentifier String
    Identifier of the gateway to attach the rule to.
    priority Integer

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    ruleId String
    Identifier of the rule.
    systems List<AgentcoreGatewayRuleSystem>
    Present when the rule is system-managed. See system Block below.
    timeouts AgentcoreGatewayRuleTimeouts
    actions AgentcoreGatewayRuleAction[]
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions AgentcoreGatewayRuleCondition[]
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description string
    Description of the rule. Between 1 and 256 characters.
    gatewayArn string
    ARN of the gateway that owns the rule.
    gatewayIdentifier string
    Identifier of the gateway to attach the rule to.
    priority number

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    ruleId string
    Identifier of the rule.
    systems AgentcoreGatewayRuleSystem[]
    Present when the rule is system-managed. See system Block below.
    timeouts AgentcoreGatewayRuleTimeouts
    actions Sequence[AgentcoreGatewayRuleActionArgs]
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions Sequence[AgentcoreGatewayRuleConditionArgs]
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description str
    Description of the rule. Between 1 and 256 characters.
    gateway_arn str
    ARN of the gateway that owns the rule.
    gateway_identifier str
    Identifier of the gateway to attach the rule to.
    priority int

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    rule_id str
    Identifier of the rule.
    systems Sequence[AgentcoreGatewayRuleSystemArgs]
    Present when the rule is system-managed. See system Block below.
    timeouts AgentcoreGatewayRuleTimeoutsArgs
    actions List<Property Map>
    One or two action blocks defining what happens when the rule's conditions match. See Action below.
    conditions List<Property Map>
    Up to two condition blocks that must all be satisfied for the rule's actions to apply. See Condition below.
    description String
    Description of the rule. Between 1 and 256 characters.
    gatewayArn String
    ARN of the gateway that owns the rule.
    gatewayIdentifier String
    Identifier of the gateway to attach the rule to.
    priority Number

    Priority of the rule, between 1 and 1000000. Rules are evaluated in ascending order of priority.

    The following arguments are optional:

    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    ruleId String
    Identifier of the rule.
    systems List<Property Map>
    Present when the rule is system-managed. See system Block below.
    timeouts Property Map

    Supporting Types

    AgentcoreGatewayRuleAction, AgentcoreGatewayRuleActionArgs

    ConfigurationBundle AgentcoreGatewayRuleActionConfigurationBundle
    Reference to the configuration bundle for this variant.
    RouteToTarget AgentcoreGatewayRuleActionRouteToTarget
    Route requests to a gateway target when the rule's conditions match. See routeToTarget below.
    ConfigurationBundle AgentcoreGatewayRuleActionConfigurationBundle
    Reference to the configuration bundle for this variant.
    RouteToTarget AgentcoreGatewayRuleActionRouteToTarget
    Route requests to a gateway target when the rule's conditions match. See routeToTarget below.
    configuration_bundle object
    Reference to the configuration bundle for this variant.
    route_to_target object
    Route requests to a gateway target when the rule's conditions match. See routeToTarget below.
    configurationBundle AgentcoreGatewayRuleActionConfigurationBundle
    Reference to the configuration bundle for this variant.
    routeToTarget AgentcoreGatewayRuleActionRouteToTarget
    Route requests to a gateway target when the rule's conditions match. See routeToTarget below.
    configurationBundle AgentcoreGatewayRuleActionConfigurationBundle
    Reference to the configuration bundle for this variant.
    routeToTarget AgentcoreGatewayRuleActionRouteToTarget
    Route requests to a gateway target when the rule's conditions match. See routeToTarget below.
    configuration_bundle AgentcoreGatewayRuleActionConfigurationBundle
    Reference to the configuration bundle for this variant.
    route_to_target AgentcoreGatewayRuleActionRouteToTarget
    Route requests to a gateway target when the rule's conditions match. See routeToTarget below.
    configurationBundle Property Map
    Reference to the configuration bundle for this variant.
    routeToTarget Property Map
    Route requests to a gateway target when the rule's conditions match. See routeToTarget below.

    AgentcoreGatewayRuleActionConfigurationBundle, AgentcoreGatewayRuleActionConfigurationBundleArgs

    StaticOverride AgentcoreGatewayRuleActionConfigurationBundleStaticOverride
    Statically override the configuration bundle used for the matched request.
    WeightedOverride AgentcoreGatewayRuleActionConfigurationBundleWeightedOverride
    Distribute the request across two configuration bundle versions by weight.
    StaticOverride AgentcoreGatewayRuleActionConfigurationBundleStaticOverride
    Statically override the configuration bundle used for the matched request.
    WeightedOverride AgentcoreGatewayRuleActionConfigurationBundleWeightedOverride
    Distribute the request across two configuration bundle versions by weight.
    static_override object
    Statically override the configuration bundle used for the matched request.
    weighted_override object
    Distribute the request across two configuration bundle versions by weight.
    staticOverride AgentcoreGatewayRuleActionConfigurationBundleStaticOverride
    Statically override the configuration bundle used for the matched request.
    weightedOverride AgentcoreGatewayRuleActionConfigurationBundleWeightedOverride
    Distribute the request across two configuration bundle versions by weight.
    staticOverride AgentcoreGatewayRuleActionConfigurationBundleStaticOverride
    Statically override the configuration bundle used for the matched request.
    weightedOverride AgentcoreGatewayRuleActionConfigurationBundleWeightedOverride
    Distribute the request across two configuration bundle versions by weight.
    static_override AgentcoreGatewayRuleActionConfigurationBundleStaticOverride
    Statically override the configuration bundle used for the matched request.
    weighted_override AgentcoreGatewayRuleActionConfigurationBundleWeightedOverride
    Distribute the request across two configuration bundle versions by weight.
    staticOverride Property Map
    Statically override the configuration bundle used for the matched request.
    weightedOverride Property Map
    Distribute the request across two configuration bundle versions by weight.

    AgentcoreGatewayRuleActionConfigurationBundleStaticOverride, AgentcoreGatewayRuleActionConfigurationBundleStaticOverrideArgs

    BundleArn string
    ARN of the configuration bundle to apply.
    BundleVersion string
    Version (UUID) of the configuration bundle to apply.
    BundleArn string
    ARN of the configuration bundle to apply.
    BundleVersion string
    Version (UUID) of the configuration bundle to apply.
    bundle_arn string
    ARN of the configuration bundle to apply.
    bundle_version string
    Version (UUID) of the configuration bundle to apply.
    bundleArn String
    ARN of the configuration bundle to apply.
    bundleVersion String
    Version (UUID) of the configuration bundle to apply.
    bundleArn string
    ARN of the configuration bundle to apply.
    bundleVersion string
    Version (UUID) of the configuration bundle to apply.
    bundle_arn str
    ARN of the configuration bundle to apply.
    bundle_version str
    Version (UUID) of the configuration bundle to apply.
    bundleArn String
    ARN of the configuration bundle to apply.
    bundleVersion String
    Version (UUID) of the configuration bundle to apply.

    AgentcoreGatewayRuleActionConfigurationBundleWeightedOverride, AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideArgs

    TrafficSplits []AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplit
    Exactly two trafficSplit blocks describing the two variants.
    traffic_splits list(object)
    Exactly two trafficSplit blocks describing the two variants.
    trafficSplits AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplit[]
    Exactly two trafficSplit blocks describing the two variants.
    trafficSplits List<Property Map>
    Exactly two trafficSplit blocks describing the two variants.

    AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplit, AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitArgs

    Name string
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    Weight int
    Percentage of traffic routed to this variant, between 1 and 99.
    ConfigurationBundle AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundle
    Reference to the configuration bundle for this variant.
    Description string
    Description of the rule. Between 1 and 256 characters.
    Metadata Dictionary<string, string>
    Up to 25 key/value metadata pairs describing this variant.
    Name string
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    Weight int
    Percentage of traffic routed to this variant, between 1 and 99.
    ConfigurationBundle AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundle
    Reference to the configuration bundle for this variant.
    Description string
    Description of the rule. Between 1 and 256 characters.
    Metadata map[string]string
    Up to 25 key/value metadata pairs describing this variant.
    name string
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    weight number
    Percentage of traffic routed to this variant, between 1 and 99.
    configuration_bundle object
    Reference to the configuration bundle for this variant.
    description string
    Description of the rule. Between 1 and 256 characters.
    metadata map(string)
    Up to 25 key/value metadata pairs describing this variant.
    name String
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    weight Integer
    Percentage of traffic routed to this variant, between 1 and 99.
    configurationBundle AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundle
    Reference to the configuration bundle for this variant.
    description String
    Description of the rule. Between 1 and 256 characters.
    metadata Map<String,String>
    Up to 25 key/value metadata pairs describing this variant.
    name string
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    weight number
    Percentage of traffic routed to this variant, between 1 and 99.
    configurationBundle AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundle
    Reference to the configuration bundle for this variant.
    description string
    Description of the rule. Between 1 and 256 characters.
    metadata {[key: string]: string}
    Up to 25 key/value metadata pairs describing this variant.
    name str
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    weight int
    Percentage of traffic routed to this variant, between 1 and 99.
    configuration_bundle AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundle
    Reference to the configuration bundle for this variant.
    description str
    Description of the rule. Between 1 and 256 characters.
    metadata Mapping[str, str]
    Up to 25 key/value metadata pairs describing this variant.
    name String
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    weight Number
    Percentage of traffic routed to this variant, between 1 and 99.
    configurationBundle Property Map
    Reference to the configuration bundle for this variant.
    description String
    Description of the rule. Between 1 and 256 characters.
    metadata Map<String>
    Up to 25 key/value metadata pairs describing this variant.

    AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundle, AgentcoreGatewayRuleActionConfigurationBundleWeightedOverrideTrafficSplitConfigurationBundleArgs

    BundleArn string
    ARN of the configuration bundle to apply.
    BundleVersion string
    Version (UUID) of the configuration bundle to apply.
    BundleArn string
    ARN of the configuration bundle to apply.
    BundleVersion string
    Version (UUID) of the configuration bundle to apply.
    bundle_arn string
    ARN of the configuration bundle to apply.
    bundle_version string
    Version (UUID) of the configuration bundle to apply.
    bundleArn String
    ARN of the configuration bundle to apply.
    bundleVersion String
    Version (UUID) of the configuration bundle to apply.
    bundleArn string
    ARN of the configuration bundle to apply.
    bundleVersion string
    Version (UUID) of the configuration bundle to apply.
    bundle_arn str
    ARN of the configuration bundle to apply.
    bundle_version str
    Version (UUID) of the configuration bundle to apply.
    bundleArn String
    ARN of the configuration bundle to apply.
    bundleVersion String
    Version (UUID) of the configuration bundle to apply.

    AgentcoreGatewayRuleActionRouteToTarget, AgentcoreGatewayRuleActionRouteToTargetArgs

    StaticRoute AgentcoreGatewayRuleActionRouteToTargetStaticRoute
    Route all matching requests to a single named gateway target.
    WeightedRoute AgentcoreGatewayRuleActionRouteToTargetWeightedRoute
    Distribute requests across two named targets by weight.
    StaticRoute AgentcoreGatewayRuleActionRouteToTargetStaticRoute
    Route all matching requests to a single named gateway target.
    WeightedRoute AgentcoreGatewayRuleActionRouteToTargetWeightedRoute
    Distribute requests across two named targets by weight.
    static_route object
    Route all matching requests to a single named gateway target.
    weighted_route object
    Distribute requests across two named targets by weight.
    staticRoute AgentcoreGatewayRuleActionRouteToTargetStaticRoute
    Route all matching requests to a single named gateway target.
    weightedRoute AgentcoreGatewayRuleActionRouteToTargetWeightedRoute
    Distribute requests across two named targets by weight.
    staticRoute AgentcoreGatewayRuleActionRouteToTargetStaticRoute
    Route all matching requests to a single named gateway target.
    weightedRoute AgentcoreGatewayRuleActionRouteToTargetWeightedRoute
    Distribute requests across two named targets by weight.
    static_route AgentcoreGatewayRuleActionRouteToTargetStaticRoute
    Route all matching requests to a single named gateway target.
    weighted_route AgentcoreGatewayRuleActionRouteToTargetWeightedRoute
    Distribute requests across two named targets by weight.
    staticRoute Property Map
    Route all matching requests to a single named gateway target.
    weightedRoute Property Map
    Distribute requests across two named targets by weight.

    AgentcoreGatewayRuleActionRouteToTargetStaticRoute, AgentcoreGatewayRuleActionRouteToTargetStaticRouteArgs

    TargetName string
    Name of the gateway target this variant points to.
    TargetName string
    Name of the gateway target this variant points to.
    target_name string
    Name of the gateway target this variant points to.
    targetName String
    Name of the gateway target this variant points to.
    targetName string
    Name of the gateway target this variant points to.
    target_name str
    Name of the gateway target this variant points to.
    targetName String
    Name of the gateway target this variant points to.

    AgentcoreGatewayRuleActionRouteToTargetWeightedRoute, AgentcoreGatewayRuleActionRouteToTargetWeightedRouteArgs

    TrafficSplits List<AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplit>
    Exactly two trafficSplit blocks describing the two variants.
    TrafficSplits []AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplit
    Exactly two trafficSplit blocks describing the two variants.
    traffic_splits list(object)
    Exactly two trafficSplit blocks describing the two variants.
    trafficSplits List<AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplit>
    Exactly two trafficSplit blocks describing the two variants.
    trafficSplits AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplit[]
    Exactly two trafficSplit blocks describing the two variants.
    traffic_splits Sequence[AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplit]
    Exactly two trafficSplit blocks describing the two variants.
    trafficSplits List<Property Map>
    Exactly two trafficSplit blocks describing the two variants.

    AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplit, AgentcoreGatewayRuleActionRouteToTargetWeightedRouteTrafficSplitArgs

    Name string
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    TargetName string
    Name of the gateway target this variant points to.
    Weight int
    Percentage of traffic routed to this variant, between 1 and 99.
    Description string
    Description of the rule. Between 1 and 256 characters.
    Metadata Dictionary<string, string>
    Up to 25 key/value metadata pairs describing this variant.
    Name string
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    TargetName string
    Name of the gateway target this variant points to.
    Weight int
    Percentage of traffic routed to this variant, between 1 and 99.
    Description string
    Description of the rule. Between 1 and 256 characters.
    Metadata map[string]string
    Up to 25 key/value metadata pairs describing this variant.
    name string
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    target_name string
    Name of the gateway target this variant points to.
    weight number
    Percentage of traffic routed to this variant, between 1 and 99.
    description string
    Description of the rule. Between 1 and 256 characters.
    metadata map(string)
    Up to 25 key/value metadata pairs describing this variant.
    name String
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    targetName String
    Name of the gateway target this variant points to.
    weight Integer
    Percentage of traffic routed to this variant, between 1 and 99.
    description String
    Description of the rule. Between 1 and 256 characters.
    metadata Map<String,String>
    Up to 25 key/value metadata pairs describing this variant.
    name string
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    targetName string
    Name of the gateway target this variant points to.
    weight number
    Percentage of traffic routed to this variant, between 1 and 99.
    description string
    Description of the rule. Between 1 and 256 characters.
    metadata {[key: string]: string}
    Up to 25 key/value metadata pairs describing this variant.
    name str
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    target_name str
    Name of the gateway target this variant points to.
    weight int
    Percentage of traffic routed to this variant, between 1 and 99.
    description str
    Description of the rule. Between 1 and 256 characters.
    metadata Mapping[str, str]
    Up to 25 key/value metadata pairs describing this variant.
    name String
    Name of this variant. Between 1 and 64 characters; alphanumeric with internal hyphens.
    targetName String
    Name of the gateway target this variant points to.
    weight Number
    Percentage of traffic routed to this variant, between 1 and 99.
    description String
    Description of the rule. Between 1 and 256 characters.
    metadata Map<String>
    Up to 25 key/value metadata pairs describing this variant.

    AgentcoreGatewayRuleCondition, AgentcoreGatewayRuleConditionArgs

    MatchPaths AgentcoreGatewayRuleConditionMatchPaths
    Match when the request path matches any of the supplied glob patterns (e.g. /api/*).
    MatchPrincipals AgentcoreGatewayRuleConditionMatchPrincipals
    Match when the caller's IAM identity matches any of the supplied principal entries.
    MatchPaths AgentcoreGatewayRuleConditionMatchPaths
    Match when the request path matches any of the supplied glob patterns (e.g. /api/*).
    MatchPrincipals AgentcoreGatewayRuleConditionMatchPrincipals
    Match when the caller's IAM identity matches any of the supplied principal entries.
    match_paths object
    Match when the request path matches any of the supplied glob patterns (e.g. /api/*).
    match_principals object
    Match when the caller's IAM identity matches any of the supplied principal entries.
    matchPaths AgentcoreGatewayRuleConditionMatchPaths
    Match when the request path matches any of the supplied glob patterns (e.g. /api/*).
    matchPrincipals AgentcoreGatewayRuleConditionMatchPrincipals
    Match when the caller's IAM identity matches any of the supplied principal entries.
    matchPaths AgentcoreGatewayRuleConditionMatchPaths
    Match when the request path matches any of the supplied glob patterns (e.g. /api/*).
    matchPrincipals AgentcoreGatewayRuleConditionMatchPrincipals
    Match when the caller's IAM identity matches any of the supplied principal entries.
    match_paths AgentcoreGatewayRuleConditionMatchPaths
    Match when the request path matches any of the supplied glob patterns (e.g. /api/*).
    match_principals AgentcoreGatewayRuleConditionMatchPrincipals
    Match when the caller's IAM identity matches any of the supplied principal entries.
    matchPaths Property Map
    Match when the request path matches any of the supplied glob patterns (e.g. /api/*).
    matchPrincipals Property Map
    Match when the caller's IAM identity matches any of the supplied principal entries.

    AgentcoreGatewayRuleConditionMatchPaths, AgentcoreGatewayRuleConditionMatchPathsArgs

    AnyOfs List<string>
    Between 1 and 100 principal entry blocks.
    AnyOfs []string
    Between 1 and 100 principal entry blocks.
    any_ofs list(string)
    Between 1 and 100 principal entry blocks.
    anyOfs List<String>
    Between 1 and 100 principal entry blocks.
    anyOfs string[]
    Between 1 and 100 principal entry blocks.
    any_ofs Sequence[str]
    Between 1 and 100 principal entry blocks.
    anyOfs List<String>
    Between 1 and 100 principal entry blocks.

    AgentcoreGatewayRuleConditionMatchPrincipals, AgentcoreGatewayRuleConditionMatchPrincipalsArgs

    AnyOfs List<AgentcoreGatewayRuleConditionMatchPrincipalsAnyOf>
    Between 1 and 100 principal entry blocks.
    AnyOfs []AgentcoreGatewayRuleConditionMatchPrincipalsAnyOf
    Between 1 and 100 principal entry blocks.
    any_ofs list(object)
    Between 1 and 100 principal entry blocks.
    anyOfs List<AgentcoreGatewayRuleConditionMatchPrincipalsAnyOf>
    Between 1 and 100 principal entry blocks.
    anyOfs AgentcoreGatewayRuleConditionMatchPrincipalsAnyOf[]
    Between 1 and 100 principal entry blocks.
    anyOfs List<Property Map>
    Between 1 and 100 principal entry blocks.

    AgentcoreGatewayRuleConditionMatchPrincipalsAnyOf, AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfArgs

    IamPrincipal AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipal
    Match an IAM user, role, or assumed-role ARN. Exactly one iamPrincipal block is required per entry.
    IamPrincipal AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipal
    Match an IAM user, role, or assumed-role ARN. Exactly one iamPrincipal block is required per entry.
    iam_principal object
    Match an IAM user, role, or assumed-role ARN. Exactly one iamPrincipal block is required per entry.
    iamPrincipal AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipal
    Match an IAM user, role, or assumed-role ARN. Exactly one iamPrincipal block is required per entry.
    iamPrincipal AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipal
    Match an IAM user, role, or assumed-role ARN. Exactly one iamPrincipal block is required per entry.
    iam_principal AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipal
    Match an IAM user, role, or assumed-role ARN. Exactly one iamPrincipal block is required per entry.
    iamPrincipal Property Map
    Match an IAM user, role, or assumed-role ARN. Exactly one iamPrincipal block is required per entry.

    AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipal, AgentcoreGatewayRuleConditionMatchPrincipalsAnyOfIamPrincipalArgs

    Arn string
    IAM principal ARN. Wildcards are allowed with the StringLike operator.
    Operator string
    Match operator, one of StringEquals or StringLike. Defaults to StringEquals.
    Arn string
    IAM principal ARN. Wildcards are allowed with the StringLike operator.
    Operator string
    Match operator, one of StringEquals or StringLike. Defaults to StringEquals.
    arn string
    IAM principal ARN. Wildcards are allowed with the StringLike operator.
    operator string
    Match operator, one of StringEquals or StringLike. Defaults to StringEquals.
    arn String
    IAM principal ARN. Wildcards are allowed with the StringLike operator.
    operator String
    Match operator, one of StringEquals or StringLike. Defaults to StringEquals.
    arn string
    IAM principal ARN. Wildcards are allowed with the StringLike operator.
    operator string
    Match operator, one of StringEquals or StringLike. Defaults to StringEquals.
    arn str
    IAM principal ARN. Wildcards are allowed with the StringLike operator.
    operator str
    Match operator, one of StringEquals or StringLike. Defaults to StringEquals.
    arn String
    IAM principal ARN. Wildcards are allowed with the StringLike operator.
    operator String
    Match operator, one of StringEquals or StringLike. Defaults to StringEquals.

    AgentcoreGatewayRuleSystem, AgentcoreGatewayRuleSystemArgs

    ManagedBy string
    Name of the system that manages the rule.
    ManagedBy string
    Name of the system that manages the rule.
    managed_by string
    Name of the system that manages the rule.
    managedBy String
    Name of the system that manages the rule.
    managedBy string
    Name of the system that manages the rule.
    managed_by str
    Name of the system that manages the rule.
    managedBy String
    Name of the system that manages the rule.

    AgentcoreGatewayRuleTimeouts, AgentcoreGatewayRuleTimeoutsArgs

    Create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    Update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    Update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

    Import

    Identity Schema

    Required

    • gatewayIdentifier (String) Identifier of the gateway.
    • ruleId (String) Identifier of the rule.

    Optional

    • accountId (String) AWS Account where this resource is managed.
    • region (String) Region where this resource is managed.

    Using pulumi import, import gateway rules using gatewayIdentifier and ruleId separated by a comma (,). For example:

    $ pulumi import aws:bedrock/agentcoreGatewayRule:AgentcoreGatewayRule example example-gateway-abcdef1234,11111111-2222-3333-4444-555555555555
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo aws logo
    Viewing docs for AWS v7.46.0
    published on Thursday, Sep 10, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial