Class: Aws::WAFV2::Types::FieldToMatch

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb

Overview

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

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.

JSON specification for a QueryString field to match:

"FieldToMatch": \{ "QueryString": \{\} \}

Example JSON for a Method field to match specification:

"FieldToMatch": \{ "Method": \{ "Name": "DELETE" \} \}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#all_query_argumentsTypes::AllQueryArguments

Inspect all query arguments.

Returns:

  • (Types::AllQueryArguments)


3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 3397

class FieldToMatch < Struct.new(
  :single_header,
  :single_query_argument,
  :all_query_arguments,
  :uri_path,
  :query_string,
  :body,
  :method,
  :json_body)
  SENSITIVE = []
  include Aws::Structure
end

#bodyTypes::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.

Returns:

  • (Types::Body)


3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 3397

class FieldToMatch < Struct.new(
  :single_header,
  :single_query_argument,
  :all_query_arguments,
  :uri_path,
  :query_string,
  :body,
  :method,
  :json_body)
  SENSITIVE = []
  include Aws::Structure
end

#json_bodyTypes::JsonBody

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.

Returns:



3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 3397

class FieldToMatch < Struct.new(
  :single_header,
  :single_query_argument,
  :all_query_arguments,
  :uri_path,
  :query_string,
  :body,
  :method,
  :json_body)
  SENSITIVE = []
  include Aws::Structure
end

#methodTypes::Method

Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.

Returns:

  • (Types::Method)


3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 3397

class FieldToMatch < Struct.new(
  :single_header,
  :single_query_argument,
  :all_query_arguments,
  :uri_path,
  :query_string,
  :body,
  :method,
  :json_body)
  SENSITIVE = []
  include Aws::Structure
end

#query_stringTypes::QueryString

Inspect the query string. This is the part of a URL that appears after a ? character, if any.

Returns:

  • (Types::QueryString)


3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 3397

class FieldToMatch < Struct.new(
  :single_header,
  :single_query_argument,
  :all_query_arguments,
  :uri_path,
  :query_string,
  :body,
  :method,
  :json_body)
  SENSITIVE = []
  include Aws::Structure
end

#single_headerTypes::SingleHeader

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" \}

Returns:



3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 3397

class FieldToMatch < Struct.new(
  :single_header,
  :single_query_argument,
  :all_query_arguments,
  :uri_path,
  :query_string,
  :body,
  :method,
  :json_body)
  SENSITIVE = []
  include Aws::Structure
end

#single_query_argumentTypes::SingleQueryArgument

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" \}



3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 3397

class FieldToMatch < Struct.new(
  :single_header,
  :single_query_argument,
  :all_query_arguments,
  :uri_path,
  :query_string,
  :body,
  :method,
  :json_body)
  SENSITIVE = []
  include Aws::Structure
end

#uri_pathTypes::UriPath

Inspect the request URI path. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

Returns:

  • (Types::UriPath)


3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 3397

class FieldToMatch < Struct.new(
  :single_header,
  :single_query_argument,
  :all_query_arguments,
  :uri_path,
  :query_string,
  :body,
  :method,
  :json_body)
  SENSITIVE = []
  include Aws::Structure
end