Class: AWSCDK::WAFv2::CfnWebACL::CaptchaActionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
wa_fv2/cfn_web_acl.rb

Overview

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.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(custom_request_handling: nil) ⇒ CaptchaActionProperty

Returns a new instance of CaptchaActionProperty.

Parameters:



1515
1516
1517
1518
# File 'wa_fv2/cfn_web_acl.rb', line 1515

def initialize(custom_request_handling: nil)
  @custom_request_handling = custom_request_handling.is_a?(Hash) ? ::AWSCDK::WAFv2::CfnWebACL::CustomRequestHandlingProperty.new(**custom_request_handling.transform_keys(&:to_sym)) : custom_request_handling
  Jsii::Type.check_type(@custom_request_handling, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193YWZ2Mi5DZm5XZWJBQ0wuQ3VzdG9tUmVxdWVzdEhhbmRsaW5nUHJvcGVydHkifV19fQ==")), "customRequestHandling") unless @custom_request_handling.nil?
end

Instance Attribute Details

#custom_request_handlingAWSCDK::IResolvable, ... (readonly)

Defines custom handling for the web request, used when the CAPTCHA inspection determines that the request's token is valid and unexpired.

For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide .



1526
1527
1528
# File 'wa_fv2/cfn_web_acl.rb', line 1526

def custom_request_handling
  @custom_request_handling
end

Class Method Details

.jsii_propertiesObject



1528
1529
1530
1531
1532
# File 'wa_fv2/cfn_web_acl.rb', line 1528

def self.jsii_properties
  {
    :custom_request_handling => "customRequestHandling",
  }
end

Instance Method Details

#to_jsiiObject



1534
1535
1536
1537
1538
1539
1540
# File 'wa_fv2/cfn_web_acl.rb', line 1534

def to_jsii
  result = {}
  result.merge!({
    "customRequestHandling" => @custom_request_handling,
  })
  result.compact
end