Skip to content

SizeConstraintSet ​

The SizeConstraintSet resource allows you to create and manage AWS WAFRegional SizeConstraintSets, which are used to specify size constraints for web requests.

Minimal Example ​

Create a basic SizeConstraintSet with required properties and a common optional property.

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

const basicSizeConstraintSet = await AWS.WAFRegional.SizeConstraintSet("basicSizeConstraintSet", {
  name: "BasicSizeConstraintSet",
  sizeConstraints: [
    {
      fieldToMatch: { type: "URI" },
      comparisonOperator: "GT",
      size: 1024,
      textTransformation: "NONE"
    }
  ]
});

Advanced Configuration ​

Configure a SizeConstraintSet with multiple size constraints and various fields.

ts
const advancedSizeConstraintSet = await AWS.WAFRegional.SizeConstraintSet("advancedSizeConstraintSet", {
  name: "AdvancedSizeConstraintSet",
  sizeConstraints: [
    {
      fieldToMatch: { type: "HEADER", data: "User-Agent" },
      comparisonOperator: "EQ",
      size: 256,
      textTransformation: "NONE"
    },
    {
      fieldToMatch: { type: "BODY" },
      comparisonOperator: "LE",
      size: 2048,
      textTransformation: "NONE"
    }
  ]
});

Use Case: Blocking Large Requests ​

Create a SizeConstraintSet to block requests with a body larger than a specified size.

ts
const blockLargeRequestsSet = await AWS.WAFRegional.SizeConstraintSet("blockLargeRequestsSet", {
  name: "BlockLargeRequestsSet",
  sizeConstraints: [
    {
      fieldToMatch: { type: "BODY" },
      comparisonOperator: "GT",
      size: 4096,
      textTransformation: "NONE"
    }
  ]
});

Use Case: Limiting Header Size ​

Create a SizeConstraintSet to limit the size of a specific header.

ts
const limitHeaderSizeSet = await AWS.WAFRegional.SizeConstraintSet("limitHeaderSizeSet", {
  name: "LimitHeaderSizeSet",
  sizeConstraints: [
    {
      fieldToMatch: { type: "HEADER", data: "Content-Length" },
      comparisonOperator: "GT",
      size: 512,
      textTransformation: "NONE"
    }
  ]
});