# AWS Web Application Firewall Construct Library

This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.

```ts
import * as waf from 'aws-cdk-lib/aws-waf';
```

There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:

- Search [Construct Hub for WAF construct libraries](https://constructs.dev/search?q=waf)
- Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::WAF resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WAF.html) directly.

There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::WAF](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WAF.html).

(Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)

## Types

| Name | Kind | Summary |
| --- | --- | --- |
| [`CfnByteMatchSet`](/v2/docs/aws-cdk-lib.aws_waf.CfnByteMatchSet) | Construct (L1) | > This is *AWS WAF Classic* documentation. |
| [`CfnIPSet`](/v2/docs/aws-cdk-lib.aws_waf.CfnIPSet) | Construct (L1) | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnRule`](/v2/docs/aws-cdk-lib.aws_waf.CfnRule) | Construct (L1) | > This is *AWS WAF Classic* documentation. |
| [`CfnSizeConstraintSet`](/v2/docs/aws-cdk-lib.aws_waf.CfnSizeConstraintSet) | Construct (L1) | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnSqlInjectionMatchSet`](/v2/docs/aws-cdk-lib.aws_waf.CfnSqlInjectionMatchSet) | Construct (L1) | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnWebACL`](/v2/docs/aws-cdk-lib.aws_waf.CfnWebACL) | Construct (L1) | > This is *AWS WAF Classic* documentation. |
| [`CfnXssMatchSet`](/v2/docs/aws-cdk-lib.aws_waf.CfnXssMatchSet) | Construct (L1) | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnByteMatchSet.ByteMatchTupleProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnByteMatchSet.ByteMatchTupleProperty) | Struct | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnByteMatchSet.FieldToMatchProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnByteMatchSet.FieldToMatchProperty) | Struct | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnByteMatchSetProps`](/v2/docs/aws-cdk-lib.aws_waf.CfnByteMatchSetProps) | Struct | Properties for defining a `CfnByteMatchSet`. |
| [`CfnIPSet.IPSetDescriptorProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnIPSet.IPSetDescriptorProperty) | Struct | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnIPSetProps`](/v2/docs/aws-cdk-lib.aws_waf.CfnIPSetProps) | Struct | Properties for defining a `CfnIPSet`. |
| [`CfnRule.PredicateProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnRule.PredicateProperty) | Struct | Specifies the `ByteMatchSet` , `IPSet` , `SqlInjectionMatchSet` , `XssMatchSet` , `RegexMatchSet` , `GeoMatchSet` , and `SizeConstraintSet` objects that you want to add to a `Rule` and, for each object, indicates whether you want to negate the settings, for example, requests that do NOT originate from the IP address 192.0.2.44. |
| [`CfnRuleProps`](/v2/docs/aws-cdk-lib.aws_waf.CfnRuleProps) | Struct | Properties for defining a `CfnRule`. |
| [`CfnSizeConstraintSet.FieldToMatchProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnSizeConstraintSet.FieldToMatchProperty) | Struct | The part of a web request that you want to inspect, such as a specified header or a query string. |
| [`CfnSizeConstraintSet.SizeConstraintProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnSizeConstraintSet.SizeConstraintProperty) | Struct | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnSizeConstraintSetProps`](/v2/docs/aws-cdk-lib.aws_waf.CfnSizeConstraintSetProps) | Struct | Properties for defining a `CfnSizeConstraintSet`. |
| [`CfnSqlInjectionMatchSet.FieldToMatchProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnSqlInjectionMatchSet.FieldToMatchProperty) | Struct | The part of a web request that you want to inspect, such as a specified header or a query string. |
| [`CfnSqlInjectionMatchSet.SqlInjectionMatchTupleProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnSqlInjectionMatchSet.SqlInjectionMatchTupleProperty) | Struct | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnSqlInjectionMatchSetProps`](/v2/docs/aws-cdk-lib.aws_waf.CfnSqlInjectionMatchSetProps) | Struct | Properties for defining a `CfnSqlInjectionMatchSet`. |
| [`CfnWebACL.ActivatedRuleProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnWebACL.ActivatedRuleProperty) | Struct | The `ActivatedRule` object in an `UpdateWebACL` request specifies a `Rule` that you want to insert or delete, the priority of the `Rule` in the `WebACL` , and the action that you want AWS WAF to take when a web request matches the `Rule` ( `ALLOW` , `BLOCK` , or `COUNT` ). |
| [`CfnWebACL.WafActionProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnWebACL.WafActionProperty) | Struct | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnWebACLProps`](/v2/docs/aws-cdk-lib.aws_waf.CfnWebACLProps) | Struct | Properties for defining a `CfnWebACL`. |
| [`CfnXssMatchSet.FieldToMatchProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnXssMatchSet.FieldToMatchProperty) | Struct | The part of a web request that you want to inspect, such as a specified header or a query string. |
| [`CfnXssMatchSet.XssMatchTupleProperty`](/v2/docs/aws-cdk-lib.aws_waf.CfnXssMatchSet.XssMatchTupleProperty) | Struct | > AWS WAF Classic support will end on September 30, 2025. |
| [`CfnXssMatchSetProps`](/v2/docs/aws-cdk-lib.aws_waf.CfnXssMatchSetProps) | Struct | Properties for defining a `CfnXssMatchSet`. |
