class Aws::WAFV2::Types::FieldToMatch

The part of a web request that you want WAF to inspect. Include the single `FieldToMatch` type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component in `FieldToMatch` for each rule statement that requires it. To inspect more than one component of a web request, create a separate rule statement for each component.

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

data as a hash:

    {
      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
      },
    }

@!attribute [rw] single_header

Inspect a single header. Provide the name of the header to inspect,
for example, `User-Agent` or `Referer`. This setting isn't case
sensitive.

Example JSON: `"SingleHeader": \{ "Name": "haystack" \}`
@return [Types::SingleHeader]

@!attribute [rw] single_query_argument

Inspect a single query argument. Provide the name of the query
argument to inspect, such as *UserName* or *SalesRegion*. The name
can be up to 30 characters long and isn't case sensitive.

This is used only to indicate the web request component for WAF to
inspect, in the FieldToMatch specification.

Example JSON: `"SingleQueryArgument": \{ "Name": "myArgument" \}`
@return [Types::SingleQueryArgument]

@!attribute [rw] all_query_arguments

Inspect all query arguments.
@return [Types::AllQueryArguments]

@!attribute [rw] uri_path

Inspect the request URI path. This is the part of a web request that
identifies a resource, for example, `/images/daily-ad.jpg`.
@return [Types::UriPath]

@!attribute [rw] query_string

Inspect the query string. This is the part of a URL that appears
after a `?` character, if any.
@return [Types::QueryString]

@!attribute [rw] body

Inspect the request body as plain text. The request body immediately
follows the request headers. This is 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.

Note that only the first 8 KB (8192 bytes) of the request body are
forwarded to WAF for inspection by the underlying host service. If
you don't need to inspect more than 8 KB, you can guarantee that
you don't allow additional bytes in by combining a statement that
inspects the body of the web request, such as ByteMatchStatement or
RegexPatternSetReferenceStatement, with a SizeConstraintStatement
that enforces an 8 KB size limit on the body of the request. WAF
doesn't support inspecting the entire contents of web requests
whose bodies exceed the 8 KB limit.
@return [Types::Body]

@!attribute [rw] method

Inspect the HTTP method. The method indicates the type of operation
that the request is asking the origin to perform.
@return [Types::Method]

@!attribute [rw] json_body

Inspect the request body as JSON. The request body immediately
follows the request headers. This is 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.

Note that only the first 8 KB (8192 bytes) of the request body are
forwarded to WAF for inspection by the underlying host service. If
you don't need to inspect more than 8 KB, you can guarantee that
you don't allow additional bytes in by combining a statement that
inspects the body of the web request, such as ByteMatchStatement or
RegexPatternSetReferenceStatement, with a SizeConstraintStatement
that enforces an 8 KB size limit on the body of the request. WAF
doesn't support inspecting the entire contents of web requests
whose bodies exceed the 8 KB limit.
@return [Types::JsonBody]

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

Constants

SENSITIVE