Class: AWSCDK::WAF::CfnSqlInjectionMatchSet::FieldToMatchProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
waf/cfn_sql_injection_match_set.rb

Overview

The part of a web request that you want to inspect, such as a specified header or a query string.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, data: nil) ⇒ FieldToMatchProperty

Returns a new instance of FieldToMatchProperty.

Parameters:

  • type (String)

    The part of the web request that you want AWS WAF to search for a specified string.

  • data (String, nil) (defaults to: nil)

    When the value of Type is HEADER , enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer .



525
526
527
528
529
530
# File 'waf/cfn_sql_injection_match_set.rb', line 525

def initialize(type:, data: nil)
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @data = data
  Jsii::Type.check_type(@data, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "data") unless @data.nil?
end

Instance Attribute Details

#dataString? (readonly)

When the value of Type is HEADER , enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer .

The name of the header is not case sensitive.

When the value of Type is SINGLE_QUERY_ARG , enter the name of the parameter that you want AWS WAF to search, for example, UserName or SalesRegion . The parameter name is not case sensitive.

If the value of Type is any other value, omit Data .



557
558
559
# File 'waf/cfn_sql_injection_match_set.rb', line 557

def data
  @data
end

#typeString (readonly)

The part of the web request that you want AWS WAF to search for a specified string.

Parts of a request that you can search include the following:

  • HEADER : A specified request header, for example, the value of the User-Agent or Referer header. If you choose HEADER for the type, specify the name of the header in Data .
  • METHOD : The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: DELETE , GET , HEAD , OPTIONS , PATCH , POST , and PUT .
  • QUERY_STRING : A query string, which is the part of a URL that appears after a ? character, if any.
  • URI : The part of a web request that identifies a resource, for example, /images/daily-ad.jpg .
  • BODY : The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set.
  • SINGLE_QUERY_ARG : The parameter in the query string that you will inspect, such as UserName or SalesRegion . The maximum length for SINGLE_QUERY_ARG is 30 characters.
  • ALL_QUERY_ARGS : Similar to SINGLE_QUERY_ARG , but rather than inspecting a single parameter, AWS WAF will inspect all parameters within the query for the value or regex pattern that you specify in TargetString .


546
547
548
# File 'waf/cfn_sql_injection_match_set.rb', line 546

def type
  @type
end

Class Method Details

.jsii_propertiesObject



559
560
561
562
563
564
# File 'waf/cfn_sql_injection_match_set.rb', line 559

def self.jsii_properties
  {
    :type => "type",
    :data => "data",
  }
end

Instance Method Details

#to_jsiiObject



566
567
568
569
570
571
572
573
# File 'waf/cfn_sql_injection_match_set.rb', line 566

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