java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-12-17T21:37:40.499Z") @Stability(Stable) public class CfnWebACL extends CfnResource implements IInspectable

This is AWS WAF Classic documentation.

For more information, see AWS WAF Classic in the developer guide.

For the latest version of AWS WAF , use the AWS WAF V2 API and see the AWS WAF Developer Guide . With the latest version, AWS WAF has a single set of endpoints for regional and global use.

Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL , you also specify a default action ( ALLOW or BLOCK ), and the action for each Rule that you add to a WebACL , for example, block requests from specified IP addresses or block requests from specified referrers. If you add more than one Rule to a WebACL , a request needs to match only one of the specifications to be allowed, blocked, or counted.

To identify the requests that you want AWS WAF to filter, you associate the WebACL with an API Gateway API or an Application Load Balancer.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.waf.regional.*;
 CfnWebACL cfnWebACL = CfnWebACL.Builder.create(this, "MyCfnWebACL")
         .defaultAction(ActionProperty.builder()
                 .type("type")
                 .build())
         .metricName("metricName")
         .name("name")
         // the properties below are optional
         .rules(List.of(RuleProperty.builder()
                 .action(ActionProperty.builder()
                         .type("type")
                         .build())
                 .priority(123)
                 .ruleId("ruleId")
                 .build()))
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnWebACL

      protected CfnWebACL(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnWebACL

      protected CfnWebACL(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnWebACL

      @Stability(Stable) public CfnWebACL(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnWebACLProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrId

      @Stability(Stable) @NotNull public String getAttrId()
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getDefaultAction

      @Stability(Stable) @NotNull public Object getDefaultAction()
      The action to perform if none of the Rules contained in the WebACL match.
    • setDefaultAction

      @Stability(Stable) public void setDefaultAction(@NotNull IResolvable value)
      The action to perform if none of the Rules contained in the WebACL match.
    • setDefaultAction

      @Stability(Stable) public void setDefaultAction(@NotNull CfnWebACL.ActionProperty value)
      The action to perform if none of the Rules contained in the WebACL match.
    • getMetricName

      @Stability(Stable) @NotNull public String getMetricName()
      A name for the metrics for this WebACL .
    • setMetricName

      @Stability(Stable) public void setMetricName(@NotNull String value)
      A name for the metrics for this WebACL .
    • getName

      @Stability(Stable) @NotNull public String getName()
      A friendly name or description of the WebACL .
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      A friendly name or description of the WebACL .
    • getRules

      @Stability(Stable) @Nullable public Object getRules()
      An array that contains the action for each Rule in a WebACL , the priority of the Rule , and the ID of the Rule .
    • setRules

      @Stability(Stable) public void setRules(@Nullable IResolvable value)
      An array that contains the action for each Rule in a WebACL , the priority of the Rule , and the ID of the Rule .
    • setRules

      @Stability(Stable) public void setRules(@Nullable List<Object> value)
      An array that contains the action for each Rule in a WebACL , the priority of the Rule , and the ID of the Rule .