/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The part of the web request that you want WAF to inspect. Include the single
* Example JSON for a Example JSON for a 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 the web request, create a separate rule
* statement for each component.QueryString
* field to match: "FieldToMatch": { "QueryString": {} }
* Method
field to match specification: "FieldToMatch": { "Method": { "Name": "DELETE" } }
* See Also:
AWS
* API Reference
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"
* }
Alternately, you can filter and inspect all headers with the
* Headers
FieldToMatch
setting.
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"
* }
Alternately, you can filter and inspect all headers with the
* Headers
FieldToMatch
setting.
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"
* }
Alternately, you can filter and inspect all headers with the
* Headers
FieldToMatch
setting.
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"
* }
Alternately, you can filter and inspect all headers with the
* Headers
FieldToMatch
setting.
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"
* }
Alternately, you can filter and inspect all headers with the
* Headers
FieldToMatch
setting.
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"
* }
Alternately, you can filter and inspect all headers with the
* Headers
FieldToMatch
setting.
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.
Example JSON:
* "SingleQueryArgument": { "Name": "myArgument" }
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.
Example JSON:
* "SingleQueryArgument": { "Name": "myArgument" }
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.
Example JSON:
* "SingleQueryArgument": { "Name": "myArgument" }
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.
Example JSON:
* "SingleQueryArgument": { "Name": "myArgument" }
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.
Example JSON:
* "SingleQueryArgument": { "Name": "myArgument" }
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.
Example JSON:
* "SingleQueryArgument": { "Name": "myArgument" }
Inspect all query arguments.
*/ inline const AllQueryArguments& GetAllQueryArguments() const{ return m_allQueryArguments; } /** *Inspect all query arguments.
*/ inline bool AllQueryArgumentsHasBeenSet() const { return m_allQueryArgumentsHasBeenSet; } /** *Inspect all query arguments.
*/ inline void SetAllQueryArguments(const AllQueryArguments& value) { m_allQueryArgumentsHasBeenSet = true; m_allQueryArguments = value; } /** *Inspect all query arguments.
*/ inline void SetAllQueryArguments(AllQueryArguments&& value) { m_allQueryArgumentsHasBeenSet = true; m_allQueryArguments = std::move(value); } /** *Inspect all query arguments.
*/ inline FieldToMatch& WithAllQueryArguments(const AllQueryArguments& value) { SetAllQueryArguments(value); return *this;} /** *Inspect all query arguments.
*/ inline FieldToMatch& WithAllQueryArguments(AllQueryArguments&& value) { SetAllQueryArguments(std::move(value)); return *this;} /** *Inspect the request URI path. This is the part of the web request that
* identifies a resource, for example, /images/daily-ad.jpg
.
Inspect the request URI path. This is the part of the web request that
* identifies a resource, for example, /images/daily-ad.jpg
.
Inspect the request URI path. This is the part of the web request that
* identifies a resource, for example, /images/daily-ad.jpg
.
Inspect the request URI path. This is the part of the web request that
* identifies a resource, for example, /images/daily-ad.jpg
.
Inspect the request URI path. This is the part of the web request that
* identifies a resource, for example, /images/daily-ad.jpg
.
Inspect the request URI path. This is the part of the web request that
* identifies a resource, for example, /images/daily-ad.jpg
.
Inspect the query string. This is the part of a URL that appears after a
* ?
character, if any.
Inspect the query string. This is the part of a URL that appears after a
* ?
character, if any.
Inspect the query string. This is the part of a URL that appears after a
* ?
character, if any.
Inspect the query string. This is the part of a URL that appears after a
* ?
character, if any.
Inspect the query string. This is the part of a URL that appears after a
* ?
character, if any.
Inspect the query string. This is the part of a URL that appears after a
* ?
character, if any.
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.
A limited amount of the request body is forwarded to
* WAF for inspection by the underlying host service. For regional resources, the
* limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is
* 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the
* limit in the web ACL's AssociationConfig
, for additional processing
* fees.
For information about how to handle oversized request bodies, see
* the Body
object configuration.
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.
A limited amount of the request body is forwarded to
* WAF for inspection by the underlying host service. For regional resources, the
* limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is
* 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the
* limit in the web ACL's AssociationConfig
, for additional processing
* fees.
For information about how to handle oversized request bodies, see
* the Body
object configuration.
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.
A limited amount of the request body is forwarded to
* WAF for inspection by the underlying host service. For regional resources, the
* limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is
* 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the
* limit in the web ACL's AssociationConfig
, for additional processing
* fees.
For information about how to handle oversized request bodies, see
* the Body
object configuration.
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.
A limited amount of the request body is forwarded to
* WAF for inspection by the underlying host service. For regional resources, the
* limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is
* 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the
* limit in the web ACL's AssociationConfig
, for additional processing
* fees.
For information about how to handle oversized request bodies, see
* the Body
object configuration.
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.
A limited amount of the request body is forwarded to
* WAF for inspection by the underlying host service. For regional resources, the
* limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is
* 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the
* limit in the web ACL's AssociationConfig
, for additional processing
* fees.
For information about how to handle oversized request bodies, see
* the Body
object configuration.
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.
A limited amount of the request body is forwarded to
* WAF for inspection by the underlying host service. For regional resources, the
* limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is
* 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the
* limit in the web ACL's AssociationConfig
, for additional processing
* fees.
For information about how to handle oversized request bodies, see
* the Body
object configuration.
Inspect the HTTP method. The method indicates the type of operation that the * request is asking the origin to perform.
*/ inline const Method& GetMethod() const{ return m_method; } /** *Inspect the HTTP method. The method indicates the type of operation that the * request is asking the origin to perform.
*/ inline bool MethodHasBeenSet() const { return m_methodHasBeenSet; } /** *Inspect the HTTP method. The method indicates the type of operation that the * request is asking the origin to perform.
*/ inline void SetMethod(const Method& value) { m_methodHasBeenSet = true; m_method = value; } /** *Inspect the HTTP method. The method indicates the type of operation that the * request is asking the origin to perform.
*/ inline void SetMethod(Method&& value) { m_methodHasBeenSet = true; m_method = std::move(value); } /** *Inspect the HTTP method. The method indicates the type of operation that the * request is asking the origin to perform.
*/ inline FieldToMatch& WithMethod(const Method& value) { SetMethod(value); return *this;} /** *Inspect the HTTP method. The method indicates the type of operation that the * request is asking the origin to perform.
*/ inline FieldToMatch& WithMethod(Method&& value) { SetMethod(std::move(value)); return *this;} /** *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.
A limited amount of the request body is forwarded to WAF
* for inspection by the underlying host service. For regional resources, the limit
* is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB
* (16,384 kilobytes). For CloudFront distributions, you can increase the limit in
* the web ACL's AssociationConfig
, for additional processing fees.
*
For information about how to handle oversized request bodies, see the
* JsonBody
object configuration.
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.
A limited amount of the request body is forwarded to WAF
* for inspection by the underlying host service. For regional resources, the limit
* is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB
* (16,384 kilobytes). For CloudFront distributions, you can increase the limit in
* the web ACL's AssociationConfig
, for additional processing fees.
*
For information about how to handle oversized request bodies, see the
* JsonBody
object configuration.
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.
A limited amount of the request body is forwarded to WAF
* for inspection by the underlying host service. For regional resources, the limit
* is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB
* (16,384 kilobytes). For CloudFront distributions, you can increase the limit in
* the web ACL's AssociationConfig
, for additional processing fees.
*
For information about how to handle oversized request bodies, see the
* JsonBody
object configuration.
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.
A limited amount of the request body is forwarded to WAF
* for inspection by the underlying host service. For regional resources, the limit
* is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB
* (16,384 kilobytes). For CloudFront distributions, you can increase the limit in
* the web ACL's AssociationConfig
, for additional processing fees.
*
For information about how to handle oversized request bodies, see the
* JsonBody
object configuration.
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.
A limited amount of the request body is forwarded to WAF
* for inspection by the underlying host service. For regional resources, the limit
* is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB
* (16,384 kilobytes). For CloudFront distributions, you can increase the limit in
* the web ACL's AssociationConfig
, for additional processing fees.
*
For information about how to handle oversized request bodies, see the
* JsonBody
object configuration.
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.
A limited amount of the request body is forwarded to WAF
* for inspection by the underlying host service. For regional resources, the limit
* is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB
* (16,384 kilobytes). For CloudFront distributions, you can increase the limit in
* the web ACL's AssociationConfig
, for additional processing fees.
*
For information about how to handle oversized request bodies, see the
* JsonBody
object configuration.
Inspect the request headers. You must configure scope and pattern matching
* filters in the Headers
object, to define the set of headers to and
* the parts of the headers that WAF inspects.
Only the first 8 KB (8192
* bytes) of a request's headers and only the first 200 headers are forwarded to
* WAF for inspection by the underlying host service. You must configure how to
* handle any oversize header content in the Headers
object. WAF
* applies the pattern matching filters to the headers that it receives from the
* underlying host service.
Inspect the request headers. You must configure scope and pattern matching
* filters in the Headers
object, to define the set of headers to and
* the parts of the headers that WAF inspects.
Only the first 8 KB (8192
* bytes) of a request's headers and only the first 200 headers are forwarded to
* WAF for inspection by the underlying host service. You must configure how to
* handle any oversize header content in the Headers
object. WAF
* applies the pattern matching filters to the headers that it receives from the
* underlying host service.
Inspect the request headers. You must configure scope and pattern matching
* filters in the Headers
object, to define the set of headers to and
* the parts of the headers that WAF inspects.
Only the first 8 KB (8192
* bytes) of a request's headers and only the first 200 headers are forwarded to
* WAF for inspection by the underlying host service. You must configure how to
* handle any oversize header content in the Headers
object. WAF
* applies the pattern matching filters to the headers that it receives from the
* underlying host service.
Inspect the request headers. You must configure scope and pattern matching
* filters in the Headers
object, to define the set of headers to and
* the parts of the headers that WAF inspects.
Only the first 8 KB (8192
* bytes) of a request's headers and only the first 200 headers are forwarded to
* WAF for inspection by the underlying host service. You must configure how to
* handle any oversize header content in the Headers
object. WAF
* applies the pattern matching filters to the headers that it receives from the
* underlying host service.
Inspect the request headers. You must configure scope and pattern matching
* filters in the Headers
object, to define the set of headers to and
* the parts of the headers that WAF inspects.
Only the first 8 KB (8192
* bytes) of a request's headers and only the first 200 headers are forwarded to
* WAF for inspection by the underlying host service. You must configure how to
* handle any oversize header content in the Headers
object. WAF
* applies the pattern matching filters to the headers that it receives from the
* underlying host service.
Inspect the request headers. You must configure scope and pattern matching
* filters in the Headers
object, to define the set of headers to and
* the parts of the headers that WAF inspects.
Only the first 8 KB (8192
* bytes) of a request's headers and only the first 200 headers are forwarded to
* WAF for inspection by the underlying host service. You must configure how to
* handle any oversize header content in the Headers
object. WAF
* applies the pattern matching filters to the headers that it receives from the
* underlying host service.
Inspect the request cookies. You must configure scope and pattern matching
* filters in the Cookies
object, to define the set of cookies and the
* parts of the cookies that WAF inspects.
Only the first 8 KB (8192 bytes)
* of a request's cookies and only the first 200 cookies are forwarded to WAF for
* inspection by the underlying host service. You must configure how to handle any
* oversize cookie content in the Cookies
object. WAF applies the
* pattern matching filters to the cookies that it receives from the underlying
* host service.
Inspect the request cookies. You must configure scope and pattern matching
* filters in the Cookies
object, to define the set of cookies and the
* parts of the cookies that WAF inspects.
Only the first 8 KB (8192 bytes)
* of a request's cookies and only the first 200 cookies are forwarded to WAF for
* inspection by the underlying host service. You must configure how to handle any
* oversize cookie content in the Cookies
object. WAF applies the
* pattern matching filters to the cookies that it receives from the underlying
* host service.
Inspect the request cookies. You must configure scope and pattern matching
* filters in the Cookies
object, to define the set of cookies and the
* parts of the cookies that WAF inspects.
Only the first 8 KB (8192 bytes)
* of a request's cookies and only the first 200 cookies are forwarded to WAF for
* inspection by the underlying host service. You must configure how to handle any
* oversize cookie content in the Cookies
object. WAF applies the
* pattern matching filters to the cookies that it receives from the underlying
* host service.
Inspect the request cookies. You must configure scope and pattern matching
* filters in the Cookies
object, to define the set of cookies and the
* parts of the cookies that WAF inspects.
Only the first 8 KB (8192 bytes)
* of a request's cookies and only the first 200 cookies are forwarded to WAF for
* inspection by the underlying host service. You must configure how to handle any
* oversize cookie content in the Cookies
object. WAF applies the
* pattern matching filters to the cookies that it receives from the underlying
* host service.
Inspect the request cookies. You must configure scope and pattern matching
* filters in the Cookies
object, to define the set of cookies and the
* parts of the cookies that WAF inspects.
Only the first 8 KB (8192 bytes)
* of a request's cookies and only the first 200 cookies are forwarded to WAF for
* inspection by the underlying host service. You must configure how to handle any
* oversize cookie content in the Cookies
object. WAF applies the
* pattern matching filters to the cookies that it receives from the underlying
* host service.
Inspect the request cookies. You must configure scope and pattern matching
* filters in the Cookies
object, to define the set of cookies and the
* parts of the cookies that WAF inspects.
Only the first 8 KB (8192 bytes)
* of a request's cookies and only the first 200 cookies are forwarded to WAF for
* inspection by the underlying host service. You must configure how to handle any
* oversize cookie content in the Cookies
object. WAF applies the
* pattern matching filters to the cookies that it receives from the underlying
* host service.
Inspect a string containing the list of the request's header names, ordered
* as they appear in the web request that WAF receives for inspection. WAF
* generates the string and then uses that as the field to match component in its
* inspection. WAF separates the header names in the string using colons and no
* added spaces, for example
* host:user-agent:accept:authorization:referer
.
Inspect a string containing the list of the request's header names, ordered
* as they appear in the web request that WAF receives for inspection. WAF
* generates the string and then uses that as the field to match component in its
* inspection. WAF separates the header names in the string using colons and no
* added spaces, for example
* host:user-agent:accept:authorization:referer
.
Inspect a string containing the list of the request's header names, ordered
* as they appear in the web request that WAF receives for inspection. WAF
* generates the string and then uses that as the field to match component in its
* inspection. WAF separates the header names in the string using colons and no
* added spaces, for example
* host:user-agent:accept:authorization:referer
.
Inspect a string containing the list of the request's header names, ordered
* as they appear in the web request that WAF receives for inspection. WAF
* generates the string and then uses that as the field to match component in its
* inspection. WAF separates the header names in the string using colons and no
* added spaces, for example
* host:user-agent:accept:authorization:referer
.
Inspect a string containing the list of the request's header names, ordered
* as they appear in the web request that WAF receives for inspection. WAF
* generates the string and then uses that as the field to match component in its
* inspection. WAF separates the header names in the string using colons and no
* added spaces, for example
* host:user-agent:accept:authorization:referer
.
Inspect a string containing the list of the request's header names, ordered
* as they appear in the web request that WAF receives for inspection. WAF
* generates the string and then uses that as the field to match component in its
* inspection. WAF separates the header names in the string using colons and no
* added spaces, for example
* host:user-agent:accept:authorization:referer
.