Class: AWSCDK::WAFv2::CfnRuleGroup::RateLimitCookieProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
wa_fv2/cfn_rule_group.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:



3192
3193
3194
3195
3196
3197
# File 'wa_fv2/cfn_rule_group.rb', line 3192

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("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfd2FmdjIuQ2ZuUnVsZUdyb3VwLlRleHRUcmFuc2Zvcm1hdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "textTransformations")
end

Instance Attribute Details

#nameString (readonly)

The name of the cookie to use.



3203
3204
3205
# File 'wa_fv2/cfn_rule_group.rb', line 3203

def name
  @name
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.

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.



3210
3211
3212
# File 'wa_fv2/cfn_rule_group.rb', line 3210

def text_transformations
  @text_transformations
end

Class Method Details

.jsii_propertiesObject



3212
3213
3214
3215
3216
3217
# File 'wa_fv2/cfn_rule_group.rb', line 3212

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

Instance Method Details

#to_jsiiObject



3219
3220
3221
3222
3223
3224
3225
3226
# File 'wa_fv2/cfn_rule_group.rb', line 3219

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