

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::BedrockAgentCore::GatewayTarget
<a name="aws-resource-bedrockagentcore-gatewaytarget"></a>

After creating a gateway, you can add targets, which define the tools that your gateway will host.

For more information about adding gateway targets, see [Add targets to an existing gateway](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-building-adding-targets.html).

See the **Properties** section below for descriptions of both the required and optional properties.

## Syntax
<a name="aws-resource-bedrockagentcore-gatewaytarget-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-bedrockagentcore-gatewaytarget-syntax.json"></a>

```
{
  "Type" : "AWS::BedrockAgentCore::GatewayTarget",
  "Properties" : {
      "[CredentialProviderConfigurations](#cfn-bedrockagentcore-gatewaytarget-credentialproviderconfigurations)" : [ CredentialProviderConfiguration, ... ],
      "[Description](#cfn-bedrockagentcore-gatewaytarget-description)" : String,
      "[GatewayIdentifier](#cfn-bedrockagentcore-gatewaytarget-gatewayidentifier)" : String,
      "[MetadataConfiguration](#cfn-bedrockagentcore-gatewaytarget-metadataconfiguration)" : MetadataConfiguration,
      "[Name](#cfn-bedrockagentcore-gatewaytarget-name)" : String,
      "[TargetConfiguration](#cfn-bedrockagentcore-gatewaytarget-targetconfiguration)" : TargetConfiguration
    }
}
```

### YAML
<a name="aws-resource-bedrockagentcore-gatewaytarget-syntax.yaml"></a>

```
Type: AWS::BedrockAgentCore::GatewayTarget
Properties:
  [CredentialProviderConfigurations](#cfn-bedrockagentcore-gatewaytarget-credentialproviderconfigurations): 
    - CredentialProviderConfiguration
  [Description](#cfn-bedrockagentcore-gatewaytarget-description): String
  [GatewayIdentifier](#cfn-bedrockagentcore-gatewaytarget-gatewayidentifier): String
  [MetadataConfiguration](#cfn-bedrockagentcore-gatewaytarget-metadataconfiguration): 
    MetadataConfiguration
  [Name](#cfn-bedrockagentcore-gatewaytarget-name): String
  [TargetConfiguration](#cfn-bedrockagentcore-gatewaytarget-targetconfiguration): 
    TargetConfiguration
```

## Properties
<a name="aws-resource-bedrockagentcore-gatewaytarget-properties"></a>

`CredentialProviderConfigurations`  <a name="cfn-bedrockagentcore-gatewaytarget-credentialproviderconfigurations"></a>
The credential provider configurations.  
*Required*: No  
*Type*: Array of [CredentialProviderConfiguration](aws-properties-bedrockagentcore-gatewaytarget-credentialproviderconfiguration.md)  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-bedrockagentcore-gatewaytarget-description"></a>
The description for the gateway target.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GatewayIdentifier`  <a name="cfn-bedrockagentcore-gatewaytarget-gatewayidentifier"></a>
The gateway ID for the gateway target.  
*Required*: No  
*Type*: String  
*Pattern*: `^([0-9a-z][-]?){1,100}-[0-9a-z]{10}$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MetadataConfiguration`  <a name="cfn-bedrockagentcore-gatewaytarget-metadataconfiguration"></a>
The metadata configuration for HTTP header and query parameter propagation to and from this gateway target.  
*Required*: No  
*Type*: [MetadataConfiguration](aws-properties-bedrockagentcore-gatewaytarget-metadataconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-bedrockagentcore-gatewaytarget-name"></a>
The name of the gateway target.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][-]?){1,100}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TargetConfiguration`  <a name="cfn-bedrockagentcore-gatewaytarget-targetconfiguration"></a>
The configuration for a gateway target. This structure defines how the gateway connects to and interacts with the target endpoint.  
*Required*: Yes  
*Type*: [TargetConfiguration](aws-properties-bedrockagentcore-gatewaytarget-targetconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-bedrockagentcore-gatewaytarget-return-values"></a>

### Ref
<a name="aws-resource-bedrockagentcore-gatewaytarget-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the gateway identifier and target ID. For example:

 `my-gateway-a1b2c3d4e5|a1B2c3D4e5` 

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-bedrockagentcore-gatewaytarget-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-bedrockagentcore-gatewaytarget-return-values-fn--getatt-fn--getatt"></a>

`CreatedAt`  <a name="CreatedAt-fn::getatt"></a>
The date and time at which the target was created.

`GatewayArn`  <a name="GatewayArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the gateway target.

`LastSynchronizedAt`  <a name="LastSynchronizedAt-fn::getatt"></a>
The timestamp when the target was last synchronized.

`Status`  <a name="Status-fn::getatt"></a>
The status of the gateway target.

`StatusReasons`  <a name="StatusReasons-fn::getatt"></a>
The status reasons for the target status.

`TargetId`  <a name="TargetId-fn::getatt"></a>
The target ID.

`UpdatedAt`  <a name="UpdatedAt-fn::getatt"></a>
The date and time at which the target was updated.

# AWS::BedrockAgentCore::GatewayTarget ApiGatewayTargetConfiguration
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration"></a>

The configuration for an Amazon API Gateway target.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-syntax.json"></a>

```
{
  "[ApiGatewayToolConfiguration](#cfn-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-apigatewaytoolconfiguration)" : ApiGatewayToolConfiguration,
  "[RestApiId](#cfn-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-restapiid)" : String,
  "[Stage](#cfn-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-stage)" : String
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-syntax.yaml"></a>

```
  [ApiGatewayToolConfiguration](#cfn-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-apigatewaytoolconfiguration): 
    ApiGatewayToolConfiguration
  [RestApiId](#cfn-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-restapiid): String
  [Stage](#cfn-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-stage): String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-properties"></a>

`ApiGatewayToolConfiguration`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-apigatewaytoolconfiguration"></a>
The configuration for defining REST API tool filters and overrides for the gateway target.  
*Required*: Yes  
*Type*: [ApiGatewayToolConfiguration](aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RestApiId`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-restapiid"></a>
The ID of the API Gateway REST API.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Stage`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration-stage"></a>
The ID of the stage of the REST API to add as a target.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget ApiGatewayToolConfiguration
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration"></a>

The configuration for defining REST API tool filters and overrides for the gateway target.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-syntax.json"></a>

```
{
  "[ToolFilters](#cfn-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-toolfilters)" : [ ApiGatewayToolFilter, ... ],
  "[ToolOverrides](#cfn-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-tooloverrides)" : [ ApiGatewayToolOverride, ... ]
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-syntax.yaml"></a>

```
  [ToolFilters](#cfn-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-toolfilters): 
    - ApiGatewayToolFilter
  [ToolOverrides](#cfn-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-tooloverrides): 
    - ApiGatewayToolOverride
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-properties"></a>

`ToolFilters`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-toolfilters"></a>
A list of path and method patterns to expose as tools using metadata from the REST API's OpenAPI specification.  
*Required*: Yes  
*Type*: Array of [ApiGatewayToolFilter](aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolfilter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ToolOverrides`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytoolconfiguration-tooloverrides"></a>
A list of explicit tool definitions with optional custom names and descriptions.  
*Required*: No  
*Type*: Array of [ApiGatewayToolOverride](aws-properties-bedrockagentcore-gatewaytarget-apigatewaytooloverride.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget ApiGatewayToolFilter
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolfilter"></a>

Specifies which operations from an API Gateway REST API are exposed as tools. Tool names and descriptions are derived from the operationId and description fields in the API's exported OpenAPI specification.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-syntax.json"></a>

```
{
  "[FilterPath](#cfn-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-filterpath)" : String,
  "[Methods](#cfn-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-methods)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-syntax.yaml"></a>

```
  [FilterPath](#cfn-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-filterpath): String
  [Methods](#cfn-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-methods): 
    - String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-properties"></a>

`FilterPath`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-filterpath"></a>
Resource path to match in the REST API. Supports exact paths (for example, `/pets`) or wildcard paths (for example, `/pets/*` to match all paths under `/pets`). Must match existing paths in the REST API.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Methods`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytoolfilter-methods"></a>
The methods to filter for.  
*Required*: Yes  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget ApiGatewayToolOverride
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytooloverride"></a>

Settings to override configurations for a tool.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytooloverride-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytooloverride-syntax.json"></a>

```
{
  "[Description](#cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-description)" : String,
  "[Method](#cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-method)" : String,
  "[Name](#cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-name)" : String,
  "[Path](#cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-path)" : String
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytooloverride-syntax.yaml"></a>

```
  [Description](#cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-description): String
  [Method](#cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-method): String
  [Name](#cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-name): String
  [Path](#cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-path): String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-apigatewaytooloverride-properties"></a>

`Description`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-description"></a>
The description of the tool. Provides information about the purpose and usage of the tool. If not provided, uses the description from the API's OpenAPI specification.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Method`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-method"></a>
The HTTP method to expose for the specified path.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `GET | DELETE | HEAD | OPTIONS | PATCH | PUT | POST`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-name"></a>
The name of tool. Identifies the tool in the Model Context Protocol.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Path`  <a name="cfn-bedrockagentcore-gatewaytarget-apigatewaytooloverride-path"></a>
Resource path in the REST API (e.g., `/pets`). Must explicitly match an existing path in the REST API.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget ApiKeyCredentialProvider
<a name="aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider"></a>

An API key credential provider for gateway authentication. This structure contains the configuration for authenticating with the target endpoint using an API key.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider-syntax.json"></a>

```
{
  "[CredentialLocation](#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentiallocation)" : String,
  "[CredentialParameterName](#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentialparametername)" : String,
  "[CredentialPrefix](#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentialprefix)" : String,
  "[ProviderArn](#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-providerarn)" : String
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider-syntax.yaml"></a>

```
  [CredentialLocation](#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentiallocation): String
  [CredentialParameterName](#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentialparametername): String
  [CredentialPrefix](#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentialprefix): String
  [ProviderArn](#cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-providerarn): String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider-properties"></a>

`CredentialLocation`  <a name="cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentiallocation"></a>
The location of the API key credential. This field specifies where in the request the API key should be placed.  
*Required*: No  
*Type*: String  
*Allowed values*: `HEADER | QUERY_PARAMETER`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CredentialParameterName`  <a name="cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentialparametername"></a>
The name of the credential parameter for the API key. This parameter name is used when sending the API key to the target endpoint.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CredentialPrefix`  <a name="cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-credentialprefix"></a>
The prefix for the API key credential. This prefix is added to the API key when sending it to the target endpoint.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProviderArn`  <a name="cfn-bedrockagentcore-gatewaytarget-apikeycredentialprovider-providerarn"></a>
The Amazon Resource Name (ARN) of the API key credential provider. This ARN identifies the provider in AWS.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:([^:]*):([^:]*):([^:]*):([0-9]{12})?:(.+)$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget ApiSchemaConfiguration
<a name="aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration"></a>

Configuration for API schema.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration-syntax.json"></a>

```
{
  "[InlinePayload](#cfn-bedrockagentcore-gatewaytarget-apischemaconfiguration-inlinepayload)" : String,
  "[S3](#cfn-bedrockagentcore-gatewaytarget-apischemaconfiguration-s3)" : S3Configuration
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration-syntax.yaml"></a>

```
  [InlinePayload](#cfn-bedrockagentcore-gatewaytarget-apischemaconfiguration-inlinepayload): String
  [S3](#cfn-bedrockagentcore-gatewaytarget-apischemaconfiguration-s3): 
    S3Configuration
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration-properties"></a>

`InlinePayload`  <a name="cfn-bedrockagentcore-gatewaytarget-apischemaconfiguration-inlinepayload"></a>
The inline payload containing the API schema definition.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3`  <a name="cfn-bedrockagentcore-gatewaytarget-apischemaconfiguration-s3"></a>
The S3 configuration for a gateway. This structure defines how the gateway accesses files in S3.  
*Required*: No  
*Type*: [S3Configuration](aws-properties-bedrockagentcore-gatewaytarget-s3configuration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget CredentialProvider
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialprovider"></a>

A credential provider for gateway authentication. This structure contains the configuration for authenticating with the target endpoint.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialprovider-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialprovider-syntax.json"></a>

```
{
  "[ApiKeyCredentialProvider](#cfn-bedrockagentcore-gatewaytarget-credentialprovider-apikeycredentialprovider)" : ApiKeyCredentialProvider,
  "[IamCredentialProvider](#cfn-bedrockagentcore-gatewaytarget-credentialprovider-iamcredentialprovider)" : IamCredentialProvider,
  "[OauthCredentialProvider](#cfn-bedrockagentcore-gatewaytarget-credentialprovider-oauthcredentialprovider)" : OAuthCredentialProvider
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialprovider-syntax.yaml"></a>

```
  [ApiKeyCredentialProvider](#cfn-bedrockagentcore-gatewaytarget-credentialprovider-apikeycredentialprovider): 
    ApiKeyCredentialProvider
  [IamCredentialProvider](#cfn-bedrockagentcore-gatewaytarget-credentialprovider-iamcredentialprovider): 
    IamCredentialProvider
  [OauthCredentialProvider](#cfn-bedrockagentcore-gatewaytarget-credentialprovider-oauthcredentialprovider): 
    OAuthCredentialProvider
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialprovider-properties"></a>

`ApiKeyCredentialProvider`  <a name="cfn-bedrockagentcore-gatewaytarget-credentialprovider-apikeycredentialprovider"></a>
The API key credential provider. This provider uses an API key to authenticate with the target endpoint.  
*Required*: No  
*Type*: [ApiKeyCredentialProvider](aws-properties-bedrockagentcore-gatewaytarget-apikeycredentialprovider.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IamCredentialProvider`  <a name="cfn-bedrockagentcore-gatewaytarget-credentialprovider-iamcredentialprovider"></a>
The IAM credential provider. This provider uses IAM authentication with SigV4 signing to access the target endpoint.  
*Required*: No  
*Type*: [IamCredentialProvider](aws-properties-bedrockagentcore-gatewaytarget-iamcredentialprovider.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OauthCredentialProvider`  <a name="cfn-bedrockagentcore-gatewaytarget-credentialprovider-oauthcredentialprovider"></a>
The OAuth credential provider. This provider uses OAuth authentication to access the target endpoint.  
*Required*: No  
*Type*: [OAuthCredentialProvider](aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget CredentialProviderConfiguration
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialproviderconfiguration"></a>

The configuration for a credential provider. This structure defines how the gateway authenticates with the target endpoint.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-syntax.json"></a>

```
{
  "[CredentialProvider](#cfn-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-credentialprovider)" : CredentialProvider,
  "[CredentialProviderType](#cfn-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-credentialprovidertype)" : String
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-syntax.yaml"></a>

```
  [CredentialProvider](#cfn-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-credentialprovider): 
    CredentialProvider
  [CredentialProviderType](#cfn-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-credentialprovidertype): String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-properties"></a>

`CredentialProvider`  <a name="cfn-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-credentialprovider"></a>
The credential provider. This field contains the specific configuration for the credential provider type.  
*Required*: No  
*Type*: [CredentialProvider](aws-properties-bedrockagentcore-gatewaytarget-credentialprovider.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CredentialProviderType`  <a name="cfn-bedrockagentcore-gatewaytarget-credentialproviderconfiguration-credentialprovidertype"></a>
The type of credential provider. This field specifies which authentication method the gateway uses.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `GATEWAY_IAM_ROLE | OAUTH | API_KEY`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget IamCredentialProvider
<a name="aws-properties-bedrockagentcore-gatewaytarget-iamcredentialprovider"></a>

An IAM credential provider for gateway authentication. This structure contains the configuration for authenticating with the target endpoint using IAM credentials and SigV4 signing.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-iamcredentialprovider-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-iamcredentialprovider-syntax.json"></a>

```
{
  "[Region](#cfn-bedrockagentcore-gatewaytarget-iamcredentialprovider-region)" : String,
  "[Service](#cfn-bedrockagentcore-gatewaytarget-iamcredentialprovider-service)" : String
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-iamcredentialprovider-syntax.yaml"></a>

```
  [Region](#cfn-bedrockagentcore-gatewaytarget-iamcredentialprovider-region): String
  [Service](#cfn-bedrockagentcore-gatewaytarget-iamcredentialprovider-service): String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-iamcredentialprovider-properties"></a>

`Region`  <a name="cfn-bedrockagentcore-gatewaytarget-iamcredentialprovider-region"></a>
The AWS Region used for SigV4 signing. If not specified, defaults to the gateway's Region.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9-]+$`  
*Minimum*: `1`  
*Maximum*: `32`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Service`  <a name="cfn-bedrockagentcore-gatewaytarget-iamcredentialprovider-service"></a>
The target AWS service name used for SigV4 signing. This value identifies the service that the gateway authenticates with when making requests to the target endpoint.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9._-]+$`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget McpLambdaTargetConfiguration
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration"></a>

The Lambda configuration for a Model Context Protocol target. This structure defines how the gateway uses a Lambda function to communicate with the target.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-syntax.json"></a>

```
{
  "[LambdaArn](#cfn-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-lambdaarn)" : String,
  "[ToolSchema](#cfn-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-toolschema)" : ToolSchema
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-syntax.yaml"></a>

```
  [LambdaArn](#cfn-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-lambdaarn): String
  [ToolSchema](#cfn-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-toolschema): 
    ToolSchema
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-properties"></a>

`LambdaArn`  <a name="cfn-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-lambdaarn"></a>
The Amazon Resource Name (ARN) of the Lambda function. This function is invoked by the gateway to communicate with the target.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:(aws[a-zA-Z-]*)?:lambda:([a-z]{2}(-gov)?-[a-z]+-\d{1}):(\d{12}):function:([a-zA-Z0-9-_.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?$`  
*Minimum*: `1`  
*Maximum*: `170`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ToolSchema`  <a name="cfn-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration-toolschema"></a>
The tool schema for the Lambda function. This schema defines the structure of the tools that the Lambda function provides.  
*Required*: Yes  
*Type*: [ToolSchema](aws-properties-bedrockagentcore-gatewaytarget-toolschema.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget McpServerTargetConfiguration
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcpservertargetconfiguration"></a>

The configuration for an MCP server target.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcpservertargetconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcpservertargetconfiguration-syntax.json"></a>

```
{
  "[Endpoint](#cfn-bedrockagentcore-gatewaytarget-mcpservertargetconfiguration-endpoint)" : String
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcpservertargetconfiguration-syntax.yaml"></a>

```
  [Endpoint](#cfn-bedrockagentcore-gatewaytarget-mcpservertargetconfiguration-endpoint): String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcpservertargetconfiguration-properties"></a>

`Endpoint`  <a name="cfn-bedrockagentcore-gatewaytarget-mcpservertargetconfiguration-endpoint"></a>
The endpoint URL for the MCP server.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^https://.*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget McpTargetConfiguration
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration"></a>

The Model Context Protocol (MCP) configuration for a target. This structure defines how the gateway uses MCP to communicate with the target.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration-syntax.json"></a>

```
{
  "[ApiGateway](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-apigateway)" : ApiGatewayTargetConfiguration,
  "[Lambda](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-lambda)" : McpLambdaTargetConfiguration,
  "[McpServer](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-mcpserver)" : McpServerTargetConfiguration,
  "[OpenApiSchema](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-openapischema)" : ApiSchemaConfiguration,
  "[SmithyModel](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-smithymodel)" : ApiSchemaConfiguration
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration-syntax.yaml"></a>

```
  [ApiGateway](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-apigateway): 
    ApiGatewayTargetConfiguration
  [Lambda](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-lambda): 
    McpLambdaTargetConfiguration
  [McpServer](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-mcpserver): 
    McpServerTargetConfiguration
  [OpenApiSchema](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-openapischema): 
    ApiSchemaConfiguration
  [SmithyModel](#cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-smithymodel): 
    ApiSchemaConfiguration
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration-properties"></a>

`ApiGateway`  <a name="cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-apigateway"></a>
The configuration for an Amazon API Gateway target.  
*Required*: No  
*Type*: [ApiGatewayTargetConfiguration](aws-properties-bedrockagentcore-gatewaytarget-apigatewaytargetconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Lambda`  <a name="cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-lambda"></a>
The Lambda configuration for the Model Context Protocol target. This configuration defines how the gateway uses a Lambda function to communicate with the target.  
*Required*: No  
*Type*: [McpLambdaTargetConfiguration](aws-properties-bedrockagentcore-gatewaytarget-mcplambdatargetconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`McpServer`  <a name="cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-mcpserver"></a>
The configuration for an MCP server target.  
*Required*: No  
*Type*: [McpServerTargetConfiguration](aws-properties-bedrockagentcore-gatewaytarget-mcpservertargetconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OpenApiSchema`  <a name="cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-openapischema"></a>
The OpenAPI schema for the Model Context Protocol target. This schema defines the API structure of the target.  
*Required*: No  
*Type*: [ApiSchemaConfiguration](aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SmithyModel`  <a name="cfn-bedrockagentcore-gatewaytarget-mcptargetconfiguration-smithymodel"></a>
The Smithy model for the Model Context Protocol target. This model defines the API structure of the target using the Smithy specification.  
*Required*: No  
*Type*: [ApiSchemaConfiguration](aws-properties-bedrockagentcore-gatewaytarget-apischemaconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget MetadataConfiguration
<a name="aws-properties-bedrockagentcore-gatewaytarget-metadataconfiguration"></a>

Configuration for HTTP header and query parameter propagation between the gateway and target servers.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-metadataconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-metadataconfiguration-syntax.json"></a>

```
{
  "[AllowedQueryParameters](#cfn-bedrockagentcore-gatewaytarget-metadataconfiguration-allowedqueryparameters)" : [ String, ... ],
  "[AllowedRequestHeaders](#cfn-bedrockagentcore-gatewaytarget-metadataconfiguration-allowedrequestheaders)" : [ String, ... ],
  "[AllowedResponseHeaders](#cfn-bedrockagentcore-gatewaytarget-metadataconfiguration-allowedresponseheaders)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-metadataconfiguration-syntax.yaml"></a>

```
  [AllowedQueryParameters](#cfn-bedrockagentcore-gatewaytarget-metadataconfiguration-allowedqueryparameters): 
    - String
  [AllowedRequestHeaders](#cfn-bedrockagentcore-gatewaytarget-metadataconfiguration-allowedrequestheaders): 
    - String
  [AllowedResponseHeaders](#cfn-bedrockagentcore-gatewaytarget-metadataconfiguration-allowedresponseheaders): 
    - String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-metadataconfiguration-properties"></a>

`AllowedQueryParameters`  <a name="cfn-bedrockagentcore-gatewaytarget-metadataconfiguration-allowedqueryparameters"></a>
A list of URL query parameters that are allowed to be propagated from incoming gateway URL to the target.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowedRequestHeaders`  <a name="cfn-bedrockagentcore-gatewaytarget-metadataconfiguration-allowedrequestheaders"></a>
A list of HTTP headers that are allowed to be propagated from incoming client requests to the target.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowedResponseHeaders`  <a name="cfn-bedrockagentcore-gatewaytarget-metadataconfiguration-allowedresponseheaders"></a>
A list of HTTP headers that are allowed to be propagated from the target response back to the client.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget OAuthCredentialProvider
<a name="aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider"></a>

An OAuth credential provider for gateway authentication. This structure contains the configuration for authenticating with the target endpoint using OAuth.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider-syntax.json"></a>

```
{
  "[CustomParameters](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-customparameters)" : {Key: Value, ...},
  "[DefaultReturnUrl](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-defaultreturnurl)" : String,
  "[GrantType](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-granttype)" : String,
  "[ProviderArn](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-providerarn)" : String,
  "[Scopes](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-scopes)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider-syntax.yaml"></a>

```
  [CustomParameters](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-customparameters): 
    Key: Value
  [DefaultReturnUrl](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-defaultreturnurl): String
  [GrantType](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-granttype): String
  [ProviderArn](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-providerarn): String
  [Scopes](#cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-scopes): 
    - String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-oauthcredentialprovider-properties"></a>

`CustomParameters`  <a name="cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-customparameters"></a>
The custom parameters for the OAuth credential provider. These parameters provide additional configuration for the OAuth authentication process.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `.+`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultReturnUrl`  <a name="cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-defaultreturnurl"></a>
The URL where the end user's browser is redirected after obtaining the authorization code. Generally points to the customer's application.  
*Required*: No  
*Type*: String  
*Pattern*: `\w+:(\/?\/?)[^\s]+`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GrantType`  <a name="cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-granttype"></a>
Specifies the kind of credentials to use for authorization:  
+ `CLIENT_CREDENTIALS` - Authorization with a client ID and secret.
+ `AUTHORIZATION_CODE` - Authorization with a token that is specific to an individual end user.
*Required*: No  
*Type*: String  
*Allowed values*: `AUTHORIZATION_CODE | CLIENT_CREDENTIALS`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProviderArn`  <a name="cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-providerarn"></a>
The Amazon Resource Name (ARN) of the OAuth credential provider. This ARN identifies the provider in AWS.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:([^:]*):([^:]*):([^:]*):([0-9]{12})?:(.+)$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Scopes`  <a name="cfn-bedrockagentcore-gatewaytarget-oauthcredentialprovider-scopes"></a>
The OAuth scopes for the credential provider. These scopes define the level of access requested from the OAuth provider.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `64 | 100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget S3Configuration
<a name="aws-properties-bedrockagentcore-gatewaytarget-s3configuration"></a>

The Amazon S3 configuration for a gateway. This structure defines how the gateway accesses files in Amazon S3.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-s3configuration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-s3configuration-syntax.json"></a>

```
{
  "[BucketOwnerAccountId](#cfn-bedrockagentcore-gatewaytarget-s3configuration-bucketowneraccountid)" : String,
  "[Uri](#cfn-bedrockagentcore-gatewaytarget-s3configuration-uri)" : String
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-s3configuration-syntax.yaml"></a>

```
  [BucketOwnerAccountId](#cfn-bedrockagentcore-gatewaytarget-s3configuration-bucketowneraccountid): String
  [Uri](#cfn-bedrockagentcore-gatewaytarget-s3configuration-uri): String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-s3configuration-properties"></a>

`BucketOwnerAccountId`  <a name="cfn-bedrockagentcore-gatewaytarget-s3configuration-bucketowneraccountid"></a>
The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.  
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9]{12}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Uri`  <a name="cfn-bedrockagentcore-gatewaytarget-s3configuration-uri"></a>
The URI of the Amazon S3 object. This URI specifies the location of the object in Amazon S3.  
*Required*: No  
*Type*: String  
*Pattern*: `^s3://.{1,2043}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget SchemaDefinition
<a name="aws-properties-bedrockagentcore-gatewaytarget-schemadefinition"></a>

A schema definition for a gateway target. This structure defines the structure of the API that the target exposes.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-schemadefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-schemadefinition-syntax.json"></a>

```
{
  "[Description](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-description)" : String,
  "[Items](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-items)" : SchemaDefinition,
  "[Properties](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-properties)" : {Key: Value, ...},
  "[Required](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-required)" : [ String, ... ],
  "[Type](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-type)" : String
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-schemadefinition-syntax.yaml"></a>

```
  [Description](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-description): String
  [Items](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-items): 
    SchemaDefinition
  [Properties](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-properties): 
    Key: Value
  [Required](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-required): 
    - String
  [Type](#cfn-bedrockagentcore-gatewaytarget-schemadefinition-type): String
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-schemadefinition-properties"></a>

`Description`  <a name="cfn-bedrockagentcore-gatewaytarget-schemadefinition-description"></a>
The description of the schema definition. This description provides information about the purpose and usage of the schema.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Items`  <a name="cfn-bedrockagentcore-gatewaytarget-schemadefinition-items"></a>
The items in the schema definition. This field is used for array types to define the structure of the array elements.  
*Required*: No  
*Type*: [SchemaDefinition](#aws-properties-bedrockagentcore-gatewaytarget-schemadefinition)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Properties`  <a name="cfn-bedrockagentcore-gatewaytarget-schemadefinition-properties"></a>
The properties of the schema definition. These properties define the fields in the schema.  
*Required*: No  
*Type*: Object of [SchemaDefinition](#aws-properties-bedrockagentcore-gatewaytarget-schemadefinition)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Required`  <a name="cfn-bedrockagentcore-gatewaytarget-schemadefinition-required"></a>
The required fields in the schema definition. These fields must be provided when using the schema.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-bedrockagentcore-gatewaytarget-schemadefinition-type"></a>
The type of the schema definition. This field specifies the data type of the schema.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `string | number | object | array | boolean | integer`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget TargetConfiguration
<a name="aws-properties-bedrockagentcore-gatewaytarget-targetconfiguration"></a>

The configuration for a gateway target. This structure defines how the gateway connects to and interacts with the target endpoint.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-targetconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-targetconfiguration-syntax.json"></a>

```
{
  "[Mcp](#cfn-bedrockagentcore-gatewaytarget-targetconfiguration-mcp)" : McpTargetConfiguration
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-targetconfiguration-syntax.yaml"></a>

```
  [Mcp](#cfn-bedrockagentcore-gatewaytarget-targetconfiguration-mcp): 
    McpTargetConfiguration
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-targetconfiguration-properties"></a>

`Mcp`  <a name="cfn-bedrockagentcore-gatewaytarget-targetconfiguration-mcp"></a>
The Model Context Protocol (MCP) configuration for the target. This configuration defines how the gateway uses MCP to communicate with the target.  
*Required*: Yes  
*Type*: [McpTargetConfiguration](aws-properties-bedrockagentcore-gatewaytarget-mcptargetconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget ToolDefinition
<a name="aws-properties-bedrockagentcore-gatewaytarget-tooldefinition"></a>

A tool definition for a gateway target. This structure defines a tool that the target exposes through the Model Context Protocol.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-tooldefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-tooldefinition-syntax.json"></a>

```
{
  "[Description](#cfn-bedrockagentcore-gatewaytarget-tooldefinition-description)" : String,
  "[InputSchema](#cfn-bedrockagentcore-gatewaytarget-tooldefinition-inputschema)" : SchemaDefinition,
  "[Name](#cfn-bedrockagentcore-gatewaytarget-tooldefinition-name)" : String,
  "[OutputSchema](#cfn-bedrockagentcore-gatewaytarget-tooldefinition-outputschema)" : SchemaDefinition
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-tooldefinition-syntax.yaml"></a>

```
  [Description](#cfn-bedrockagentcore-gatewaytarget-tooldefinition-description): String
  [InputSchema](#cfn-bedrockagentcore-gatewaytarget-tooldefinition-inputschema): 
    SchemaDefinition
  [Name](#cfn-bedrockagentcore-gatewaytarget-tooldefinition-name): String
  [OutputSchema](#cfn-bedrockagentcore-gatewaytarget-tooldefinition-outputschema): 
    SchemaDefinition
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-tooldefinition-properties"></a>

`Description`  <a name="cfn-bedrockagentcore-gatewaytarget-tooldefinition-description"></a>
The description of the tool. This description provides information about the purpose and usage of the tool.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InputSchema`  <a name="cfn-bedrockagentcore-gatewaytarget-tooldefinition-inputschema"></a>
The input schema for the tool. This schema defines the structure of the input that the tool accepts.  
*Required*: Yes  
*Type*: [SchemaDefinition](aws-properties-bedrockagentcore-gatewaytarget-schemadefinition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-bedrockagentcore-gatewaytarget-tooldefinition-name"></a>
The name of the tool. This name identifies the tool in the Model Context Protocol.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OutputSchema`  <a name="cfn-bedrockagentcore-gatewaytarget-tooldefinition-outputschema"></a>
The output schema for the tool. This schema defines the structure of the output that the tool produces.  
*Required*: No  
*Type*: [SchemaDefinition](aws-properties-bedrockagentcore-gatewaytarget-schemadefinition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::BedrockAgentCore::GatewayTarget ToolSchema
<a name="aws-properties-bedrockagentcore-gatewaytarget-toolschema"></a>

A tool schema for a gateway target. This structure defines the schema for a tool that the target exposes through the Model Context Protocol.

## Syntax
<a name="aws-properties-bedrockagentcore-gatewaytarget-toolschema-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-bedrockagentcore-gatewaytarget-toolschema-syntax.json"></a>

```
{
  "[InlinePayload](#cfn-bedrockagentcore-gatewaytarget-toolschema-inlinepayload)" : [ ToolDefinition, ... ],
  "[S3](#cfn-bedrockagentcore-gatewaytarget-toolschema-s3)" : S3Configuration
}
```

### YAML
<a name="aws-properties-bedrockagentcore-gatewaytarget-toolschema-syntax.yaml"></a>

```
  [InlinePayload](#cfn-bedrockagentcore-gatewaytarget-toolschema-inlinepayload): 
    - ToolDefinition
  [S3](#cfn-bedrockagentcore-gatewaytarget-toolschema-s3): 
    S3Configuration
```

## Properties
<a name="aws-properties-bedrockagentcore-gatewaytarget-toolschema-properties"></a>

`InlinePayload`  <a name="cfn-bedrockagentcore-gatewaytarget-toolschema-inlinepayload"></a>
The inline payload of the tool schema. This payload contains the schema definition directly in the request.  
*Required*: No  
*Type*: Array of [ToolDefinition](aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3`  <a name="cfn-bedrockagentcore-gatewaytarget-toolschema-s3"></a>
The Amazon S3 location of the tool schema. This location contains the schema definition file.  
*Required*: No  
*Type*: [S3Configuration](aws-properties-bedrockagentcore-gatewaytarget-s3configuration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)