AWS WAF
API Reference

AssociateWebACL

Associates a web ACL with a resource, either an application load balancer or Amazon API Gateway stage.

Request Syntax

{ "ResourceArn": "string", "WebACLId": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

ResourceArn

The ARN (Amazon Resource Name) of the resource to be protected, either an application load balancer or Amazon API Gateway stage.

The ARN should be in one of the following formats:

  • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

  • For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name

Type: String

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

Required: Yes

WebACLId

A unique identifier (ID) for the web ACL.

Type: String

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

Required: Yes

Response Elements

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

Errors

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

WAFInternalErrorException

The operation failed because of a system problem, even though the request was valid. Retry your request.

HTTP Status Code: 500

WAFInvalidAccountException

The operation failed because you tried to create, update, or delete an object by using an invalid account identifier.

HTTP Status Code: 400

WAFInvalidParameterException

The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

  • You specified an invalid parameter name.

  • You specified an invalid value.

  • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

  • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to create a RateBasedRule with a RateKey value other than IP.

  • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, METHOD, QUERY_STRING, URI, or BODY.

  • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.

HTTP Status Code: 400

WAFNonexistentItemException

The operation failed because the referenced object doesn't exist.

HTTP Status Code: 400

WAFUnavailableEntityException

The operation failed because the entity referenced is temporarily unavailable. Retry your request.

HTTP Status Code: 400

See Also

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