Class: AWSCDK::WAFv2::CfnRuleGroup::RegexMatchStatementProperty

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

Overview

A rule statement used to search web request components for a match against a single regular expression.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(field_to_match:, regex_string:, text_transformations:) ⇒ RegexMatchStatementProperty

Returns a new instance of RegexMatchStatementProperty.

Parameters:



3525
3526
3527
3528
3529
3530
3531
3532
# File 'wa_fv2/cfn_rule_group.rb', line 3525

def initialize(field_to_match:, regex_string:, text_transformations:)
  @field_to_match = field_to_match.is_a?(Hash) ? ::AWSCDK::WAFv2::CfnRuleGroup::FieldToMatchProperty.new(**field_to_match.transform_keys(&:to_sym)) : field_to_match
  Jsii::Type.check_type(@field_to_match, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193YWZ2Mi5DZm5SdWxlR3JvdXAuRmllbGRUb01hdGNoUHJvcGVydHkifV19fQ==")), "fieldToMatch")
  @regex_string = regex_string
  Jsii::Type.check_type(@regex_string, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "regexString")
  @text_transformations = text_transformations
  Jsii::Type.check_type(@text_transformations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfd2FmdjIuQ2ZuUnVsZUdyb3VwLlRleHRUcmFuc2Zvcm1hdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "textTransformations")
end

Instance Attribute Details

#field_to_matchAWSCDK::IResolvable, AWSCDK::WAFv2::CfnRuleGroup::FieldToMatchProperty (readonly)

The part of the web request that you want AWS WAF to inspect.



3538
3539
3540
# File 'wa_fv2/cfn_rule_group.rb', line 3538

def field_to_match
  @field_to_match
end

#regex_stringString (readonly)

The string representing the regular expression.



3543
3544
3545
# File 'wa_fv2/cfn_rule_group.rb', line 3543

def regex_string
  @regex_string
end

#text_transformationsAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::WAFv2::CfnRuleGroup::TextTransformationProperty> (readonly)

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.

If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the content of the request component identified by FieldToMatch , starting from the lowest priority setting, before inspecting the content for a match.



3550
3551
3552
# File 'wa_fv2/cfn_rule_group.rb', line 3550

def text_transformations
  @text_transformations
end

Class Method Details

.jsii_propertiesObject



3552
3553
3554
3555
3556
3557
3558
# File 'wa_fv2/cfn_rule_group.rb', line 3552

def self.jsii_properties
  {
    :field_to_match => "fieldToMatch",
    :regex_string => "regexString",
    :text_transformations => "textTransformations",
  }
end

Instance Method Details

#to_jsiiObject



3560
3561
3562
3563
3564
3565
3566
3567
3568
# File 'wa_fv2/cfn_rule_group.rb', line 3560

def to_jsii
  result = {}
  result.merge!({
    "fieldToMatch" => @field_to_match,
    "regexString" => @regex_string,
    "textTransformations" => @text_transformations,
  })
  result.compact
end