Class: AWSCDK::WAFv2::CfnWebACL::RateLimitHeaderProperty

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

Overview

Specifies a header as an aggregate key for a rate-based rule.

Each distinct value in the header contributes to the aggregation instance. If you use a single header 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:) ⇒ RateLimitHeaderProperty

Returns a new instance of RateLimitHeaderProperty.

Parameters:



4471
4472
4473
4474
4475
4476
# File 'wa_fv2/cfn_web_acl.rb', line 4471

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 header to use.



4482
4483
4484
# File 'wa_fv2/cfn_web_acl.rb', line 4482

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.



4489
4490
4491
# File 'wa_fv2/cfn_web_acl.rb', line 4489

def text_transformations
  @text_transformations
end

Class Method Details

.jsii_propertiesObject



4491
4492
4493
4494
4495
4496
# File 'wa_fv2/cfn_web_acl.rb', line 4491

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

Instance Method Details

#to_jsiiObject



4498
4499
4500
4501
4502
4503
4504
4505
# File 'wa_fv2/cfn_web_acl.rb', line 4498

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