/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The configuration for inspecting IP addresses in an HTTP header that you
* specify, instead of using the IP address that's reported by the web request
* origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify
* any header name. If the specified header isn't present in the
* request, WAF doesn't apply the rule to the web request at all. This configuration is used only for IPSetReferenceStatement. For
* GeoMatchStatement and RateBasedStatement, use
* ForwardedIPConfig instead. See Also:
AWS
* API Reference
The name of the HTTP header to use for the IP address. For example, to use
* the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, WAF doesn't * apply the rule to the web request at all.
*/ inline const Aws::String& GetHeaderName() const{ return m_headerName; } /** *The name of the HTTP header to use for the IP address. For example, to use
* the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, WAF doesn't * apply the rule to the web request at all.
*/ inline bool HeaderNameHasBeenSet() const { return m_headerNameHasBeenSet; } /** *The name of the HTTP header to use for the IP address. For example, to use
* the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, WAF doesn't * apply the rule to the web request at all.
*/ inline void SetHeaderName(const Aws::String& value) { m_headerNameHasBeenSet = true; m_headerName = value; } /** *The name of the HTTP header to use for the IP address. For example, to use
* the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, WAF doesn't * apply the rule to the web request at all.
*/ inline void SetHeaderName(Aws::String&& value) { m_headerNameHasBeenSet = true; m_headerName = std::move(value); } /** *The name of the HTTP header to use for the IP address. For example, to use
* the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, WAF doesn't * apply the rule to the web request at all.
*/ inline void SetHeaderName(const char* value) { m_headerNameHasBeenSet = true; m_headerName.assign(value); } /** *The name of the HTTP header to use for the IP address. For example, to use
* the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, WAF doesn't * apply the rule to the web request at all.
*/ inline IPSetForwardedIPConfig& WithHeaderName(const Aws::String& value) { SetHeaderName(value); return *this;} /** *The name of the HTTP header to use for the IP address. For example, to use
* the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, WAF doesn't * apply the rule to the web request at all.
*/ inline IPSetForwardedIPConfig& WithHeaderName(Aws::String&& value) { SetHeaderName(std::move(value)); return *this;} /** *The name of the HTTP header to use for the IP address. For example, to use
* the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, WAF doesn't * apply the rule to the web request at all.
*/ inline IPSetForwardedIPConfig& WithHeaderName(const char* value) { SetHeaderName(value); return *this;} /** *The match status to assign to the web request if the request doesn't have a * valid IP address in the specified position.
If the specified * header isn't present in the request, WAF doesn't apply the rule to the web * request at all.
You can specify the following fallback * behaviors:
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.
The match status to assign to the web request if the request doesn't have a * valid IP address in the specified position.
If the specified * header isn't present in the request, WAF doesn't apply the rule to the web * request at all.
You can specify the following fallback * behaviors:
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.
The match status to assign to the web request if the request doesn't have a * valid IP address in the specified position.
If the specified * header isn't present in the request, WAF doesn't apply the rule to the web * request at all.
You can specify the following fallback * behaviors:
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.
The match status to assign to the web request if the request doesn't have a * valid IP address in the specified position.
If the specified * header isn't present in the request, WAF doesn't apply the rule to the web * request at all.
You can specify the following fallback * behaviors:
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.
The match status to assign to the web request if the request doesn't have a * valid IP address in the specified position.
If the specified * header isn't present in the request, WAF doesn't apply the rule to the web * request at all.
You can specify the following fallback * behaviors:
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.
The match status to assign to the web request if the request doesn't have a * valid IP address in the specified position.
If the specified * header isn't present in the request, WAF doesn't apply the rule to the web * request at all.
You can specify the following fallback * behaviors:
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.
The position in the header to search for the IP address. The header can
* contain IP addresses of the original client and also of proxies. For example,
* the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10
where
* the first IP address identifies the original client and the rest identify
* proxies that the request went through.
The options for this setting are * the following:
FIRST - Inspect the first IP address in the * list of IP addresses in the header. This is usually the client's original * IP.
LAST - Inspect the last IP address in the list of IP * addresses in the header.
ANY - Inspect all IP addresses in the * header for a match. If the header contains more than 10 IP addresses, WAF * inspects the last 10.
The position in the header to search for the IP address. The header can
* contain IP addresses of the original client and also of proxies. For example,
* the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10
where
* the first IP address identifies the original client and the rest identify
* proxies that the request went through.
The options for this setting are * the following:
FIRST - Inspect the first IP address in the * list of IP addresses in the header. This is usually the client's original * IP.
LAST - Inspect the last IP address in the list of IP * addresses in the header.
ANY - Inspect all IP addresses in the * header for a match. If the header contains more than 10 IP addresses, WAF * inspects the last 10.
The position in the header to search for the IP address. The header can
* contain IP addresses of the original client and also of proxies. For example,
* the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10
where
* the first IP address identifies the original client and the rest identify
* proxies that the request went through.
The options for this setting are * the following:
FIRST - Inspect the first IP address in the * list of IP addresses in the header. This is usually the client's original * IP.
LAST - Inspect the last IP address in the list of IP * addresses in the header.
ANY - Inspect all IP addresses in the * header for a match. If the header contains more than 10 IP addresses, WAF * inspects the last 10.
The position in the header to search for the IP address. The header can
* contain IP addresses of the original client and also of proxies. For example,
* the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10
where
* the first IP address identifies the original client and the rest identify
* proxies that the request went through.
The options for this setting are * the following:
FIRST - Inspect the first IP address in the * list of IP addresses in the header. This is usually the client's original * IP.
LAST - Inspect the last IP address in the list of IP * addresses in the header.
ANY - Inspect all IP addresses in the * header for a match. If the header contains more than 10 IP addresses, WAF * inspects the last 10.
The position in the header to search for the IP address. The header can
* contain IP addresses of the original client and also of proxies. For example,
* the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10
where
* the first IP address identifies the original client and the rest identify
* proxies that the request went through.
The options for this setting are * the following:
FIRST - Inspect the first IP address in the * list of IP addresses in the header. This is usually the client's original * IP.
LAST - Inspect the last IP address in the list of IP * addresses in the header.
ANY - Inspect all IP addresses in the * header for a match. If the header contains more than 10 IP addresses, WAF * inspects the last 10.
The position in the header to search for the IP address. The header can
* contain IP addresses of the original client and also of proxies. For example,
* the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10
where
* the first IP address identifies the original client and the rest identify
* proxies that the request went through.
The options for this setting are * the following:
FIRST - Inspect the first IP address in the * list of IP addresses in the header. This is usually the client's original * IP.
LAST - Inspect the last IP address in the list of IP * addresses in the header.
ANY - Inspect all IP addresses in the * header for a match. If the header contains more than 10 IP addresses, WAF * inspects the last 10.