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

In response to a request by the DescribeReplicationSubnetGroups * operation, this object identifies a subnet by its given Availability Zone, * subnet identifier, and status.

See Also:

AWS API * Reference

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

The subnet identifier.

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

The subnet identifier.

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

The subnet identifier.

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

The subnet identifier.

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

The subnet identifier.

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

The subnet identifier.

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

The subnet identifier.

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

The subnet identifier.

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

The Availability Zone of the subnet.

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

The Availability Zone of the subnet.

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

The Availability Zone of the subnet.

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

The Availability Zone of the subnet.

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

The Availability Zone of the subnet.

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

The Availability Zone of the subnet.

*/ inline Subnet& WithSubnetAvailabilityZone(AvailabilityZone&& value) { SetSubnetAvailabilityZone(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; Aws::String m_subnetStatus; bool m_subnetStatusHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws