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

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Specifies the type of * update to perform to an IPSet with UpdateIPSet.

See * Also:

AWS API * Reference

*/ class IPSetUpdate { public: AWS_WAF_API IPSetUpdate(); AWS_WAF_API IPSetUpdate(Aws::Utils::Json::JsonView jsonValue); AWS_WAF_API IPSetUpdate& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_WAF_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies whether to insert or delete an IP address with * UpdateIPSet.

*/ inline const ChangeAction& GetAction() const{ return m_action; } /** *

Specifies whether to insert or delete an IP address with * UpdateIPSet.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

Specifies whether to insert or delete an IP address with * UpdateIPSet.

*/ inline void SetAction(const ChangeAction& value) { m_actionHasBeenSet = true; m_action = value; } /** *

Specifies whether to insert or delete an IP address with * UpdateIPSet.

*/ inline void SetAction(ChangeAction&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

Specifies whether to insert or delete an IP address with * UpdateIPSet.

*/ inline IPSetUpdate& WithAction(const ChangeAction& value) { SetAction(value); return *this;} /** *

Specifies whether to insert or delete an IP address with * UpdateIPSet.

*/ inline IPSetUpdate& WithAction(ChangeAction&& value) { SetAction(std::move(value)); return *this;} /** *

The IP address type (IPV4 or IPV6) and the IP * address range (in CIDR notation) that web requests originate from.

*/ inline const IPSetDescriptor& GetIPSetDescriptor() const{ return m_iPSetDescriptor; } /** *

The IP address type (IPV4 or IPV6) and the IP * address range (in CIDR notation) that web requests originate from.

*/ inline bool IPSetDescriptorHasBeenSet() const { return m_iPSetDescriptorHasBeenSet; } /** *

The IP address type (IPV4 or IPV6) and the IP * address range (in CIDR notation) that web requests originate from.

*/ inline void SetIPSetDescriptor(const IPSetDescriptor& value) { m_iPSetDescriptorHasBeenSet = true; m_iPSetDescriptor = value; } /** *

The IP address type (IPV4 or IPV6) and the IP * address range (in CIDR notation) that web requests originate from.

*/ inline void SetIPSetDescriptor(IPSetDescriptor&& value) { m_iPSetDescriptorHasBeenSet = true; m_iPSetDescriptor = std::move(value); } /** *

The IP address type (IPV4 or IPV6) and the IP * address range (in CIDR notation) that web requests originate from.

*/ inline IPSetUpdate& WithIPSetDescriptor(const IPSetDescriptor& value) { SetIPSetDescriptor(value); return *this;} /** *

The IP address type (IPV4 or IPV6) and the IP * address range (in CIDR notation) that web requests originate from.

*/ inline IPSetUpdate& WithIPSetDescriptor(IPSetDescriptor&& value) { SetIPSetDescriptor(std::move(value)); return *this;} private: ChangeAction m_action; bool m_actionHasBeenSet = false; IPSetDescriptor m_iPSetDescriptor; bool m_iPSetDescriptorHasBeenSet = false; }; } // namespace Model } // namespace WAF } // namespace Aws