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

This is the latest version of AWS WAF, named AWS WAFV2, * released in November, 2019. For information, including how to migrate your AWS * WAF resources from the prior release, see the AWS * WAF Developer Guide.

The set of IP addresses that are * currently blocked for a rate-based statement.

See Also:

AWS * API Reference

*/ class AWS_WAFV2_API RateBasedStatementManagedKeysIPSet { public: RateBasedStatementManagedKeysIPSet(); RateBasedStatementManagedKeysIPSet(Aws::Utils::Json::JsonView jsonValue); RateBasedStatementManagedKeysIPSet& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; inline const IPAddressVersion& GetIPAddressVersion() const{ return m_iPAddressVersion; } inline bool IPAddressVersionHasBeenSet() const { return m_iPAddressVersionHasBeenSet; } inline void SetIPAddressVersion(const IPAddressVersion& value) { m_iPAddressVersionHasBeenSet = true; m_iPAddressVersion = value; } inline void SetIPAddressVersion(IPAddressVersion&& value) { m_iPAddressVersionHasBeenSet = true; m_iPAddressVersion = std::move(value); } inline RateBasedStatementManagedKeysIPSet& WithIPAddressVersion(const IPAddressVersion& value) { SetIPAddressVersion(value); return *this;} inline RateBasedStatementManagedKeysIPSet& WithIPAddressVersion(IPAddressVersion&& value) { SetIPAddressVersion(std::move(value)); return *this;} /** *

The IP addresses that are currently blocked.

*/ inline const Aws::Vector& GetAddresses() const{ return m_addresses; } /** *

The IP addresses that are currently blocked.

*/ inline bool AddressesHasBeenSet() const { return m_addressesHasBeenSet; } /** *

The IP addresses that are currently blocked.

*/ inline void SetAddresses(const Aws::Vector& value) { m_addressesHasBeenSet = true; m_addresses = value; } /** *

The IP addresses that are currently blocked.

*/ inline void SetAddresses(Aws::Vector&& value) { m_addressesHasBeenSet = true; m_addresses = std::move(value); } /** *

The IP addresses that are currently blocked.

*/ inline RateBasedStatementManagedKeysIPSet& WithAddresses(const Aws::Vector& value) { SetAddresses(value); return *this;} /** *

The IP addresses that are currently blocked.

*/ inline RateBasedStatementManagedKeysIPSet& WithAddresses(Aws::Vector&& value) { SetAddresses(std::move(value)); return *this;} /** *

The IP addresses that are currently blocked.

*/ inline RateBasedStatementManagedKeysIPSet& AddAddresses(const Aws::String& value) { m_addressesHasBeenSet = true; m_addresses.push_back(value); return *this; } /** *

The IP addresses that are currently blocked.

*/ inline RateBasedStatementManagedKeysIPSet& AddAddresses(Aws::String&& value) { m_addressesHasBeenSet = true; m_addresses.push_back(std::move(value)); return *this; } /** *

The IP addresses that are currently blocked.

*/ inline RateBasedStatementManagedKeysIPSet& AddAddresses(const char* value) { m_addressesHasBeenSet = true; m_addresses.push_back(value); return *this; } private: IPAddressVersion m_iPAddressVersion; bool m_iPAddressVersionHasBeenSet; Aws::Vector m_addresses; bool m_addressesHasBeenSet; }; } // namespace Model } // namespace WAFV2 } // namespace Aws