Interface CfnWebACL.RuleActionProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnWebACL.RuleActionProperty.Jsii$Proxy
Enclosing class:
CfnWebACL

@Stability(Stable) public static interface CfnWebACL.RuleActionProperty extends software.amazon.jsii.JsiiSerializable
The action that AWS WAF should take on a web request when it matches a rule's statement.

Settings at the web ACL level can override the rule action setting.

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.wafv2.*;
 RuleActionProperty ruleActionProperty = RuleActionProperty.builder()
         .allow(AllowActionProperty.builder()
                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                 .name("name")
                                 .value("value")
                                 .build()))
                         .build())
                 .build())
         .block(BlockActionProperty.builder()
                 .customResponse(CustomResponseProperty.builder()
                         .responseCode(123)
                         // the properties below are optional
                         .customResponseBodyKey("customResponseBodyKey")
                         .responseHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                 .name("name")
                                 .value("value")
                                 .build()))
                         .build())
                 .build())
         .captcha(CaptchaActionProperty.builder()
                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                 .name("name")
                                 .value("value")
                                 .build()))
                         .build())
                 .build())
         .challenge(ChallengeActionProperty.builder()
                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                 .name("name")
                                 .value("value")
                                 .build()))
                         .build())
                 .build())
         .count(CountActionProperty.builder()
                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                 .name("name")
                                 .value("value")
                                 .build()))
                         .build())
                 .build())
         .build();
 
  • Method Details

    • getAllow

      @Stability(Stable) @Nullable default Object getAllow()
      Instructs AWS WAF to allow the web request.
    • getBlock

      @Stability(Stable) @Nullable default Object getBlock()
      Instructs AWS WAF to block the web request.
    • getCaptcha

      @Stability(Stable) @Nullable default Object getCaptcha()
      Specifies that AWS WAF should run a CAPTCHA check against the request:.

      • If the request includes a valid, unexpired CAPTCHA token, AWS WAF allows the web request inspection to proceed to the next rule, similar to a CountAction .
      • If the request doesn't include a valid, unexpired CAPTCHA token, AWS WAF discontinues the web ACL evaluation of the request and blocks it from going to its intended destination.

      AWS WAF generates a response that it sends back to the client, which includes the following:

      • The header x-amzn-waf-action with a value of captcha .
      • The HTTP status code 405 Method Not Allowed .
      • If the request contains an Accept header with a value of text/html , the response includes a CAPTCHA challenge.

      You can configure the expiration time in the CaptchaConfig ImmunityTimeProperty setting at the rule and web ACL level. The rule setting overrides the web ACL setting.

      This action option is available for rules. It isn't available for web ACL default actions.

    • getChallenge

      @Stability(Stable) @Nullable default Object getChallenge()
      Instructs AWS WAF to run a Challenge check against the web request.
    • getCount

      @Stability(Stable) @Nullable default Object getCount()
      Instructs AWS WAF to count the web request and then continue evaluating the request using the remaining rules in the web ACL.
    • builder

      @Stability(Stable) static CfnWebACL.RuleActionProperty.Builder builder()
      Returns:
      a CfnWebACL.RuleActionProperty.Builder of CfnWebACL.RuleActionProperty