Class: AWSCDK::WAFv2::CfnWebACL::RateLimitQueryStringProperty

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

Overview

Specifies the request's query string as an aggregate key for a rate-based rule.

Each distinct string contributes to the aggregation instance. If you use just the query string as your custom key, then each string fully defines an aggregation instance.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text_transformations:) ⇒ RateLimitQueryStringProperty

Returns a new instance of RateLimitQueryStringProperty.

Parameters:



4683
4684
4685
4686
# File 'wa_fv2/cfn_web_acl.rb', line 4683

def initialize(text_transformations:)
  @text_transformations = text_transformations
  Jsii::Type.check_type(@text_transformations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfd2FmdjIuQ2ZuV2ViQUNMLlRleHRUcmFuc2Zvcm1hdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "textTransformations")
end

Instance Attribute Details

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

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

Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, AWS WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.



4694
4695
4696
# File 'wa_fv2/cfn_web_acl.rb', line 4694

def text_transformations
  @text_transformations
end

Class Method Details

.jsii_propertiesObject



4696
4697
4698
4699
4700
# File 'wa_fv2/cfn_web_acl.rb', line 4696

def self.jsii_properties
  {
    :text_transformations => "textTransformations",
  }
end

Instance Method Details

#to_jsiiObject



4702
4703
4704
4705
4706
4707
4708
# File 'wa_fv2/cfn_web_acl.rb', line 4702

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