class Aws::WAFV2::Types::SizeConstraintStatement

A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

If you configure WAF to inspect the request body, WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you can create a size constraint condition and block requests that have a request body greater than 8192 bytes.

If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI `/logo.jpg` is nine characters long.

@note When making an API call, you may pass SizeConstraintStatement

data as a hash:

    {
      field_to_match: { # required
        single_header: {
          name: "FieldToMatchData", # required
        },
        single_query_argument: {
          name: "FieldToMatchData", # required
        },
        all_query_arguments: {
        },
        uri_path: {
        },
        query_string: {
        },
        body: {
        },
        method: {
        },
        json_body: {
          match_pattern: { # required
            all: {
            },
            included_paths: ["JsonPointerPath"],
          },
          match_scope: "ALL", # required, accepts ALL, KEY, VALUE
          invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
        },
      },
      comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
      size: 1, # required
      text_transformations: [ # required
        {
          priority: 1, # required
          type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
        },
      ],
    }

@!attribute [rw] field_to_match

The part of a web request that you want WAF to inspect. For more
information, see FieldToMatch.
@return [Types::FieldToMatch]

@!attribute [rw] comparison_operator

The operator to use to compare the request part to the size setting.
@return [String]

@!attribute [rw] size

The size, in byte, to compare to the request part, after any
transformations.
@return [Integer]

@!attribute [rw] text_transformations

Text transformations eliminate some of the unusual formatting that
attackers use in web requests in an effort to bypass detection. If
you specify one or more transformations in a rule statement, WAF
performs all transformations on the content of the request component
identified by `FieldToMatch`, starting from the lowest priority
setting, before inspecting the content for a match.
@return [Array<Types::TextTransformation>]

@see docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/SizeConstraintStatement AWS API Documentation

Constants

SENSITIVE