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

This data type is used as a response element for the * DescribeDBSubnetGroups operation.

See Also:

AWS API * Reference

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

The identifier of the subnet.

*/ inline const Aws::String& GetSubnetIdentifier() const{ return m_subnetIdentifier; } /** *

The identifier of the subnet.

*/ inline bool SubnetIdentifierHasBeenSet() const { return m_subnetIdentifierHasBeenSet; } /** *

The identifier of the subnet.

*/ inline void SetSubnetIdentifier(const Aws::String& value) { m_subnetIdentifierHasBeenSet = true; m_subnetIdentifier = value; } /** *

The identifier of the subnet.

*/ inline void SetSubnetIdentifier(Aws::String&& value) { m_subnetIdentifierHasBeenSet = true; m_subnetIdentifier = std::move(value); } /** *

The identifier of the subnet.

*/ inline void SetSubnetIdentifier(const char* value) { m_subnetIdentifierHasBeenSet = true; m_subnetIdentifier.assign(value); } /** *

The identifier of the subnet.

*/ inline Subnet& WithSubnetIdentifier(const Aws::String& value) { SetSubnetIdentifier(value); return *this;} /** *

The identifier of the subnet.

*/ inline Subnet& WithSubnetIdentifier(Aws::String&& value) { SetSubnetIdentifier(std::move(value)); return *this;} /** *

The identifier of the subnet.

*/ inline Subnet& WithSubnetIdentifier(const char* value) { SetSubnetIdentifier(value); return *this;} inline const AvailabilityZone& GetSubnetAvailabilityZone() const{ return m_subnetAvailabilityZone; } inline bool SubnetAvailabilityZoneHasBeenSet() const { return m_subnetAvailabilityZoneHasBeenSet; } inline void SetSubnetAvailabilityZone(const AvailabilityZone& value) { m_subnetAvailabilityZoneHasBeenSet = true; m_subnetAvailabilityZone = value; } inline void SetSubnetAvailabilityZone(AvailabilityZone&& value) { m_subnetAvailabilityZoneHasBeenSet = true; m_subnetAvailabilityZone = std::move(value); } inline Subnet& WithSubnetAvailabilityZone(const AvailabilityZone& value) { SetSubnetAvailabilityZone(value); return *this;} inline Subnet& WithSubnetAvailabilityZone(AvailabilityZone&& value) { SetSubnetAvailabilityZone(std::move(value)); return *this;} /** *

If the subnet is associated with an Outpost, this value specifies the * Outpost.

For more information about RDS on Outposts, see Amazon * RDS on Amazon Web Services Outposts in the Amazon RDS User Guide. *

*/ inline const Outpost& GetSubnetOutpost() const{ return m_subnetOutpost; } /** *

If the subnet is associated with an Outpost, this value specifies the * Outpost.

For more information about RDS on Outposts, see Amazon * RDS on Amazon Web Services Outposts in the Amazon RDS User Guide. *

*/ inline bool SubnetOutpostHasBeenSet() const { return m_subnetOutpostHasBeenSet; } /** *

If the subnet is associated with an Outpost, this value specifies the * Outpost.

For more information about RDS on Outposts, see Amazon * RDS on Amazon Web Services Outposts in the Amazon RDS User Guide. *

*/ inline void SetSubnetOutpost(const Outpost& value) { m_subnetOutpostHasBeenSet = true; m_subnetOutpost = value; } /** *

If the subnet is associated with an Outpost, this value specifies the * Outpost.

For more information about RDS on Outposts, see Amazon * RDS on Amazon Web Services Outposts in the Amazon RDS User Guide. *

*/ inline void SetSubnetOutpost(Outpost&& value) { m_subnetOutpostHasBeenSet = true; m_subnetOutpost = std::move(value); } /** *

If the subnet is associated with an Outpost, this value specifies the * Outpost.

For more information about RDS on Outposts, see Amazon * RDS on Amazon Web Services Outposts in the Amazon RDS User Guide. *

*/ inline Subnet& WithSubnetOutpost(const Outpost& value) { SetSubnetOutpost(value); return *this;} /** *

If the subnet is associated with an Outpost, this value specifies the * Outpost.

For more information about RDS on Outposts, see Amazon * RDS on Amazon Web Services Outposts in the Amazon RDS User Guide. *

*/ inline Subnet& WithSubnetOutpost(Outpost&& value) { SetSubnetOutpost(std::move(value)); return *this;} /** *

The status of the subnet.

*/ inline const Aws::String& GetSubnetStatus() const{ return m_subnetStatus; } /** *

The status of the subnet.

*/ inline bool SubnetStatusHasBeenSet() const { return m_subnetStatusHasBeenSet; } /** *

The status of the subnet.

*/ inline void SetSubnetStatus(const Aws::String& value) { m_subnetStatusHasBeenSet = true; m_subnetStatus = value; } /** *

The status of the subnet.

*/ inline void SetSubnetStatus(Aws::String&& value) { m_subnetStatusHasBeenSet = true; m_subnetStatus = std::move(value); } /** *

The status of the subnet.

*/ inline void SetSubnetStatus(const char* value) { m_subnetStatusHasBeenSet = true; m_subnetStatus.assign(value); } /** *

The status of the subnet.

*/ inline Subnet& WithSubnetStatus(const Aws::String& value) { SetSubnetStatus(value); return *this;} /** *

The status of the subnet.

*/ inline Subnet& WithSubnetStatus(Aws::String&& value) { SetSubnetStatus(std::move(value)); return *this;} /** *

The status of the subnet.

*/ inline Subnet& WithSubnetStatus(const char* value) { SetSubnetStatus(value); return *this;} private: Aws::String m_subnetIdentifier; bool m_subnetIdentifierHasBeenSet = false; AvailabilityZone m_subnetAvailabilityZone; bool m_subnetAvailabilityZoneHasBeenSet = false; Outpost m_subnetOutpost; bool m_subnetOutpostHasBeenSet = false; Aws::String m_subnetStatus; bool m_subnetStatusHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws