Class: AWSCDK::WAFv2::CfnWebACL::RateLimitCookieProperty

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

Overview

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

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

Returns a new instance of RateLimitCookieProperty.

Parameters:



4424
4425
4426
4427
4428
4429
# File 'wa_fv2/cfn_web_acl.rb', line 4424

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



4435
4436
4437
# File 'wa_fv2/cfn_web_acl.rb', line 4435

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.



4442
4443
4444
# File 'wa_fv2/cfn_web_acl.rb', line 4442

def text_transformations
  @text_transformations
end

Class Method Details

.jsii_propertiesObject



4444
4445
4446
4447
4448
4449
# File 'wa_fv2/cfn_web_acl.rb', line 4444

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

Instance Method Details

#to_jsiiObject



4451
4452
4453
4454
4455
4456
4457
4458
# File 'wa_fv2/cfn_web_acl.rb', line 4451

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