Skip to content

WebACLAssociation

The WebACLAssociation resource allows you to associate a WebACL with a specified resource in AWS WAFRegional. This is essential for protecting your web applications from common web exploits and vulnerabilities. For more information, refer to the AWS WAFRegional WebACLAssociations documentation.

Minimal Example

Create a basic WebACLAssociation with the required properties.

ts
import AWS from "alchemy/aws/control";

const webACLAssociation = await AWS.WAFRegional.WebACLAssociation("basicWebACLAssociation", {
  ResourceArn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
  WebACLId: "waf-12345678",
  adopt: true // Optional: Adopt existing resource if it already exists
});

Advanced Configuration

Configure a WebACLAssociation with additional properties for enhanced management.

ts
import AWS from "alchemy/aws/control";

const advancedWebACLAssociation = await AWS.WAFRegional.WebACLAssociation("advancedWebACLAssociation", {
  ResourceArn: "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0",
  WebACLId: "waf-87654321",
  adopt: true // Optional: Adopt existing resource if it already exists
});

Updating an Existing Association

This example demonstrates how to update an existing WebACLAssociation by changing the associated WebACL.

ts
import AWS from "alchemy/aws/control";

const updatedWebACLAssociation = await AWS.WAFRegional.WebACLAssociation("updateWebACLAssociation", {
  ResourceArn: "arn:aws:s3:::my-bucket",
  WebACLId: "waf-23456789",
  adopt: false // Optional: Do not adopt existing resource
});

Associating with an API Gateway

This example shows how to associate a WebACL with an API Gateway.

ts
import AWS from "alchemy/aws/control";

const apiGatewayWebACLAssociation = await AWS.WAFRegional.WebACLAssociation("apiGatewayWebACLAssociation", {
  ResourceArn: "arn:aws:apigateway:us-west-2::/restapis/abcdef1234/resources/xyz",
  WebACLId: "waf-34567890",
  adopt: true // Optional: Adopt existing resource if it already exists
});