/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Inspect the body of the web request as JSON. The body immediately follows the
* request headers. This is used to indicate the web request component to
* inspect, in the FieldToMatch specification. Use the
* specifications in this object to indicate which parts of the JSON body to
* inspect using the rule's inspection criteria. WAF inspects only the parts of the
* JSON that result from the matches that you indicate. Example JSON:
* "JsonBody": { "MatchPattern": { "All": {} }, "MatchScope": "ALL" }
* See Also:
AWS API
* Reference
The patterns to look for in the JSON body. WAF inspects the results of these * pattern matches against the rule inspection criteria.
*/ inline const JsonMatchPattern& GetMatchPattern() const{ return m_matchPattern; } /** *The patterns to look for in the JSON body. WAF inspects the results of these * pattern matches against the rule inspection criteria.
*/ inline bool MatchPatternHasBeenSet() const { return m_matchPatternHasBeenSet; } /** *The patterns to look for in the JSON body. WAF inspects the results of these * pattern matches against the rule inspection criteria.
*/ inline void SetMatchPattern(const JsonMatchPattern& value) { m_matchPatternHasBeenSet = true; m_matchPattern = value; } /** *The patterns to look for in the JSON body. WAF inspects the results of these * pattern matches against the rule inspection criteria.
*/ inline void SetMatchPattern(JsonMatchPattern&& value) { m_matchPatternHasBeenSet = true; m_matchPattern = std::move(value); } /** *The patterns to look for in the JSON body. WAF inspects the results of these * pattern matches against the rule inspection criteria.
*/ inline JsonBody& WithMatchPattern(const JsonMatchPattern& value) { SetMatchPattern(value); return *this;} /** *The patterns to look for in the JSON body. WAF inspects the results of these * pattern matches against the rule inspection criteria.
*/ inline JsonBody& WithMatchPattern(JsonMatchPattern&& value) { SetMatchPattern(std::move(value)); return *this;} /** *The parts of the JSON to match against using the MatchPattern
.
* If you specify All
, WAF matches against keys and values.
The parts of the JSON to match against using the MatchPattern
.
* If you specify All
, WAF matches against keys and values.
The parts of the JSON to match against using the MatchPattern
.
* If you specify All
, WAF matches against keys and values.
The parts of the JSON to match against using the MatchPattern
.
* If you specify All
, WAF matches against keys and values.
The parts of the JSON to match against using the MatchPattern
.
* If you specify All
, WAF matches against keys and values.
The parts of the JSON to match against using the MatchPattern
.
* If you specify All
, WAF matches against keys and values.
What WAF should do if it fails to completely parse the JSON body. The options * are the following:
EVALUATE_AS_STRING
- Inspect
* the body as plain text. WAF applies the text transformations and inspection
* criteria that you defined for the JSON inspection to the body text string.
MATCH
- Treat the web request as matching the rule
* statement. WAF applies the rule action to the request.
* NO_MATCH
- Treat the web request as not matching the rule
* statement.
If you don't provide this setting, WAF parses and * evaluates the content only up to the first parsing failure that it encounters. *
WAF does its best to parse the entire JSON body, but might be forced to * stop for reasons such as invalid characters, duplicate keys, truncation, and any * content whose root node isn't an object or an array.
WAF parses the JSON * in the following examples as two valid key, value pairs:
Missing comma: {"key1":"value1""key2":"value2"}
Missing colon: {"key1":"value1","key2""value2"}
Extra colons: {"key1"::"value1","key2""value2"}
What WAF should do if it fails to completely parse the JSON body. The options * are the following:
EVALUATE_AS_STRING
- Inspect
* the body as plain text. WAF applies the text transformations and inspection
* criteria that you defined for the JSON inspection to the body text string.
MATCH
- Treat the web request as matching the rule
* statement. WAF applies the rule action to the request.
* NO_MATCH
- Treat the web request as not matching the rule
* statement.
If you don't provide this setting, WAF parses and * evaluates the content only up to the first parsing failure that it encounters. *
WAF does its best to parse the entire JSON body, but might be forced to * stop for reasons such as invalid characters, duplicate keys, truncation, and any * content whose root node isn't an object or an array.
WAF parses the JSON * in the following examples as two valid key, value pairs:
Missing comma: {"key1":"value1""key2":"value2"}
Missing colon: {"key1":"value1","key2""value2"}
Extra colons: {"key1"::"value1","key2""value2"}
What WAF should do if it fails to completely parse the JSON body. The options * are the following:
EVALUATE_AS_STRING
- Inspect
* the body as plain text. WAF applies the text transformations and inspection
* criteria that you defined for the JSON inspection to the body text string.
MATCH
- Treat the web request as matching the rule
* statement. WAF applies the rule action to the request.
* NO_MATCH
- Treat the web request as not matching the rule
* statement.
If you don't provide this setting, WAF parses and * evaluates the content only up to the first parsing failure that it encounters. *
WAF does its best to parse the entire JSON body, but might be forced to * stop for reasons such as invalid characters, duplicate keys, truncation, and any * content whose root node isn't an object or an array.
WAF parses the JSON * in the following examples as two valid key, value pairs:
Missing comma: {"key1":"value1""key2":"value2"}
Missing colon: {"key1":"value1","key2""value2"}
Extra colons: {"key1"::"value1","key2""value2"}
What WAF should do if it fails to completely parse the JSON body. The options * are the following:
EVALUATE_AS_STRING
- Inspect
* the body as plain text. WAF applies the text transformations and inspection
* criteria that you defined for the JSON inspection to the body text string.
MATCH
- Treat the web request as matching the rule
* statement. WAF applies the rule action to the request.
* NO_MATCH
- Treat the web request as not matching the rule
* statement.
If you don't provide this setting, WAF parses and * evaluates the content only up to the first parsing failure that it encounters. *
WAF does its best to parse the entire JSON body, but might be forced to * stop for reasons such as invalid characters, duplicate keys, truncation, and any * content whose root node isn't an object or an array.
WAF parses the JSON * in the following examples as two valid key, value pairs:
Missing comma: {"key1":"value1""key2":"value2"}
Missing colon: {"key1":"value1","key2""value2"}
Extra colons: {"key1"::"value1","key2""value2"}
What WAF should do if it fails to completely parse the JSON body. The options * are the following:
EVALUATE_AS_STRING
- Inspect
* the body as plain text. WAF applies the text transformations and inspection
* criteria that you defined for the JSON inspection to the body text string.
MATCH
- Treat the web request as matching the rule
* statement. WAF applies the rule action to the request.
* NO_MATCH
- Treat the web request as not matching the rule
* statement.
If you don't provide this setting, WAF parses and * evaluates the content only up to the first parsing failure that it encounters. *
WAF does its best to parse the entire JSON body, but might be forced to * stop for reasons such as invalid characters, duplicate keys, truncation, and any * content whose root node isn't an object or an array.
WAF parses the JSON * in the following examples as two valid key, value pairs:
Missing comma: {"key1":"value1""key2":"value2"}
Missing colon: {"key1":"value1","key2""value2"}
Extra colons: {"key1"::"value1","key2""value2"}
What WAF should do if it fails to completely parse the JSON body. The options * are the following:
EVALUATE_AS_STRING
- Inspect
* the body as plain text. WAF applies the text transformations and inspection
* criteria that you defined for the JSON inspection to the body text string.
MATCH
- Treat the web request as matching the rule
* statement. WAF applies the rule action to the request.
* NO_MATCH
- Treat the web request as not matching the rule
* statement.
If you don't provide this setting, WAF parses and * evaluates the content only up to the first parsing failure that it encounters. *
WAF does its best to parse the entire JSON body, but might be forced to * stop for reasons such as invalid characters, duplicate keys, truncation, and any * content whose root node isn't an object or an array.
WAF parses the JSON * in the following examples as two valid key, value pairs:
Missing comma: {"key1":"value1""key2":"value2"}
Missing colon: {"key1":"value1","key2""value2"}
Extra colons: {"key1"::"value1","key2""value2"}
What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.
The default limit is 8 KB (8,192 kilobytes) for
* regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions.
* For CloudFront distributions, you can increase the limit in the web ACL
* AssociationConfig
, for additional processing fees.
The * options for oversize handling are the following:
* CONTINUE
- Inspect the available body contents normally, according
* to the rule inspection criteria.
MATCH
- Treat
* the web request as matching the rule statement. WAF applies the rule action to
* the request.
NO_MATCH
- Treat the web request as
* not matching the rule statement.
You can combine the
* MATCH
or NO_MATCH
settings for oversize handling with
* your rule and web ACL action settings, so that you block any request whose body
* is over the limit.
Default: CONTINUE
What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.
The default limit is 8 KB (8,192 kilobytes) for
* regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions.
* For CloudFront distributions, you can increase the limit in the web ACL
* AssociationConfig
, for additional processing fees.
The * options for oversize handling are the following:
* CONTINUE
- Inspect the available body contents normally, according
* to the rule inspection criteria.
MATCH
- Treat
* the web request as matching the rule statement. WAF applies the rule action to
* the request.
NO_MATCH
- Treat the web request as
* not matching the rule statement.
You can combine the
* MATCH
or NO_MATCH
settings for oversize handling with
* your rule and web ACL action settings, so that you block any request whose body
* is over the limit.
Default: CONTINUE
What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.
The default limit is 8 KB (8,192 kilobytes) for
* regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions.
* For CloudFront distributions, you can increase the limit in the web ACL
* AssociationConfig
, for additional processing fees.
The * options for oversize handling are the following:
* CONTINUE
- Inspect the available body contents normally, according
* to the rule inspection criteria.
MATCH
- Treat
* the web request as matching the rule statement. WAF applies the rule action to
* the request.
NO_MATCH
- Treat the web request as
* not matching the rule statement.
You can combine the
* MATCH
or NO_MATCH
settings for oversize handling with
* your rule and web ACL action settings, so that you block any request whose body
* is over the limit.
Default: CONTINUE
What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.
The default limit is 8 KB (8,192 kilobytes) for
* regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions.
* For CloudFront distributions, you can increase the limit in the web ACL
* AssociationConfig
, for additional processing fees.
The * options for oversize handling are the following:
* CONTINUE
- Inspect the available body contents normally, according
* to the rule inspection criteria.
MATCH
- Treat
* the web request as matching the rule statement. WAF applies the rule action to
* the request.
NO_MATCH
- Treat the web request as
* not matching the rule statement.
You can combine the
* MATCH
or NO_MATCH
settings for oversize handling with
* your rule and web ACL action settings, so that you block any request whose body
* is over the limit.
Default: CONTINUE
What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.
The default limit is 8 KB (8,192 kilobytes) for
* regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions.
* For CloudFront distributions, you can increase the limit in the web ACL
* AssociationConfig
, for additional processing fees.
The * options for oversize handling are the following:
* CONTINUE
- Inspect the available body contents normally, according
* to the rule inspection criteria.
MATCH
- Treat
* the web request as matching the rule statement. WAF applies the rule action to
* the request.
NO_MATCH
- Treat the web request as
* not matching the rule statement.
You can combine the
* MATCH
or NO_MATCH
settings for oversize handling with
* your rule and web ACL action settings, so that you block any request whose body
* is over the limit.
Default: CONTINUE
What WAF should do if the body is larger than WAF can inspect. WAF does not * support inspecting the entire contents of the web request body if the body * exceeds the limit for the resource type. If the body is larger than the limit, * the underlying host service only forwards the contents that are below the limit * to WAF for inspection.
The default limit is 8 KB (8,192 kilobytes) for
* regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions.
* For CloudFront distributions, you can increase the limit in the web ACL
* AssociationConfig
, for additional processing fees.
The * options for oversize handling are the following:
* CONTINUE
- Inspect the available body contents normally, according
* to the rule inspection criteria.
MATCH
- Treat
* the web request as matching the rule statement. WAF applies the rule action to
* the request.
NO_MATCH
- Treat the web request as
* not matching the rule statement.
You can combine the
* MATCH
or NO_MATCH
settings for oversize handling with
* your rule and web ACL action settings, so that you block any request whose body
* is over the limit.
Default: CONTINUE