/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElasticLoadBalancingv2 { namespace Model { /** *

Information about a subnet mapping.

See Also:

AWS * API Reference

*/ class SubnetMapping { public: AWS_ELASTICLOADBALANCINGV2_API SubnetMapping(); AWS_ELASTICLOADBALANCINGV2_API SubnetMapping(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICLOADBALANCINGV2_API SubnetMapping& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the subnet.

*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *

The ID of the subnet.

*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *

The ID of the subnet.

*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *

The ID of the subnet.

*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *

The ID of the subnet.

*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *

The ID of the subnet.

*/ inline SubnetMapping& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *

The ID of the subnet.

*/ inline SubnetMapping& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *

The ID of the subnet.

*/ inline SubnetMapping& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *

[Network Load Balancers] The allocation ID of the Elastic IP address for an * internet-facing load balancer.

*/ inline const Aws::String& GetAllocationId() const{ return m_allocationId; } /** *

[Network Load Balancers] The allocation ID of the Elastic IP address for an * internet-facing load balancer.

*/ inline bool AllocationIdHasBeenSet() const { return m_allocationIdHasBeenSet; } /** *

[Network Load Balancers] The allocation ID of the Elastic IP address for an * internet-facing load balancer.

*/ inline void SetAllocationId(const Aws::String& value) { m_allocationIdHasBeenSet = true; m_allocationId = value; } /** *

[Network Load Balancers] The allocation ID of the Elastic IP address for an * internet-facing load balancer.

*/ inline void SetAllocationId(Aws::String&& value) { m_allocationIdHasBeenSet = true; m_allocationId = std::move(value); } /** *

[Network Load Balancers] The allocation ID of the Elastic IP address for an * internet-facing load balancer.

*/ inline void SetAllocationId(const char* value) { m_allocationIdHasBeenSet = true; m_allocationId.assign(value); } /** *

[Network Load Balancers] The allocation ID of the Elastic IP address for an * internet-facing load balancer.

*/ inline SubnetMapping& WithAllocationId(const Aws::String& value) { SetAllocationId(value); return *this;} /** *

[Network Load Balancers] The allocation ID of the Elastic IP address for an * internet-facing load balancer.

*/ inline SubnetMapping& WithAllocationId(Aws::String&& value) { SetAllocationId(std::move(value)); return *this;} /** *

[Network Load Balancers] The allocation ID of the Elastic IP address for an * internet-facing load balancer.

*/ inline SubnetMapping& WithAllocationId(const char* value) { SetAllocationId(value); return *this;} /** *

[Network Load Balancers] The private IPv4 address for an internal load * balancer.

*/ inline const Aws::String& GetPrivateIPv4Address() const{ return m_privateIPv4Address; } /** *

[Network Load Balancers] The private IPv4 address for an internal load * balancer.

*/ inline bool PrivateIPv4AddressHasBeenSet() const { return m_privateIPv4AddressHasBeenSet; } /** *

[Network Load Balancers] The private IPv4 address for an internal load * balancer.

*/ inline void SetPrivateIPv4Address(const Aws::String& value) { m_privateIPv4AddressHasBeenSet = true; m_privateIPv4Address = value; } /** *

[Network Load Balancers] The private IPv4 address for an internal load * balancer.

*/ inline void SetPrivateIPv4Address(Aws::String&& value) { m_privateIPv4AddressHasBeenSet = true; m_privateIPv4Address = std::move(value); } /** *

[Network Load Balancers] The private IPv4 address for an internal load * balancer.

*/ inline void SetPrivateIPv4Address(const char* value) { m_privateIPv4AddressHasBeenSet = true; m_privateIPv4Address.assign(value); } /** *

[Network Load Balancers] The private IPv4 address for an internal load * balancer.

*/ inline SubnetMapping& WithPrivateIPv4Address(const Aws::String& value) { SetPrivateIPv4Address(value); return *this;} /** *

[Network Load Balancers] The private IPv4 address for an internal load * balancer.

*/ inline SubnetMapping& WithPrivateIPv4Address(Aws::String&& value) { SetPrivateIPv4Address(std::move(value)); return *this;} /** *

[Network Load Balancers] The private IPv4 address for an internal load * balancer.

*/ inline SubnetMapping& WithPrivateIPv4Address(const char* value) { SetPrivateIPv4Address(value); return *this;} /** *

[Network Load Balancers] The IPv6 address.

*/ inline const Aws::String& GetIPv6Address() const{ return m_iPv6Address; } /** *

[Network Load Balancers] The IPv6 address.

*/ inline bool IPv6AddressHasBeenSet() const { return m_iPv6AddressHasBeenSet; } /** *

[Network Load Balancers] The IPv6 address.

*/ inline void SetIPv6Address(const Aws::String& value) { m_iPv6AddressHasBeenSet = true; m_iPv6Address = value; } /** *

[Network Load Balancers] The IPv6 address.

*/ inline void SetIPv6Address(Aws::String&& value) { m_iPv6AddressHasBeenSet = true; m_iPv6Address = std::move(value); } /** *

[Network Load Balancers] The IPv6 address.

*/ inline void SetIPv6Address(const char* value) { m_iPv6AddressHasBeenSet = true; m_iPv6Address.assign(value); } /** *

[Network Load Balancers] The IPv6 address.

*/ inline SubnetMapping& WithIPv6Address(const Aws::String& value) { SetIPv6Address(value); return *this;} /** *

[Network Load Balancers] The IPv6 address.

*/ inline SubnetMapping& WithIPv6Address(Aws::String&& value) { SetIPv6Address(std::move(value)); return *this;} /** *

[Network Load Balancers] The IPv6 address.

*/ inline SubnetMapping& WithIPv6Address(const char* value) { SetIPv6Address(value); return *this;} private: Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; Aws::String m_allocationId; bool m_allocationIdHasBeenSet = false; Aws::String m_privateIPv4Address; bool m_privateIPv4AddressHasBeenSet = false; Aws::String m_iPv6Address; bool m_iPv6AddressHasBeenSet = false; }; } // namespace Model } // namespace ElasticLoadBalancingv2 } // namespace Aws