/** * 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 GlobalAccelerator { namespace Model { /** *

A complex type for the set of IP addresses for an accelerator.

See * Also:

AWS * API Reference

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

The array of IP addresses in the IP address set. An IP address set can have a * maximum of two IP addresses.

*/ inline const Aws::Vector& GetIpAddresses() const{ return m_ipAddresses; } /** *

The array of IP addresses in the IP address set. An IP address set can have a * maximum of two IP addresses.

*/ inline bool IpAddressesHasBeenSet() const { return m_ipAddressesHasBeenSet; } /** *

The array of IP addresses in the IP address set. An IP address set can have a * maximum of two IP addresses.

*/ inline void SetIpAddresses(const Aws::Vector& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses = value; } /** *

The array of IP addresses in the IP address set. An IP address set can have a * maximum of two IP addresses.

*/ inline void SetIpAddresses(Aws::Vector&& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses = std::move(value); } /** *

The array of IP addresses in the IP address set. An IP address set can have a * maximum of two IP addresses.

*/ inline IpSet& WithIpAddresses(const Aws::Vector& value) { SetIpAddresses(value); return *this;} /** *

The array of IP addresses in the IP address set. An IP address set can have a * maximum of two IP addresses.

*/ inline IpSet& WithIpAddresses(Aws::Vector&& value) { SetIpAddresses(std::move(value)); return *this;} /** *

The array of IP addresses in the IP address set. An IP address set can have a * maximum of two IP addresses.

*/ inline IpSet& AddIpAddresses(const Aws::String& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(value); return *this; } /** *

The array of IP addresses in the IP address set. An IP address set can have a * maximum of two IP addresses.

*/ inline IpSet& AddIpAddresses(Aws::String&& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(std::move(value)); return *this; } /** *

The array of IP addresses in the IP address set. An IP address set can have a * maximum of two IP addresses.

*/ inline IpSet& AddIpAddresses(const char* value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(value); return *this; } /** *

The types of IP addresses included in this IP set.

*/ inline const IpAddressFamily& GetIpAddressFamily() const{ return m_ipAddressFamily; } /** *

The types of IP addresses included in this IP set.

*/ inline bool IpAddressFamilyHasBeenSet() const { return m_ipAddressFamilyHasBeenSet; } /** *

The types of IP addresses included in this IP set.

*/ inline void SetIpAddressFamily(const IpAddressFamily& value) { m_ipAddressFamilyHasBeenSet = true; m_ipAddressFamily = value; } /** *

The types of IP addresses included in this IP set.

*/ inline void SetIpAddressFamily(IpAddressFamily&& value) { m_ipAddressFamilyHasBeenSet = true; m_ipAddressFamily = std::move(value); } /** *

The types of IP addresses included in this IP set.

*/ inline IpSet& WithIpAddressFamily(const IpAddressFamily& value) { SetIpAddressFamily(value); return *this;} /** *

The types of IP addresses included in this IP set.

*/ inline IpSet& WithIpAddressFamily(IpAddressFamily&& value) { SetIpAddressFamily(std::move(value)); return *this;} private: Aws::Vector m_ipAddresses; bool m_ipAddressesHasBeenSet = false; IpAddressFamily m_ipAddressFamily; bool m_ipAddressFamilyHasBeenSet = false; }; } // namespace Model } // namespace GlobalAccelerator } // namespace Aws