/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace WAFV2 { namespace Model { /** *

Specifies the first IP address in an HTTP header as an aggregate key for a * rate-based rule. Each distinct forwarded IP address contributes to the * aggregation instance.

This setting is used only in the * RateBasedStatementCustomKey specification of a rate-based rule * statement. When you specify an IP or forwarded IP in the custom key settings, * you must also specify at least one other key to use. You can aggregate on only * the forwarded IP address by specifying FORWARDED_IP in your * rate-based statement's AggregateKeyType.

This data type * supports using the forwarded IP address in the web request aggregation for a * rate-based rule, in RateBasedStatementCustomKey. The JSON * specification for using the forwarded IP address doesn't explicitly use this * data type.

JSON specification: "ForwardedIP": {}

*

When you use this specification, you must also configure the forwarded IP * address in the rate-based statement's ForwardedIPConfig. *

See Also:

AWS * API Reference

*/ class RateLimitForwardedIP { public: AWS_WAFV2_API RateLimitForwardedIP(); AWS_WAFV2_API RateLimitForwardedIP(Aws::Utils::Json::JsonView jsonValue); AWS_WAFV2_API RateLimitForwardedIP& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const; }; } // namespace Model } // namespace WAFV2 } // namespace Aws