Class: AWSCDK::WAFv2::CfnWebACL::RateLimitQueryArgumentProperty

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

Overview

Specifies a query argument in the request as an aggregate key for a rate-based rule.

Each distinct value for the named query argument contributes to the aggregation instance. If you use a single query argument as your custom key, then each value fully defines an aggregation instance.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, text_transformations:) ⇒ RateLimitQueryArgumentProperty

Returns a new instance of RateLimitQueryArgumentProperty.

Parameters:



4637
4638
4639
4640
4641
4642
# File 'wa_fv2/cfn_web_acl.rb', line 4637

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

Instance Attribute Details

#nameString (readonly)

The name of the query argument to use.



4648
4649
4650
# File 'wa_fv2/cfn_web_acl.rb', line 4648

def name
  @name
end

#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.



4655
4656
4657
# File 'wa_fv2/cfn_web_acl.rb', line 4655

def text_transformations
  @text_transformations
end

Class Method Details

.jsii_propertiesObject



4657
4658
4659
4660
4661
4662
# File 'wa_fv2/cfn_web_acl.rb', line 4657

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

Instance Method Details

#to_jsiiObject



4664
4665
4666
4667
4668
4669
4670
4671
# File 'wa_fv2/cfn_web_acl.rb', line 4664

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