View a markdown version of this page

CreateGatewayRule - Amazon Bedrock AgentCore Control Plane

CreateGatewayRule

Creates a rule for a gateway. Rules define conditions and actions that control how requests are routed and processed through the gateway, including principal-based access control and path-based routing.

Request Syntax

POST /gateways/gatewayIdentifier/rules HTTP/1.1 Content-type: application/json { "actions": [ { ... } ], "clientToken": "string", "conditions": [ { ... } ], "description": "string", "priority": number }

URI Request Parameters

The request uses the following URI parameters.

gatewayIdentifier

The identifier of the gateway to create a rule for.

Pattern: ([0-9a-z][-]?){1,100}-[0-9a-z]{10}

Required: Yes

Request Body

The request accepts the following data in JSON format.

actions

The actions to take when the rule conditions are met. Actions can route to a specific target or apply a configuration bundle override.

Type: Array of Action objects

Array Members: Minimum number of 1 item. Maximum number of 2 items.

Required: Yes

clientToken

A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If you don't specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn't return an error. For more information, see Ensuring idempotency.

Type: String

Length Constraints: Minimum length of 33. Maximum length of 256.

Pattern: [a-zA-Z0-9](-*[a-zA-Z0-9]){0,256}

Required: No

conditions

The conditions that must be met for the rule to apply. Conditions can match on principals (IAM ARNs) or request paths.

Type: Array of Condition objects

Array Members: Minimum number of 1 item. Maximum number of 2 items.

Required: No

description

The description of the gateway rule.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Required: No

priority

The priority of the rule. Rules are evaluated in order of priority, with lower numbers evaluated first. Must be between 1 and 1,000,000.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 1000000.

Required: Yes

Response Syntax

HTTP/1.1 202 Content-type: application/json { "actions": [ { ... } ], "conditions": [ { ... } ], "createdAt": "string", "description": "string", "gatewayArn": "string", "priority": number, "ruleId": "string", "status": "string", "system": { "managedBy": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 202 response.

The following data is returned in JSON format by the service.

actions

The actions to take when the rule conditions are met.

Type: Array of Action objects

Array Members: Minimum number of 1 item. Maximum number of 2 items.

conditions

The conditions that must be met for the rule to apply.

Type: Array of Condition objects

Array Members: Minimum number of 1 item. Maximum number of 2 items.

createdAt

The timestamp when the rule was created.

Type: Timestamp

description

The description of the gateway rule.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

gatewayArn

The Amazon Resource Name (ARN) of the gateway that the rule belongs to.

Type: String

Pattern: arn:aws(|-cn|-us-gov):bedrock-agentcore:[a-z0-9-]{1,20}:[0-9]{12}:gateway/([0-9a-z][-]?){1,48}-[a-z0-9]{10}

priority

The priority of the rule. Rules are evaluated in order of priority, with lower numbers evaluated first.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 1000000.

ruleId

The unique identifier of the gateway rule.

Type: String

Length Constraints: Fixed length of 36.

Pattern: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

status

The current status of the rule.

Type: String

Valid Values: CREATING | ACTIVE | UPDATING | DELETING

system

System-managed metadata for rules created by automated processes.

Type: SystemManagedBlock object

Errors

For information about the errors that are common to all actions, see Common Error Types.

AccessDeniedException

This exception is thrown when a request is denied per access permissions

HTTP Status Code: 403

ConflictException

This exception is thrown when there is a conflict performing an operation

HTTP Status Code: 409

InternalServerException

This exception is thrown if there was an unexpected error during processing of request

HTTP Status Code: 500

ResourceNotFoundException

This exception is thrown when a resource referenced by the operation does not exist

HTTP Status Code: 404

ServiceQuotaExceededException

This exception is thrown when a request is made beyond the service quota

HTTP Status Code: 402

ThrottlingException

This exception is thrown when the number of requests exceeds the limit

HTTP Status Code: 429

ValidationException

The input fails to satisfy the constraints specified by the service.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: