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

Specifies a subnet.

This data type is used as a response element in * the DescribeDBSubnetGroups action.

See Also:

AWS API * Reference

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

Specifies the identifier of the subnet.

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

Specifies the identifier of the subnet.

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

Specifies the identifier of the subnet.

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

Specifies the identifier of the subnet.

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

Specifies the identifier of the subnet.

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

Specifies the identifier of the subnet.

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

Specifies the identifier of the subnet.

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

Specifies the identifier of the subnet.

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

Specifies the EC2 Availability Zone that the subnet is in.

*/ inline const AvailabilityZone& GetSubnetAvailabilityZone() const{ return m_subnetAvailabilityZone; } /** *

Specifies the EC2 Availability Zone that the subnet is in.

*/ inline bool SubnetAvailabilityZoneHasBeenSet() const { return m_subnetAvailabilityZoneHasBeenSet; } /** *

Specifies the EC2 Availability Zone that the subnet is in.

*/ inline void SetSubnetAvailabilityZone(const AvailabilityZone& value) { m_subnetAvailabilityZoneHasBeenSet = true; m_subnetAvailabilityZone = value; } /** *

Specifies the EC2 Availability Zone that the subnet is in.

*/ inline void SetSubnetAvailabilityZone(AvailabilityZone&& value) { m_subnetAvailabilityZoneHasBeenSet = true; m_subnetAvailabilityZone = std::move(value); } /** *

Specifies the EC2 Availability Zone that the subnet is in.

*/ inline Subnet& WithSubnetAvailabilityZone(const AvailabilityZone& value) { SetSubnetAvailabilityZone(value); return *this;} /** *

Specifies the EC2 Availability Zone that the subnet is in.

*/ inline Subnet& WithSubnetAvailabilityZone(AvailabilityZone&& value) { SetSubnetAvailabilityZone(std::move(value)); return *this;} /** *

Specifies the status of the subnet.

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

Specifies the status of the subnet.

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

Specifies the status of the subnet.

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

Specifies the status of the subnet.

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

Specifies the status of the subnet.

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

Specifies the status of the subnet.

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

Specifies the status of the subnet.

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

Specifies 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; Aws::String m_subnetStatus; bool m_subnetStatusHasBeenSet = false; }; } // namespace Model } // namespace Neptune } // namespace Aws