1. Packages
  2. AWS
  3. API Docs
  4. bedrock
  5. AgentcoreGateway
Viewing docs for AWS v7.26.0
published on Thursday, Apr 16, 2026 by Pulumi
aws logo
Viewing docs for AWS v7.26.0
published on Thursday, Apr 16, 2026 by Pulumi

    Manages an AWS Bedrock AgentCore Gateway. With Gateway, developers can convert APIs, Lambda functions, and existing services into Model Context Protocol (MCP)-compatible tools.

    Example Usage

    Gateway with JWT Authorization

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const assumeRole = aws.iam.getPolicyDocument({
        statements: [{
            effect: "Allow",
            actions: ["sts:AssumeRole"],
            principals: [{
                type: "Service",
                identifiers: ["bedrock-agentcore.amazonaws.com"],
            }],
        }],
    });
    const example = new aws.iam.Role("example", {
        name: "bedrock-agentcore-gateway-role",
        assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json),
    });
    const exampleAgentcoreGateway = new aws.bedrock.AgentcoreGateway("example", {
        name: "example-gateway",
        roleArn: example.arn,
        authorizerType: "CUSTOM_JWT",
        authorizerConfiguration: {
            customJwtAuthorizer: {
                discoveryUrl: "https://accounts.google.com/.well-known/openid-configuration",
                allowedAudiences: [
                    "test1",
                    "test2",
                ],
            },
        },
        protocolType: "MCP",
    });
    
    import pulumi
    import pulumi_aws as aws
    
    assume_role = aws.iam.get_policy_document(statements=[{
        "effect": "Allow",
        "actions": ["sts:AssumeRole"],
        "principals": [{
            "type": "Service",
            "identifiers": ["bedrock-agentcore.amazonaws.com"],
        }],
    }])
    example = aws.iam.Role("example",
        name="bedrock-agentcore-gateway-role",
        assume_role_policy=assume_role.json)
    example_agentcore_gateway = aws.bedrock.AgentcoreGateway("example",
        name="example-gateway",
        role_arn=example.arn,
        authorizer_type="CUSTOM_JWT",
        authorizer_configuration={
            "custom_jwt_authorizer": {
                "discovery_url": "https://accounts.google.com/.well-known/openid-configuration",
                "allowed_audiences": [
                    "test1",
                    "test2",
                ],
            },
        },
        protocol_type="MCP")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/bedrock"
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
    			Statements: []iam.GetPolicyDocumentStatement{
    				{
    					Effect: pulumi.StringRef("Allow"),
    					Actions: []string{
    						"sts:AssumeRole",
    					},
    					Principals: []iam.GetPolicyDocumentStatementPrincipal{
    						{
    							Type: "Service",
    							Identifiers: []string{
    								"bedrock-agentcore.amazonaws.com",
    							},
    						},
    					},
    				},
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
    			Name:             pulumi.String("bedrock-agentcore-gateway-role"),
    			AssumeRolePolicy: pulumi.String(pulumi.String(assumeRole.Json)),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bedrock.NewAgentcoreGateway(ctx, "example", &bedrock.AgentcoreGatewayArgs{
    			Name:           pulumi.String("example-gateway"),
    			RoleArn:        example.Arn,
    			AuthorizerType: pulumi.String("CUSTOM_JWT"),
    			AuthorizerConfiguration: &bedrock.AgentcoreGatewayAuthorizerConfigurationArgs{
    				CustomJwtAuthorizer: &bedrock.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs{
    					DiscoveryUrl: pulumi.String("https://accounts.google.com/.well-known/openid-configuration"),
    					AllowedAudiences: pulumi.StringArray{
    						pulumi.String("test1"),
    						pulumi.String("test2"),
    					},
    				},
    			},
    			ProtocolType: pulumi.String("MCP"),
    		})
    		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 assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()
        {
            Statements = new[]
            {
                new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
                {
                    Effect = "Allow",
                    Actions = new[]
                    {
                        "sts:AssumeRole",
                    },
                    Principals = new[]
                    {
                        new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                        {
                            Type = "Service",
                            Identifiers = new[]
                            {
                                "bedrock-agentcore.amazonaws.com",
                            },
                        },
                    },
                },
            },
        });
    
        var example = new Aws.Iam.Role("example", new()
        {
            Name = "bedrock-agentcore-gateway-role",
            AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
        });
    
        var exampleAgentcoreGateway = new Aws.Bedrock.AgentcoreGateway("example", new()
        {
            Name = "example-gateway",
            RoleArn = example.Arn,
            AuthorizerType = "CUSTOM_JWT",
            AuthorizerConfiguration = new Aws.Bedrock.Inputs.AgentcoreGatewayAuthorizerConfigurationArgs
            {
                CustomJwtAuthorizer = new Aws.Bedrock.Inputs.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs
                {
                    DiscoveryUrl = "https://accounts.google.com/.well-known/openid-configuration",
                    AllowedAudiences = new[]
                    {
                        "test1",
                        "test2",
                    },
                },
            },
            ProtocolType = "MCP",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.iam.IamFunctions;
    import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
    import com.pulumi.aws.iam.Role;
    import com.pulumi.aws.iam.RoleArgs;
    import com.pulumi.aws.bedrock.AgentcoreGateway;
    import com.pulumi.aws.bedrock.AgentcoreGatewayArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayAuthorizerConfigurationArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                .statements(GetPolicyDocumentStatementArgs.builder()
                    .effect("Allow")
                    .actions("sts:AssumeRole")
                    .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                        .type("Service")
                        .identifiers("bedrock-agentcore.amazonaws.com")
                        .build())
                    .build())
                .build());
    
            var example = new Role("example", RoleArgs.builder()
                .name("bedrock-agentcore-gateway-role")
                .assumeRolePolicy(assumeRole.json())
                .build());
    
            var exampleAgentcoreGateway = new AgentcoreGateway("exampleAgentcoreGateway", AgentcoreGatewayArgs.builder()
                .name("example-gateway")
                .roleArn(example.arn())
                .authorizerType("CUSTOM_JWT")
                .authorizerConfiguration(AgentcoreGatewayAuthorizerConfigurationArgs.builder()
                    .customJwtAuthorizer(AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs.builder()
                        .discoveryUrl("https://accounts.google.com/.well-known/openid-configuration")
                        .allowedAudiences(                    
                            "test1",
                            "test2")
                        .build())
                    .build())
                .protocolType("MCP")
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:iam:Role
        properties:
          name: bedrock-agentcore-gateway-role
          assumeRolePolicy: ${assumeRole.json}
      exampleAgentcoreGateway:
        type: aws:bedrock:AgentcoreGateway
        name: example
        properties:
          name: example-gateway
          roleArn: ${example.arn}
          authorizerType: CUSTOM_JWT
          authorizerConfiguration:
            customJwtAuthorizer:
              discoveryUrl: https://accounts.google.com/.well-known/openid-configuration
              allowedAudiences:
                - test1
                - test2
          protocolType: MCP
    variables:
      assumeRole:
        fn::invoke:
          function: aws:iam:getPolicyDocument
          arguments:
            statements:
              - effect: Allow
                actions:
                  - sts:AssumeRole
                principals:
                  - type: Service
                    identifiers:
                      - bedrock-agentcore.amazonaws.com
    

    Gateway with advanced JWT Authorization and MCP Configuration

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.bedrock.AgentcoreGateway("example", {
        name: "mcp-gateway",
        description: "Gateway for MCP communication",
        roleArn: exampleAwsIamRole.arn,
        authorizerType: "CUSTOM_JWT",
        authorizerConfiguration: {
            customJwtAuthorizer: {
                discoveryUrl: "https://auth.example.com/.well-known/openid-configuration",
                allowedAudiences: [
                    "app-client",
                    "web-client",
                ],
                allowedClients: [
                    "client-123",
                    "client-456",
                ],
                allowedScopes: [
                    "openid",
                    "email",
                ],
            },
        },
        protocolType: "MCP",
        protocolConfiguration: {
            mcp: {
                instructions: "Gateway for handling MCP requests",
                searchType: "HYBRID",
                supportedVersions: [
                    "2025-03-26",
                    "2025-06-18",
                ],
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.bedrock.AgentcoreGateway("example",
        name="mcp-gateway",
        description="Gateway for MCP communication",
        role_arn=example_aws_iam_role["arn"],
        authorizer_type="CUSTOM_JWT",
        authorizer_configuration={
            "custom_jwt_authorizer": {
                "discovery_url": "https://auth.example.com/.well-known/openid-configuration",
                "allowed_audiences": [
                    "app-client",
                    "web-client",
                ],
                "allowed_clients": [
                    "client-123",
                    "client-456",
                ],
                "allowed_scopes": [
                    "openid",
                    "email",
                ],
            },
        },
        protocol_type="MCP",
        protocol_configuration={
            "mcp": {
                "instructions": "Gateway for handling MCP requests",
                "search_type": "HYBRID",
                "supported_versions": [
                    "2025-03-26",
                    "2025-06-18",
                ],
            },
        })
    
    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.NewAgentcoreGateway(ctx, "example", &bedrock.AgentcoreGatewayArgs{
    			Name:           pulumi.String("mcp-gateway"),
    			Description:    pulumi.String("Gateway for MCP communication"),
    			RoleArn:        pulumi.Any(exampleAwsIamRole.Arn),
    			AuthorizerType: pulumi.String("CUSTOM_JWT"),
    			AuthorizerConfiguration: &bedrock.AgentcoreGatewayAuthorizerConfigurationArgs{
    				CustomJwtAuthorizer: &bedrock.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs{
    					DiscoveryUrl: pulumi.String("https://auth.example.com/.well-known/openid-configuration"),
    					AllowedAudiences: pulumi.StringArray{
    						pulumi.String("app-client"),
    						pulumi.String("web-client"),
    					},
    					AllowedClients: pulumi.StringArray{
    						pulumi.String("client-123"),
    						pulumi.String("client-456"),
    					},
    					AllowedScopes: pulumi.StringArray{
    						pulumi.String("openid"),
    						pulumi.String("email"),
    					},
    				},
    			},
    			ProtocolType: pulumi.String("MCP"),
    			ProtocolConfiguration: &bedrock.AgentcoreGatewayProtocolConfigurationArgs{
    				Mcp: &bedrock.AgentcoreGatewayProtocolConfigurationMcpArgs{
    					Instructions: pulumi.String("Gateway for handling MCP requests"),
    					SearchType:   pulumi.String("HYBRID"),
    					SupportedVersions: pulumi.StringArray{
    						pulumi.String("2025-03-26"),
    						pulumi.String("2025-06-18"),
    					},
    				},
    			},
    		})
    		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.AgentcoreGateway("example", new()
        {
            Name = "mcp-gateway",
            Description = "Gateway for MCP communication",
            RoleArn = exampleAwsIamRole.Arn,
            AuthorizerType = "CUSTOM_JWT",
            AuthorizerConfiguration = new Aws.Bedrock.Inputs.AgentcoreGatewayAuthorizerConfigurationArgs
            {
                CustomJwtAuthorizer = new Aws.Bedrock.Inputs.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs
                {
                    DiscoveryUrl = "https://auth.example.com/.well-known/openid-configuration",
                    AllowedAudiences = new[]
                    {
                        "app-client",
                        "web-client",
                    },
                    AllowedClients = new[]
                    {
                        "client-123",
                        "client-456",
                    },
                    AllowedScopes = new[]
                    {
                        "openid",
                        "email",
                    },
                },
            },
            ProtocolType = "MCP",
            ProtocolConfiguration = new Aws.Bedrock.Inputs.AgentcoreGatewayProtocolConfigurationArgs
            {
                Mcp = new Aws.Bedrock.Inputs.AgentcoreGatewayProtocolConfigurationMcpArgs
                {
                    Instructions = "Gateway for handling MCP requests",
                    SearchType = "HYBRID",
                    SupportedVersions = new[]
                    {
                        "2025-03-26",
                        "2025-06-18",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.bedrock.AgentcoreGateway;
    import com.pulumi.aws.bedrock.AgentcoreGatewayArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayAuthorizerConfigurationArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayProtocolConfigurationArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayProtocolConfigurationMcpArgs;
    import java.util.List;
    import java.util.ArrayList;
    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 AgentcoreGateway("example", AgentcoreGatewayArgs.builder()
                .name("mcp-gateway")
                .description("Gateway for MCP communication")
                .roleArn(exampleAwsIamRole.arn())
                .authorizerType("CUSTOM_JWT")
                .authorizerConfiguration(AgentcoreGatewayAuthorizerConfigurationArgs.builder()
                    .customJwtAuthorizer(AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs.builder()
                        .discoveryUrl("https://auth.example.com/.well-known/openid-configuration")
                        .allowedAudiences(                    
                            "app-client",
                            "web-client")
                        .allowedClients(                    
                            "client-123",
                            "client-456")
                        .allowedScopes(                    
                            "openid",
                            "email")
                        .build())
                    .build())
                .protocolType("MCP")
                .protocolConfiguration(AgentcoreGatewayProtocolConfigurationArgs.builder()
                    .mcp(AgentcoreGatewayProtocolConfigurationMcpArgs.builder()
                        .instructions("Gateway for handling MCP requests")
                        .searchType("HYBRID")
                        .supportedVersions(                    
                            "2025-03-26",
                            "2025-06-18")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:bedrock:AgentcoreGateway
        properties:
          name: mcp-gateway
          description: Gateway for MCP communication
          roleArn: ${exampleAwsIamRole.arn}
          authorizerType: CUSTOM_JWT
          authorizerConfiguration:
            customJwtAuthorizer:
              discoveryUrl: https://auth.example.com/.well-known/openid-configuration
              allowedAudiences:
                - app-client
                - web-client
              allowedClients:
                - client-123
                - client-456
              allowedScopes:
                - openid
                - email
          protocolType: MCP
          protocolConfiguration:
            mcp:
              instructions: Gateway for handling MCP requests
              searchType: HYBRID
              supportedVersions:
                - 2025-03-26
                - 2025-06-18
    

    Gateway with Interceptor Configuration

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const interceptor = new aws.lambda.Function("interceptor", {
        code: new pulumi.asset.FileArchive("interceptor.zip"),
        name: "gateway-interceptor",
        role: lambda.arn,
        handler: "index.handler",
        runtime: aws.lambda.Runtime.Python3d12,
    });
    const example = new aws.bedrock.AgentcoreGateway("example", {
        name: "gateway-with-interceptor",
        roleArn: exampleAwsIamRole.arn,
        authorizerType: "AWS_IAM",
        protocolType: "MCP",
        interceptorConfigurations: [{
            interceptionPoints: [
                "REQUEST",
                "RESPONSE",
            ],
            interceptor: {
                lambda: {
                    arn: interceptor.arn,
                },
            },
            inputConfiguration: {
                passRequestHeaders: true,
            },
        }],
    });
    
    import pulumi
    import pulumi_aws as aws
    
    interceptor = aws.lambda_.Function("interceptor",
        code=pulumi.FileArchive("interceptor.zip"),
        name="gateway-interceptor",
        role=lambda_["arn"],
        handler="index.handler",
        runtime=aws.lambda_.Runtime.PYTHON3D12)
    example = aws.bedrock.AgentcoreGateway("example",
        name="gateway-with-interceptor",
        role_arn=example_aws_iam_role["arn"],
        authorizer_type="AWS_IAM",
        protocol_type="MCP",
        interceptor_configurations=[{
            "interception_points": [
                "REQUEST",
                "RESPONSE",
            ],
            "interceptor": {
                "lambda_": {
                    "arn": interceptor.arn,
                },
            },
            "input_configuration": {
                "pass_request_headers": True,
            },
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/bedrock"
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		interceptor, err := lambda.NewFunction(ctx, "interceptor", &lambda.FunctionArgs{
    			Code:    pulumi.NewFileArchive("interceptor.zip"),
    			Name:    pulumi.String("gateway-interceptor"),
    			Role:    pulumi.Any(lambda.Arn),
    			Handler: pulumi.String("index.handler"),
    			Runtime: pulumi.String(lambda.RuntimePython3d12),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bedrock.NewAgentcoreGateway(ctx, "example", &bedrock.AgentcoreGatewayArgs{
    			Name:           pulumi.String("gateway-with-interceptor"),
    			RoleArn:        pulumi.Any(exampleAwsIamRole.Arn),
    			AuthorizerType: pulumi.String("AWS_IAM"),
    			ProtocolType:   pulumi.String("MCP"),
    			InterceptorConfigurations: bedrock.AgentcoreGatewayInterceptorConfigurationArray{
    				&bedrock.AgentcoreGatewayInterceptorConfigurationArgs{
    					InterceptionPoints: pulumi.StringArray{
    						pulumi.String("REQUEST"),
    						pulumi.String("RESPONSE"),
    					},
    					Interceptor: &bedrock.AgentcoreGatewayInterceptorConfigurationInterceptorArgs{
    						Lambda: &bedrock.AgentcoreGatewayInterceptorConfigurationInterceptorLambdaArgs{
    							Arn: interceptor.Arn,
    						},
    					},
    					InputConfiguration: &bedrock.AgentcoreGatewayInterceptorConfigurationInputConfigurationArgs{
    						PassRequestHeaders: pulumi.Bool(true),
    					},
    				},
    			},
    		})
    		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 interceptor = new Aws.Lambda.Function("interceptor", new()
        {
            Code = new FileArchive("interceptor.zip"),
            Name = "gateway-interceptor",
            Role = lambda.Arn,
            Handler = "index.handler",
            Runtime = Aws.Lambda.Runtime.Python3d12,
        });
    
        var example = new Aws.Bedrock.AgentcoreGateway("example", new()
        {
            Name = "gateway-with-interceptor",
            RoleArn = exampleAwsIamRole.Arn,
            AuthorizerType = "AWS_IAM",
            ProtocolType = "MCP",
            InterceptorConfigurations = new[]
            {
                new Aws.Bedrock.Inputs.AgentcoreGatewayInterceptorConfigurationArgs
                {
                    InterceptionPoints = new[]
                    {
                        "REQUEST",
                        "RESPONSE",
                    },
                    Interceptor = new Aws.Bedrock.Inputs.AgentcoreGatewayInterceptorConfigurationInterceptorArgs
                    {
                        Lambda = new Aws.Bedrock.Inputs.AgentcoreGatewayInterceptorConfigurationInterceptorLambdaArgs
                        {
                            Arn = interceptor.Arn,
                        },
                    },
                    InputConfiguration = new Aws.Bedrock.Inputs.AgentcoreGatewayInterceptorConfigurationInputConfigurationArgs
                    {
                        PassRequestHeaders = true,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.lambda.Function;
    import com.pulumi.aws.lambda.FunctionArgs;
    import com.pulumi.aws.bedrock.AgentcoreGateway;
    import com.pulumi.aws.bedrock.AgentcoreGatewayArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayInterceptorConfigurationArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayInterceptorConfigurationInterceptorArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayInterceptorConfigurationInterceptorLambdaArgs;
    import com.pulumi.aws.bedrock.inputs.AgentcoreGatewayInterceptorConfigurationInputConfigurationArgs;
    import com.pulumi.asset.FileArchive;
    import java.util.List;
    import java.util.ArrayList;
    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 interceptor = new Function("interceptor", FunctionArgs.builder()
                .code(new FileArchive("interceptor.zip"))
                .name("gateway-interceptor")
                .role(lambda.arn())
                .handler("index.handler")
                .runtime("python3.12")
                .build());
    
            var example = new AgentcoreGateway("example", AgentcoreGatewayArgs.builder()
                .name("gateway-with-interceptor")
                .roleArn(exampleAwsIamRole.arn())
                .authorizerType("AWS_IAM")
                .protocolType("MCP")
                .interceptorConfigurations(AgentcoreGatewayInterceptorConfigurationArgs.builder()
                    .interceptionPoints(                
                        "REQUEST",
                        "RESPONSE")
                    .interceptor(AgentcoreGatewayInterceptorConfigurationInterceptorArgs.builder()
                        .lambda(AgentcoreGatewayInterceptorConfigurationInterceptorLambdaArgs.builder()
                            .arn(interceptor.arn())
                            .build())
                        .build())
                    .inputConfiguration(AgentcoreGatewayInterceptorConfigurationInputConfigurationArgs.builder()
                        .passRequestHeaders(true)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      interceptor:
        type: aws:lambda:Function
        properties:
          code:
            fn::FileArchive: interceptor.zip
          name: gateway-interceptor
          role: ${lambda.arn}
          handler: index.handler
          runtime: python3.12
      example:
        type: aws:bedrock:AgentcoreGateway
        properties:
          name: gateway-with-interceptor
          roleArn: ${exampleAwsIamRole.arn}
          authorizerType: AWS_IAM
          protocolType: MCP
          interceptorConfigurations:
            - interceptionPoints:
                - REQUEST
                - RESPONSE
              interceptor:
                lambda:
                  arn: ${interceptor.arn}
              inputConfiguration:
                passRequestHeaders: true
    

    Create AgentcoreGateway Resource

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

    Constructor syntax

    new AgentcoreGateway(name: string, args: AgentcoreGatewayArgs, opts?: CustomResourceOptions);
    @overload
    def AgentcoreGateway(resource_name: str,
                         args: AgentcoreGatewayArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def AgentcoreGateway(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         protocol_type: Optional[str] = None,
                         authorizer_type: Optional[str] = None,
                         role_arn: Optional[str] = None,
                         name: Optional[str] = None,
                         interceptor_configurations: Optional[Sequence[AgentcoreGatewayInterceptorConfigurationArgs]] = None,
                         kms_key_arn: Optional[str] = None,
                         authorizer_configuration: Optional[AgentcoreGatewayAuthorizerConfigurationArgs] = None,
                         protocol_configuration: Optional[AgentcoreGatewayProtocolConfigurationArgs] = None,
                         exception_level: Optional[str] = None,
                         region: Optional[str] = None,
                         description: Optional[str] = None,
                         tags: Optional[Mapping[str, str]] = None,
                         timeouts: Optional[AgentcoreGatewayTimeoutsArgs] = None)
    func NewAgentcoreGateway(ctx *Context, name string, args AgentcoreGatewayArgs, opts ...ResourceOption) (*AgentcoreGateway, error)
    public AgentcoreGateway(string name, AgentcoreGatewayArgs args, CustomResourceOptions? opts = null)
    public AgentcoreGateway(String name, AgentcoreGatewayArgs args)
    public AgentcoreGateway(String name, AgentcoreGatewayArgs args, CustomResourceOptions options)
    
    type: aws:bedrock:AgentcoreGateway
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args AgentcoreGatewayArgs
    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 AgentcoreGatewayArgs
    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 AgentcoreGatewayArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AgentcoreGatewayArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AgentcoreGatewayArgs
    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 agentcoreGatewayResource = new Aws.Bedrock.AgentcoreGateway("agentcoreGatewayResource", new()
    {
        ProtocolType = "string",
        AuthorizerType = "string",
        RoleArn = "string",
        Name = "string",
        InterceptorConfigurations = new[]
        {
            new Aws.Bedrock.Inputs.AgentcoreGatewayInterceptorConfigurationArgs
            {
                InterceptionPoints = new[]
                {
                    "string",
                },
                InputConfiguration = new Aws.Bedrock.Inputs.AgentcoreGatewayInterceptorConfigurationInputConfigurationArgs
                {
                    PassRequestHeaders = false,
                },
                Interceptor = new Aws.Bedrock.Inputs.AgentcoreGatewayInterceptorConfigurationInterceptorArgs
                {
                    Lambda = new Aws.Bedrock.Inputs.AgentcoreGatewayInterceptorConfigurationInterceptorLambdaArgs
                    {
                        Arn = "string",
                    },
                },
            },
        },
        KmsKeyArn = "string",
        AuthorizerConfiguration = new Aws.Bedrock.Inputs.AgentcoreGatewayAuthorizerConfigurationArgs
        {
            CustomJwtAuthorizer = new Aws.Bedrock.Inputs.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs
            {
                DiscoveryUrl = "string",
                AllowedAudiences = new[]
                {
                    "string",
                },
                AllowedClients = new[]
                {
                    "string",
                },
                AllowedScopes = new[]
                {
                    "string",
                },
                CustomClaims = new[]
                {
                    new Aws.Bedrock.Inputs.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimArgs
                    {
                        AuthorizingClaimMatchValue = new Aws.Bedrock.Inputs.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueArgs
                        {
                            ClaimMatchOperator = "string",
                            ClaimMatchValue = new Aws.Bedrock.Inputs.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValueArgs
                            {
                                MatchValueString = "string",
                                MatchValueStringLists = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        InboundTokenClaimName = "string",
                        InboundTokenClaimValueType = "string",
                    },
                },
            },
        },
        ProtocolConfiguration = new Aws.Bedrock.Inputs.AgentcoreGatewayProtocolConfigurationArgs
        {
            Mcp = new Aws.Bedrock.Inputs.AgentcoreGatewayProtocolConfigurationMcpArgs
            {
                Instructions = "string",
                SearchType = "string",
                SupportedVersions = new[]
                {
                    "string",
                },
            },
        },
        ExceptionLevel = "string",
        Region = "string",
        Description = "string",
        Tags = 
        {
            { "string", "string" },
        },
        Timeouts = new Aws.Bedrock.Inputs.AgentcoreGatewayTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
    });
    
    example, err := bedrock.NewAgentcoreGateway(ctx, "agentcoreGatewayResource", &bedrock.AgentcoreGatewayArgs{
    	ProtocolType:   pulumi.String("string"),
    	AuthorizerType: pulumi.String("string"),
    	RoleArn:        pulumi.String("string"),
    	Name:           pulumi.String("string"),
    	InterceptorConfigurations: bedrock.AgentcoreGatewayInterceptorConfigurationArray{
    		&bedrock.AgentcoreGatewayInterceptorConfigurationArgs{
    			InterceptionPoints: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			InputConfiguration: &bedrock.AgentcoreGatewayInterceptorConfigurationInputConfigurationArgs{
    				PassRequestHeaders: pulumi.Bool(false),
    			},
    			Interceptor: &bedrock.AgentcoreGatewayInterceptorConfigurationInterceptorArgs{
    				Lambda: &bedrock.AgentcoreGatewayInterceptorConfigurationInterceptorLambdaArgs{
    					Arn: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	KmsKeyArn: pulumi.String("string"),
    	AuthorizerConfiguration: &bedrock.AgentcoreGatewayAuthorizerConfigurationArgs{
    		CustomJwtAuthorizer: &bedrock.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs{
    			DiscoveryUrl: pulumi.String("string"),
    			AllowedAudiences: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			AllowedClients: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			AllowedScopes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			CustomClaims: bedrock.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimArray{
    				&bedrock.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimArgs{
    					AuthorizingClaimMatchValue: &bedrock.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueArgs{
    						ClaimMatchOperator: pulumi.String("string"),
    						ClaimMatchValue: &bedrock.AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValueArgs{
    							MatchValueString: pulumi.String("string"),
    							MatchValueStringLists: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					InboundTokenClaimName:      pulumi.String("string"),
    					InboundTokenClaimValueType: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	ProtocolConfiguration: &bedrock.AgentcoreGatewayProtocolConfigurationArgs{
    		Mcp: &bedrock.AgentcoreGatewayProtocolConfigurationMcpArgs{
    			Instructions: pulumi.String("string"),
    			SearchType:   pulumi.String("string"),
    			SupportedVersions: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	ExceptionLevel: pulumi.String("string"),
    	Region:         pulumi.String("string"),
    	Description:    pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Timeouts: &bedrock.AgentcoreGatewayTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    })
    
    var agentcoreGatewayResource = new AgentcoreGateway("agentcoreGatewayResource", AgentcoreGatewayArgs.builder()
        .protocolType("string")
        .authorizerType("string")
        .roleArn("string")
        .name("string")
        .interceptorConfigurations(AgentcoreGatewayInterceptorConfigurationArgs.builder()
            .interceptionPoints("string")
            .inputConfiguration(AgentcoreGatewayInterceptorConfigurationInputConfigurationArgs.builder()
                .passRequestHeaders(false)
                .build())
            .interceptor(AgentcoreGatewayInterceptorConfigurationInterceptorArgs.builder()
                .lambda(AgentcoreGatewayInterceptorConfigurationInterceptorLambdaArgs.builder()
                    .arn("string")
                    .build())
                .build())
            .build())
        .kmsKeyArn("string")
        .authorizerConfiguration(AgentcoreGatewayAuthorizerConfigurationArgs.builder()
            .customJwtAuthorizer(AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs.builder()
                .discoveryUrl("string")
                .allowedAudiences("string")
                .allowedClients("string")
                .allowedScopes("string")
                .customClaims(AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimArgs.builder()
                    .authorizingClaimMatchValue(AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueArgs.builder()
                        .claimMatchOperator("string")
                        .claimMatchValue(AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValueArgs.builder()
                            .matchValueString("string")
                            .matchValueStringLists("string")
                            .build())
                        .build())
                    .inboundTokenClaimName("string")
                    .inboundTokenClaimValueType("string")
                    .build())
                .build())
            .build())
        .protocolConfiguration(AgentcoreGatewayProtocolConfigurationArgs.builder()
            .mcp(AgentcoreGatewayProtocolConfigurationMcpArgs.builder()
                .instructions("string")
                .searchType("string")
                .supportedVersions("string")
                .build())
            .build())
        .exceptionLevel("string")
        .region("string")
        .description("string")
        .tags(Map.of("string", "string"))
        .timeouts(AgentcoreGatewayTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .build());
    
    agentcore_gateway_resource = aws.bedrock.AgentcoreGateway("agentcoreGatewayResource",
        protocol_type="string",
        authorizer_type="string",
        role_arn="string",
        name="string",
        interceptor_configurations=[{
            "interception_points": ["string"],
            "input_configuration": {
                "pass_request_headers": False,
            },
            "interceptor": {
                "lambda_": {
                    "arn": "string",
                },
            },
        }],
        kms_key_arn="string",
        authorizer_configuration={
            "custom_jwt_authorizer": {
                "discovery_url": "string",
                "allowed_audiences": ["string"],
                "allowed_clients": ["string"],
                "allowed_scopes": ["string"],
                "custom_claims": [{
                    "authorizing_claim_match_value": {
                        "claim_match_operator": "string",
                        "claim_match_value": {
                            "match_value_string": "string",
                            "match_value_string_lists": ["string"],
                        },
                    },
                    "inbound_token_claim_name": "string",
                    "inbound_token_claim_value_type": "string",
                }],
            },
        },
        protocol_configuration={
            "mcp": {
                "instructions": "string",
                "search_type": "string",
                "supported_versions": ["string"],
            },
        },
        exception_level="string",
        region="string",
        description="string",
        tags={
            "string": "string",
        },
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        })
    
    const agentcoreGatewayResource = new aws.bedrock.AgentcoreGateway("agentcoreGatewayResource", {
        protocolType: "string",
        authorizerType: "string",
        roleArn: "string",
        name: "string",
        interceptorConfigurations: [{
            interceptionPoints: ["string"],
            inputConfiguration: {
                passRequestHeaders: false,
            },
            interceptor: {
                lambda: {
                    arn: "string",
                },
            },
        }],
        kmsKeyArn: "string",
        authorizerConfiguration: {
            customJwtAuthorizer: {
                discoveryUrl: "string",
                allowedAudiences: ["string"],
                allowedClients: ["string"],
                allowedScopes: ["string"],
                customClaims: [{
                    authorizingClaimMatchValue: {
                        claimMatchOperator: "string",
                        claimMatchValue: {
                            matchValueString: "string",
                            matchValueStringLists: ["string"],
                        },
                    },
                    inboundTokenClaimName: "string",
                    inboundTokenClaimValueType: "string",
                }],
            },
        },
        protocolConfiguration: {
            mcp: {
                instructions: "string",
                searchType: "string",
                supportedVersions: ["string"],
            },
        },
        exceptionLevel: "string",
        region: "string",
        description: "string",
        tags: {
            string: "string",
        },
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
    });
    
    type: aws:bedrock:AgentcoreGateway
    properties:
        authorizerConfiguration:
            customJwtAuthorizer:
                allowedAudiences:
                    - string
                allowedClients:
                    - string
                allowedScopes:
                    - string
                customClaims:
                    - authorizingClaimMatchValue:
                        claimMatchOperator: string
                        claimMatchValue:
                            matchValueString: string
                            matchValueStringLists:
                                - string
                      inboundTokenClaimName: string
                      inboundTokenClaimValueType: string
                discoveryUrl: string
        authorizerType: string
        description: string
        exceptionLevel: string
        interceptorConfigurations:
            - inputConfiguration:
                passRequestHeaders: false
              interceptionPoints:
                - string
              interceptor:
                lambda:
                    arn: string
        kmsKeyArn: string
        name: string
        protocolConfiguration:
            mcp:
                instructions: string
                searchType: string
                supportedVersions:
                    - string
        protocolType: string
        region: string
        roleArn: string
        tags:
            string: string
        timeouts:
            create: string
            delete: string
            update: string
    

    AgentcoreGateway 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 AgentcoreGateway resource accepts the following input properties:

    AuthorizerType string
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    ProtocolType string
    Protocol type for the gateway. Valid values: MCP.
    RoleArn string

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    AuthorizerConfiguration AgentcoreGatewayAuthorizerConfiguration
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    Description string
    Description of the gateway.
    ExceptionLevel string
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    InterceptorConfigurations List<AgentcoreGatewayInterceptorConfiguration>
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    KmsKeyArn string
    ARN of the KMS key used to encrypt the gateway data.
    Name string
    Name of the gateway.
    ProtocolConfiguration AgentcoreGatewayProtocolConfiguration
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Tags Dictionary<string, string>
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    Timeouts AgentcoreGatewayTimeouts
    AuthorizerType string
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    ProtocolType string
    Protocol type for the gateway. Valid values: MCP.
    RoleArn string

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    AuthorizerConfiguration AgentcoreGatewayAuthorizerConfigurationArgs
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    Description string
    Description of the gateway.
    ExceptionLevel string
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    InterceptorConfigurations []AgentcoreGatewayInterceptorConfigurationArgs
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    KmsKeyArn string
    ARN of the KMS key used to encrypt the gateway data.
    Name string
    Name of the gateway.
    ProtocolConfiguration AgentcoreGatewayProtocolConfigurationArgs
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Tags map[string]string
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    Timeouts AgentcoreGatewayTimeoutsArgs
    authorizerType String
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    protocolType String
    Protocol type for the gateway. Valid values: MCP.
    roleArn String

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    authorizerConfiguration AgentcoreGatewayAuthorizerConfiguration
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    description String
    Description of the gateway.
    exceptionLevel String
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    interceptorConfigurations List<AgentcoreGatewayInterceptorConfiguration>
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    kmsKeyArn String
    ARN of the KMS key used to encrypt the gateway data.
    name String
    Name of the gateway.
    protocolConfiguration AgentcoreGatewayProtocolConfiguration
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Map<String,String>
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeouts AgentcoreGatewayTimeouts
    authorizerType string
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    protocolType string
    Protocol type for the gateway. Valid values: MCP.
    roleArn string

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    authorizerConfiguration AgentcoreGatewayAuthorizerConfiguration
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    description string
    Description of the gateway.
    exceptionLevel string
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    interceptorConfigurations AgentcoreGatewayInterceptorConfiguration[]
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    kmsKeyArn string
    ARN of the KMS key used to encrypt the gateway data.
    name string
    Name of the gateway.
    protocolConfiguration AgentcoreGatewayProtocolConfiguration
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags {[key: string]: string}
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeouts AgentcoreGatewayTimeouts
    authorizer_type str
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    protocol_type str
    Protocol type for the gateway. Valid values: MCP.
    role_arn str

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    authorizer_configuration AgentcoreGatewayAuthorizerConfigurationArgs
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    description str
    Description of the gateway.
    exception_level str
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    interceptor_configurations Sequence[AgentcoreGatewayInterceptorConfigurationArgs]
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    kms_key_arn str
    ARN of the KMS key used to encrypt the gateway data.
    name str
    Name of the gateway.
    protocol_configuration AgentcoreGatewayProtocolConfigurationArgs
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Mapping[str, str]
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeouts AgentcoreGatewayTimeoutsArgs
    authorizerType String
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    protocolType String
    Protocol type for the gateway. Valid values: MCP.
    roleArn String

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    authorizerConfiguration Property Map
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    description String
    Description of the gateway.
    exceptionLevel String
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    interceptorConfigurations List<Property Map>
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    kmsKeyArn String
    ARN of the KMS key used to encrypt the gateway data.
    name String
    Name of the gateway.
    protocolConfiguration Property Map
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Map<String>
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeouts Property Map

    Outputs

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

    GatewayArn string
    ARN of the Gateway.
    GatewayId string
    Unique identifier of the Gateway.
    GatewayUrl string
    URL endpoint for the gateway.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    WorkloadIdentityDetails List<AgentcoreGatewayWorkloadIdentityDetail>
    Workload identity details for the gateway. See workloadIdentityDetails below.
    GatewayArn string
    ARN of the Gateway.
    GatewayId string
    Unique identifier of the Gateway.
    GatewayUrl string
    URL endpoint for the gateway.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    WorkloadIdentityDetails []AgentcoreGatewayWorkloadIdentityDetail
    Workload identity details for the gateway. See workloadIdentityDetails below.
    gatewayArn String
    ARN of the Gateway.
    gatewayId String
    Unique identifier of the Gateway.
    gatewayUrl String
    URL endpoint for the gateway.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    workloadIdentityDetails List<AgentcoreGatewayWorkloadIdentityDetail>
    Workload identity details for the gateway. See workloadIdentityDetails below.
    gatewayArn string
    ARN of the Gateway.
    gatewayId string
    Unique identifier of the Gateway.
    gatewayUrl string
    URL endpoint for the gateway.
    id string
    The provider-assigned unique ID for this managed resource.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    workloadIdentityDetails AgentcoreGatewayWorkloadIdentityDetail[]
    Workload identity details for the gateway. See workloadIdentityDetails below.
    gateway_arn str
    ARN of the Gateway.
    gateway_id str
    Unique identifier of the Gateway.
    gateway_url str
    URL endpoint for the gateway.
    id str
    The provider-assigned unique ID for this managed resource.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    workload_identity_details Sequence[AgentcoreGatewayWorkloadIdentityDetail]
    Workload identity details for the gateway. See workloadIdentityDetails below.
    gatewayArn String
    ARN of the Gateway.
    gatewayId String
    Unique identifier of the Gateway.
    gatewayUrl String
    URL endpoint for the gateway.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    workloadIdentityDetails List<Property Map>
    Workload identity details for the gateway. See workloadIdentityDetails below.

    Look up Existing AgentcoreGateway Resource

    Get an existing AgentcoreGateway 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?: AgentcoreGatewayState, opts?: CustomResourceOptions): AgentcoreGateway
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            authorizer_configuration: Optional[AgentcoreGatewayAuthorizerConfigurationArgs] = None,
            authorizer_type: Optional[str] = None,
            description: Optional[str] = None,
            exception_level: Optional[str] = None,
            gateway_arn: Optional[str] = None,
            gateway_id: Optional[str] = None,
            gateway_url: Optional[str] = None,
            interceptor_configurations: Optional[Sequence[AgentcoreGatewayInterceptorConfigurationArgs]] = None,
            kms_key_arn: Optional[str] = None,
            name: Optional[str] = None,
            protocol_configuration: Optional[AgentcoreGatewayProtocolConfigurationArgs] = None,
            protocol_type: Optional[str] = None,
            region: Optional[str] = None,
            role_arn: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            timeouts: Optional[AgentcoreGatewayTimeoutsArgs] = None,
            workload_identity_details: Optional[Sequence[AgentcoreGatewayWorkloadIdentityDetailArgs]] = None) -> AgentcoreGateway
    func GetAgentcoreGateway(ctx *Context, name string, id IDInput, state *AgentcoreGatewayState, opts ...ResourceOption) (*AgentcoreGateway, error)
    public static AgentcoreGateway Get(string name, Input<string> id, AgentcoreGatewayState? state, CustomResourceOptions? opts = null)
    public static AgentcoreGateway get(String name, Output<String> id, AgentcoreGatewayState state, CustomResourceOptions options)
    resources:  _:    type: aws:bedrock:AgentcoreGateway    get:      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:
    AuthorizerConfiguration AgentcoreGatewayAuthorizerConfiguration
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    AuthorizerType string
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    Description string
    Description of the gateway.
    ExceptionLevel string
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    GatewayArn string
    ARN of the Gateway.
    GatewayId string
    Unique identifier of the Gateway.
    GatewayUrl string
    URL endpoint for the gateway.
    InterceptorConfigurations List<AgentcoreGatewayInterceptorConfiguration>
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    KmsKeyArn string
    ARN of the KMS key used to encrypt the gateway data.
    Name string
    Name of the gateway.
    ProtocolConfiguration AgentcoreGatewayProtocolConfiguration
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    ProtocolType string
    Protocol type for the gateway. Valid values: MCP.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    RoleArn string

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    Tags Dictionary<string, string>
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    Timeouts AgentcoreGatewayTimeouts
    WorkloadIdentityDetails List<AgentcoreGatewayWorkloadIdentityDetail>
    Workload identity details for the gateway. See workloadIdentityDetails below.
    AuthorizerConfiguration AgentcoreGatewayAuthorizerConfigurationArgs
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    AuthorizerType string
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    Description string
    Description of the gateway.
    ExceptionLevel string
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    GatewayArn string
    ARN of the Gateway.
    GatewayId string
    Unique identifier of the Gateway.
    GatewayUrl string
    URL endpoint for the gateway.
    InterceptorConfigurations []AgentcoreGatewayInterceptorConfigurationArgs
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    KmsKeyArn string
    ARN of the KMS key used to encrypt the gateway data.
    Name string
    Name of the gateway.
    ProtocolConfiguration AgentcoreGatewayProtocolConfigurationArgs
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    ProtocolType string
    Protocol type for the gateway. Valid values: MCP.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    RoleArn string

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    Tags map[string]string
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    Timeouts AgentcoreGatewayTimeoutsArgs
    WorkloadIdentityDetails []AgentcoreGatewayWorkloadIdentityDetailArgs
    Workload identity details for the gateway. See workloadIdentityDetails below.
    authorizerConfiguration AgentcoreGatewayAuthorizerConfiguration
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    authorizerType String
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    description String
    Description of the gateway.
    exceptionLevel String
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    gatewayArn String
    ARN of the Gateway.
    gatewayId String
    Unique identifier of the Gateway.
    gatewayUrl String
    URL endpoint for the gateway.
    interceptorConfigurations List<AgentcoreGatewayInterceptorConfiguration>
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    kmsKeyArn String
    ARN of the KMS key used to encrypt the gateway data.
    name String
    Name of the gateway.
    protocolConfiguration AgentcoreGatewayProtocolConfiguration
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    protocolType String
    Protocol type for the gateway. Valid values: MCP.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    roleArn String

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    tags Map<String,String>
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    timeouts AgentcoreGatewayTimeouts
    workloadIdentityDetails List<AgentcoreGatewayWorkloadIdentityDetail>
    Workload identity details for the gateway. See workloadIdentityDetails below.
    authorizerConfiguration AgentcoreGatewayAuthorizerConfiguration
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    authorizerType string
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    description string
    Description of the gateway.
    exceptionLevel string
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    gatewayArn string
    ARN of the Gateway.
    gatewayId string
    Unique identifier of the Gateway.
    gatewayUrl string
    URL endpoint for the gateway.
    interceptorConfigurations AgentcoreGatewayInterceptorConfiguration[]
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    kmsKeyArn string
    ARN of the KMS key used to encrypt the gateway data.
    name string
    Name of the gateway.
    protocolConfiguration AgentcoreGatewayProtocolConfiguration
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    protocolType string
    Protocol type for the gateway. Valid values: MCP.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    roleArn string

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    tags {[key: string]: string}
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    timeouts AgentcoreGatewayTimeouts
    workloadIdentityDetails AgentcoreGatewayWorkloadIdentityDetail[]
    Workload identity details for the gateway. See workloadIdentityDetails below.
    authorizer_configuration AgentcoreGatewayAuthorizerConfigurationArgs
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    authorizer_type str
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    description str
    Description of the gateway.
    exception_level str
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    gateway_arn str
    ARN of the Gateway.
    gateway_id str
    Unique identifier of the Gateway.
    gateway_url str
    URL endpoint for the gateway.
    interceptor_configurations Sequence[AgentcoreGatewayInterceptorConfigurationArgs]
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    kms_key_arn str
    ARN of the KMS key used to encrypt the gateway data.
    name str
    Name of the gateway.
    protocol_configuration AgentcoreGatewayProtocolConfigurationArgs
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    protocol_type str
    Protocol type for the gateway. Valid values: MCP.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    role_arn str

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    tags Mapping[str, str]
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    timeouts AgentcoreGatewayTimeoutsArgs
    workload_identity_details Sequence[AgentcoreGatewayWorkloadIdentityDetailArgs]
    Workload identity details for the gateway. See workloadIdentityDetails below.
    authorizerConfiguration Property Map
    Configuration for request authorization. Required when authorizerType is set to CUSTOM_JWT. See authorizerConfiguration below.
    authorizerType String
    Type of authorizer to use. Valid values: CUSTOM_JWT, AWS_IAM. When set to CUSTOM_JWT, authorizerConfiguration block is required.
    description String
    Description of the gateway.
    exceptionLevel String
    Exception level for the gateway. Valid values: INFO, WARN, ERROR.
    gatewayArn String
    ARN of the Gateway.
    gatewayId String
    Unique identifier of the Gateway.
    gatewayUrl String
    URL endpoint for the gateway.
    interceptorConfigurations List<Property Map>
    List of interceptor configurations for the gateway. Minimum of 1, maximum of 2. See interceptorConfiguration below.
    kmsKeyArn String
    ARN of the KMS key used to encrypt the gateway data.
    name String
    Name of the gateway.
    protocolConfiguration Property Map
    Protocol-specific configuration for the gateway. See protocolConfiguration below.
    protocolType String
    Protocol type for the gateway. Valid values: MCP.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    roleArn String

    ARN of the IAM role that the gateway assumes to access AWS services.

    The following arguments are optional:

    tags Map<String>
    Key-value map of resource tags. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    timeouts Property Map
    workloadIdentityDetails List<Property Map>
    Workload identity details for the gateway. See workloadIdentityDetails below.

    Supporting Types

    AgentcoreGatewayAuthorizerConfiguration, AgentcoreGatewayAuthorizerConfigurationArgs

    CustomJwtAuthorizer AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizer
    JWT-based authorization configuration block. See customJwtAuthorizer below.
    CustomJwtAuthorizer AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizer
    JWT-based authorization configuration block. See customJwtAuthorizer below.
    customJwtAuthorizer AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizer
    JWT-based authorization configuration block. See customJwtAuthorizer below.
    customJwtAuthorizer AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizer
    JWT-based authorization configuration block. See customJwtAuthorizer below.
    custom_jwt_authorizer AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizer
    JWT-based authorization configuration block. See customJwtAuthorizer below.
    customJwtAuthorizer Property Map
    JWT-based authorization configuration block. See customJwtAuthorizer below.

    AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizer, AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerArgs

    DiscoveryUrl string
    URL used to fetch OpenID Connect configuration or authorization server metadata. Must end with .well-known/openid-configuration.
    AllowedAudiences List<string>
    Set of allowed audience values for JWT token validation.
    AllowedClients List<string>
    Set of allowed client IDs for JWT token validation.
    AllowedScopes List<string>
    Set of scopes that are allowed to access the token.
    CustomClaims List<AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaim>
    Repeatable block to define a custom claim validation name, value, and operation. See customClaim below.
    DiscoveryUrl string
    URL used to fetch OpenID Connect configuration or authorization server metadata. Must end with .well-known/openid-configuration.
    AllowedAudiences []string
    Set of allowed audience values for JWT token validation.
    AllowedClients []string
    Set of allowed client IDs for JWT token validation.
    AllowedScopes []string
    Set of scopes that are allowed to access the token.
    CustomClaims []AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaim
    Repeatable block to define a custom claim validation name, value, and operation. See customClaim below.
    discoveryUrl String
    URL used to fetch OpenID Connect configuration or authorization server metadata. Must end with .well-known/openid-configuration.
    allowedAudiences List<String>
    Set of allowed audience values for JWT token validation.
    allowedClients List<String>
    Set of allowed client IDs for JWT token validation.
    allowedScopes List<String>
    Set of scopes that are allowed to access the token.
    customClaims List<AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaim>
    Repeatable block to define a custom claim validation name, value, and operation. See customClaim below.
    discoveryUrl string
    URL used to fetch OpenID Connect configuration or authorization server metadata. Must end with .well-known/openid-configuration.
    allowedAudiences string[]
    Set of allowed audience values for JWT token validation.
    allowedClients string[]
    Set of allowed client IDs for JWT token validation.
    allowedScopes string[]
    Set of scopes that are allowed to access the token.
    customClaims AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaim[]
    Repeatable block to define a custom claim validation name, value, and operation. See customClaim below.
    discovery_url str
    URL used to fetch OpenID Connect configuration or authorization server metadata. Must end with .well-known/openid-configuration.
    allowed_audiences Sequence[str]
    Set of allowed audience values for JWT token validation.
    allowed_clients Sequence[str]
    Set of allowed client IDs for JWT token validation.
    allowed_scopes Sequence[str]
    Set of scopes that are allowed to access the token.
    custom_claims Sequence[AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaim]
    Repeatable block to define a custom claim validation name, value, and operation. See customClaim below.
    discoveryUrl String
    URL used to fetch OpenID Connect configuration or authorization server metadata. Must end with .well-known/openid-configuration.
    allowedAudiences List<String>
    Set of allowed audience values for JWT token validation.
    allowedClients List<String>
    Set of allowed client IDs for JWT token validation.
    allowedScopes List<String>
    Set of scopes that are allowed to access the token.
    customClaims List<Property Map>
    Repeatable block to define a custom claim validation name, value, and operation. See customClaim below.

    AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaim, AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimArgs

    AuthorizingClaimMatchValue AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValue
    Configuration block to define the value or values to match for and the relationship of the match. See authorizingClaimMatchValue below.
    InboundTokenClaimName string
    Name of the custom claim field to check.
    InboundTokenClaimValueType string
    Data type of the claim value to check for. Valid values are STRING and STRING_ARRAY.
    AuthorizingClaimMatchValue AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValue
    Configuration block to define the value or values to match for and the relationship of the match. See authorizingClaimMatchValue below.
    InboundTokenClaimName string
    Name of the custom claim field to check.
    InboundTokenClaimValueType string
    Data type of the claim value to check for. Valid values are STRING and STRING_ARRAY.
    authorizingClaimMatchValue AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValue
    Configuration block to define the value or values to match for and the relationship of the match. See authorizingClaimMatchValue below.
    inboundTokenClaimName String
    Name of the custom claim field to check.
    inboundTokenClaimValueType String
    Data type of the claim value to check for. Valid values are STRING and STRING_ARRAY.
    authorizingClaimMatchValue AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValue
    Configuration block to define the value or values to match for and the relationship of the match. See authorizingClaimMatchValue below.
    inboundTokenClaimName string
    Name of the custom claim field to check.
    inboundTokenClaimValueType string
    Data type of the claim value to check for. Valid values are STRING and STRING_ARRAY.
    authorizing_claim_match_value AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValue
    Configuration block to define the value or values to match for and the relationship of the match. See authorizingClaimMatchValue below.
    inbound_token_claim_name str
    Name of the custom claim field to check.
    inbound_token_claim_value_type str
    Data type of the claim value to check for. Valid values are STRING and STRING_ARRAY.
    authorizingClaimMatchValue Property Map
    Configuration block to define the value or values to match for and the relationship of the match. See authorizingClaimMatchValue below.
    inboundTokenClaimName String
    Name of the custom claim field to check.
    inboundTokenClaimValueType String
    Data type of the claim value to check for. Valid values are STRING and STRING_ARRAY.

    AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValue, AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueArgs

    ClaimMatchOperator string
    Relationship between the claim field value and the value or values to match for. Valid values are EQUALS, CONTAINS, and CONTAINS_ANY. EQUALS can be used only when inboundTokenClaimValueType is STRING. CONTAINS or CONTAINS_ANY can be used only when inboundTokenClaimValueType is STRING_ARRAY.
    ClaimMatchValue AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValue
    Value or values to match for. See claimMatchValue below.
    ClaimMatchOperator string
    Relationship between the claim field value and the value or values to match for. Valid values are EQUALS, CONTAINS, and CONTAINS_ANY. EQUALS can be used only when inboundTokenClaimValueType is STRING. CONTAINS or CONTAINS_ANY can be used only when inboundTokenClaimValueType is STRING_ARRAY.
    ClaimMatchValue AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValue
    Value or values to match for. See claimMatchValue below.
    claimMatchOperator String
    Relationship between the claim field value and the value or values to match for. Valid values are EQUALS, CONTAINS, and CONTAINS_ANY. EQUALS can be used only when inboundTokenClaimValueType is STRING. CONTAINS or CONTAINS_ANY can be used only when inboundTokenClaimValueType is STRING_ARRAY.
    claimMatchValue AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValue
    Value or values to match for. See claimMatchValue below.
    claimMatchOperator string
    Relationship between the claim field value and the value or values to match for. Valid values are EQUALS, CONTAINS, and CONTAINS_ANY. EQUALS can be used only when inboundTokenClaimValueType is STRING. CONTAINS or CONTAINS_ANY can be used only when inboundTokenClaimValueType is STRING_ARRAY.
    claimMatchValue AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValue
    Value or values to match for. See claimMatchValue below.
    claim_match_operator str
    Relationship between the claim field value and the value or values to match for. Valid values are EQUALS, CONTAINS, and CONTAINS_ANY. EQUALS can be used only when inboundTokenClaimValueType is STRING. CONTAINS or CONTAINS_ANY can be used only when inboundTokenClaimValueType is STRING_ARRAY.
    claim_match_value AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValue
    Value or values to match for. See claimMatchValue below.
    claimMatchOperator String
    Relationship between the claim field value and the value or values to match for. Valid values are EQUALS, CONTAINS, and CONTAINS_ANY. EQUALS can be used only when inboundTokenClaimValueType is STRING. CONTAINS or CONTAINS_ANY can be used only when inboundTokenClaimValueType is STRING_ARRAY.
    claimMatchValue Property Map
    Value or values to match for. See claimMatchValue below.

    AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValue, AgentcoreGatewayAuthorizerConfigurationCustomJwtAuthorizerCustomClaimAuthorizingClaimMatchValueClaimMatchValueArgs

    MatchValueString string
    String value to match for. Must be specified when claimMatchOperator is EQUALS or CONTAINS. Exactly one of matchValueString or matchValueStringList must be specified.
    MatchValueStringLists List<string>
    List of strings to check for a match. Must be specified when claimMatchOperator is CONTAINS_ANY. Exactly one of matchValueString or matchValueStringList must be specified.
    MatchValueString string
    String value to match for. Must be specified when claimMatchOperator is EQUALS or CONTAINS. Exactly one of matchValueString or matchValueStringList must be specified.
    MatchValueStringLists []string
    List of strings to check for a match. Must be specified when claimMatchOperator is CONTAINS_ANY. Exactly one of matchValueString or matchValueStringList must be specified.
    matchValueString String
    String value to match for. Must be specified when claimMatchOperator is EQUALS or CONTAINS. Exactly one of matchValueString or matchValueStringList must be specified.
    matchValueStringLists List<String>
    List of strings to check for a match. Must be specified when claimMatchOperator is CONTAINS_ANY. Exactly one of matchValueString or matchValueStringList must be specified.
    matchValueString string
    String value to match for. Must be specified when claimMatchOperator is EQUALS or CONTAINS. Exactly one of matchValueString or matchValueStringList must be specified.
    matchValueStringLists string[]
    List of strings to check for a match. Must be specified when claimMatchOperator is CONTAINS_ANY. Exactly one of matchValueString or matchValueStringList must be specified.
    match_value_string str
    String value to match for. Must be specified when claimMatchOperator is EQUALS or CONTAINS. Exactly one of matchValueString or matchValueStringList must be specified.
    match_value_string_lists Sequence[str]
    List of strings to check for a match. Must be specified when claimMatchOperator is CONTAINS_ANY. Exactly one of matchValueString or matchValueStringList must be specified.
    matchValueString String
    String value to match for. Must be specified when claimMatchOperator is EQUALS or CONTAINS. Exactly one of matchValueString or matchValueStringList must be specified.
    matchValueStringLists List<String>
    List of strings to check for a match. Must be specified when claimMatchOperator is CONTAINS_ANY. Exactly one of matchValueString or matchValueStringList must be specified.

    AgentcoreGatewayInterceptorConfiguration, AgentcoreGatewayInterceptorConfigurationArgs

    InterceptionPoints List<string>
    Set of interception points. Valid values: REQUEST, RESPONSE.
    InputConfiguration AgentcoreGatewayInterceptorConfigurationInputConfiguration
    Input configuration for the interceptor. See inputConfiguration below.
    Interceptor AgentcoreGatewayInterceptorConfigurationInterceptor
    Interceptor infrastructure configuration. See interceptor below.
    InterceptionPoints []string
    Set of interception points. Valid values: REQUEST, RESPONSE.
    InputConfiguration AgentcoreGatewayInterceptorConfigurationInputConfiguration
    Input configuration for the interceptor. See inputConfiguration below.
    Interceptor AgentcoreGatewayInterceptorConfigurationInterceptor
    Interceptor infrastructure configuration. See interceptor below.
    interceptionPoints List<String>
    Set of interception points. Valid values: REQUEST, RESPONSE.
    inputConfiguration AgentcoreGatewayInterceptorConfigurationInputConfiguration
    Input configuration for the interceptor. See inputConfiguration below.
    interceptor AgentcoreGatewayInterceptorConfigurationInterceptor
    Interceptor infrastructure configuration. See interceptor below.
    interceptionPoints string[]
    Set of interception points. Valid values: REQUEST, RESPONSE.
    inputConfiguration AgentcoreGatewayInterceptorConfigurationInputConfiguration
    Input configuration for the interceptor. See inputConfiguration below.
    interceptor AgentcoreGatewayInterceptorConfigurationInterceptor
    Interceptor infrastructure configuration. See interceptor below.
    interception_points Sequence[str]
    Set of interception points. Valid values: REQUEST, RESPONSE.
    input_configuration AgentcoreGatewayInterceptorConfigurationInputConfiguration
    Input configuration for the interceptor. See inputConfiguration below.
    interceptor AgentcoreGatewayInterceptorConfigurationInterceptor
    Interceptor infrastructure configuration. See interceptor below.
    interceptionPoints List<String>
    Set of interception points. Valid values: REQUEST, RESPONSE.
    inputConfiguration Property Map
    Input configuration for the interceptor. See inputConfiguration below.
    interceptor Property Map
    Interceptor infrastructure configuration. See interceptor below.

    AgentcoreGatewayInterceptorConfigurationInputConfiguration, AgentcoreGatewayInterceptorConfigurationInputConfigurationArgs

    PassRequestHeaders bool
    Whether to pass request headers to the interceptor.
    PassRequestHeaders bool
    Whether to pass request headers to the interceptor.
    passRequestHeaders Boolean
    Whether to pass request headers to the interceptor.
    passRequestHeaders boolean
    Whether to pass request headers to the interceptor.
    pass_request_headers bool
    Whether to pass request headers to the interceptor.
    passRequestHeaders Boolean
    Whether to pass request headers to the interceptor.

    AgentcoreGatewayInterceptorConfigurationInterceptor, AgentcoreGatewayInterceptorConfigurationInterceptorArgs

    Lambda AgentcoreGatewayInterceptorConfigurationInterceptorLambda
    Lambda function configuration for the interceptor. See lambda below.
    Lambda AgentcoreGatewayInterceptorConfigurationInterceptorLambda
    Lambda function configuration for the interceptor. See lambda below.
    lambda AgentcoreGatewayInterceptorConfigurationInterceptorLambda
    Lambda function configuration for the interceptor. See lambda below.
    lambda AgentcoreGatewayInterceptorConfigurationInterceptorLambda
    Lambda function configuration for the interceptor. See lambda below.
    lambda_ AgentcoreGatewayInterceptorConfigurationInterceptorLambda
    Lambda function configuration for the interceptor. See lambda below.
    lambda Property Map
    Lambda function configuration for the interceptor. See lambda below.

    AgentcoreGatewayInterceptorConfigurationInterceptorLambda, AgentcoreGatewayInterceptorConfigurationInterceptorLambdaArgs

    Arn string
    ARN of the Lambda function to invoke for the interceptor.
    Arn string
    ARN of the Lambda function to invoke for the interceptor.
    arn String
    ARN of the Lambda function to invoke for the interceptor.
    arn string
    ARN of the Lambda function to invoke for the interceptor.
    arn str
    ARN of the Lambda function to invoke for the interceptor.
    arn String
    ARN of the Lambda function to invoke for the interceptor.

    AgentcoreGatewayProtocolConfiguration, AgentcoreGatewayProtocolConfigurationArgs

    Mcp AgentcoreGatewayProtocolConfigurationMcp
    Model Context Protocol (MCP) configuration block. See mcp below.
    Mcp AgentcoreGatewayProtocolConfigurationMcp
    Model Context Protocol (MCP) configuration block. See mcp below.
    mcp AgentcoreGatewayProtocolConfigurationMcp
    Model Context Protocol (MCP) configuration block. See mcp below.
    mcp AgentcoreGatewayProtocolConfigurationMcp
    Model Context Protocol (MCP) configuration block. See mcp below.
    mcp AgentcoreGatewayProtocolConfigurationMcp
    Model Context Protocol (MCP) configuration block. See mcp below.
    mcp Property Map
    Model Context Protocol (MCP) configuration block. See mcp below.

    AgentcoreGatewayProtocolConfigurationMcp, AgentcoreGatewayProtocolConfigurationMcpArgs

    Instructions string
    Instructions for the MCP protocol configuration.
    SearchType string
    Search type for MCP. Valid values: SEMANTIC.
    SupportedVersions List<string>
    Set of supported MCP protocol versions.
    Instructions string
    Instructions for the MCP protocol configuration.
    SearchType string
    Search type for MCP. Valid values: SEMANTIC.
    SupportedVersions []string
    Set of supported MCP protocol versions.
    instructions String
    Instructions for the MCP protocol configuration.
    searchType String
    Search type for MCP. Valid values: SEMANTIC.
    supportedVersions List<String>
    Set of supported MCP protocol versions.
    instructions string
    Instructions for the MCP protocol configuration.
    searchType string
    Search type for MCP. Valid values: SEMANTIC.
    supportedVersions string[]
    Set of supported MCP protocol versions.
    instructions str
    Instructions for the MCP protocol configuration.
    search_type str
    Search type for MCP. Valid values: SEMANTIC.
    supported_versions Sequence[str]
    Set of supported MCP protocol versions.
    instructions String
    Instructions for the MCP protocol configuration.
    searchType String
    Search type for MCP. Valid values: SEMANTIC.
    supportedVersions List<String>
    Set of supported MCP protocol versions.

    AgentcoreGatewayTimeouts, AgentcoreGatewayTimeoutsArgs

    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).

    AgentcoreGatewayWorkloadIdentityDetail, AgentcoreGatewayWorkloadIdentityDetailArgs

    WorkloadIdentityArn string
    ARN of the workload identity.
    WorkloadIdentityArn string
    ARN of the workload identity.
    workloadIdentityArn String
    ARN of the workload identity.
    workloadIdentityArn string
    ARN of the workload identity.
    workload_identity_arn str
    ARN of the workload identity.
    workloadIdentityArn String
    ARN of the workload identity.

    Import

    Using pulumi import, import Bedrock AgentCore Gateway using the gateway ID. For example:

    $ pulumi import aws:bedrock/agentcoreGateway:AgentcoreGateway example GATEWAY1234567890
    

    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
    Viewing docs for AWS v7.26.0
    published on Thursday, Apr 16, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.