Class: AWSCDK::WAFv2::CfnWebACL::LabelMatchStatementProperty

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

Overview

A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, AWS WAF performs the search for labels that were added in the same context as the label match statement.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key:, scope:) ⇒ LabelMatchStatementProperty

Returns a new instance of LabelMatchStatementProperty.

Parameters:

  • key (String)

    The string to match against. The setting you provide for this depends on the match statement's Scope setting:.

  • scope (String)

    Specify whether you want to match using the label name or just the namespace.



3413
3414
3415
3416
3417
3418
# File 'wa_fv2/cfn_web_acl.rb', line 3413

def initialize(key:, scope:)
  @key = key
  Jsii::Type.check_type(@key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  @scope = scope
  Jsii::Type.check_type(@scope, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scope")
end

Instance Attribute Details

#keyString (readonly)

The string to match against. The setting you provide for this depends on the match statement's Scope setting:.

  • If the Scope indicates LABEL , then this specification must include the name and can include any number of preceding namespace specifications and prefix up to providing the fully qualified label name.
  • If the Scope indicates NAMESPACE , then this specification can include any number of contiguous namespace strings, and can include the entire label namespace prefix from the rule group or web ACL where the label originates.

Labels are case sensitive and components of a label must be separated by colon, for example NS1:NS2:name .



3429
3430
3431
# File 'wa_fv2/cfn_web_acl.rb', line 3429

def key
  @key
end

#scopeString (readonly)

Specify whether you want to match using the label name or just the namespace.



3434
3435
3436
# File 'wa_fv2/cfn_web_acl.rb', line 3434

def scope
  @scope
end

Class Method Details

.jsii_propertiesObject



3436
3437
3438
3439
3440
3441
# File 'wa_fv2/cfn_web_acl.rb', line 3436

def self.jsii_properties
  {
    :key => "key",
    :scope => "scope",
  }
end

Instance Method Details

#to_jsiiObject



3443
3444
3445
3446
3447
3448
3449
3450
# File 'wa_fv2/cfn_web_acl.rb', line 3443

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