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

A custom Availability Zone (AZ) is an on-premises AZ that is integrated with * a VMware vSphere cluster.

For more information about RDS on VMware, see * the * RDS on VMware User Guide.

See Also:

AWS * API Reference

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

The identifier of the custom AZ.

Amazon RDS generates a unique * identifier when a custom AZ is created.

*/ inline const Aws::String& GetCustomAvailabilityZoneId() const{ return m_customAvailabilityZoneId; } /** *

The identifier of the custom AZ.

Amazon RDS generates a unique * identifier when a custom AZ is created.

*/ inline bool CustomAvailabilityZoneIdHasBeenSet() const { return m_customAvailabilityZoneIdHasBeenSet; } /** *

The identifier of the custom AZ.

Amazon RDS generates a unique * identifier when a custom AZ is created.

*/ inline void SetCustomAvailabilityZoneId(const Aws::String& value) { m_customAvailabilityZoneIdHasBeenSet = true; m_customAvailabilityZoneId = value; } /** *

The identifier of the custom AZ.

Amazon RDS generates a unique * identifier when a custom AZ is created.

*/ inline void SetCustomAvailabilityZoneId(Aws::String&& value) { m_customAvailabilityZoneIdHasBeenSet = true; m_customAvailabilityZoneId = std::move(value); } /** *

The identifier of the custom AZ.

Amazon RDS generates a unique * identifier when a custom AZ is created.

*/ inline void SetCustomAvailabilityZoneId(const char* value) { m_customAvailabilityZoneIdHasBeenSet = true; m_customAvailabilityZoneId.assign(value); } /** *

The identifier of the custom AZ.

Amazon RDS generates a unique * identifier when a custom AZ is created.

*/ inline CustomAvailabilityZone& WithCustomAvailabilityZoneId(const Aws::String& value) { SetCustomAvailabilityZoneId(value); return *this;} /** *

The identifier of the custom AZ.

Amazon RDS generates a unique * identifier when a custom AZ is created.

*/ inline CustomAvailabilityZone& WithCustomAvailabilityZoneId(Aws::String&& value) { SetCustomAvailabilityZoneId(std::move(value)); return *this;} /** *

The identifier of the custom AZ.

Amazon RDS generates a unique * identifier when a custom AZ is created.

*/ inline CustomAvailabilityZone& WithCustomAvailabilityZoneId(const char* value) { SetCustomAvailabilityZoneId(value); return *this;} /** *

The name of the custom AZ.

*/ inline const Aws::String& GetCustomAvailabilityZoneName() const{ return m_customAvailabilityZoneName; } /** *

The name of the custom AZ.

*/ inline bool CustomAvailabilityZoneNameHasBeenSet() const { return m_customAvailabilityZoneNameHasBeenSet; } /** *

The name of the custom AZ.

*/ inline void SetCustomAvailabilityZoneName(const Aws::String& value) { m_customAvailabilityZoneNameHasBeenSet = true; m_customAvailabilityZoneName = value; } /** *

The name of the custom AZ.

*/ inline void SetCustomAvailabilityZoneName(Aws::String&& value) { m_customAvailabilityZoneNameHasBeenSet = true; m_customAvailabilityZoneName = std::move(value); } /** *

The name of the custom AZ.

*/ inline void SetCustomAvailabilityZoneName(const char* value) { m_customAvailabilityZoneNameHasBeenSet = true; m_customAvailabilityZoneName.assign(value); } /** *

The name of the custom AZ.

*/ inline CustomAvailabilityZone& WithCustomAvailabilityZoneName(const Aws::String& value) { SetCustomAvailabilityZoneName(value); return *this;} /** *

The name of the custom AZ.

*/ inline CustomAvailabilityZone& WithCustomAvailabilityZoneName(Aws::String&& value) { SetCustomAvailabilityZoneName(std::move(value)); return *this;} /** *

The name of the custom AZ.

*/ inline CustomAvailabilityZone& WithCustomAvailabilityZoneName(const char* value) { SetCustomAvailabilityZoneName(value); return *this;} /** *

The status of the custom AZ.

*/ inline const Aws::String& GetCustomAvailabilityZoneStatus() const{ return m_customAvailabilityZoneStatus; } /** *

The status of the custom AZ.

*/ inline bool CustomAvailabilityZoneStatusHasBeenSet() const { return m_customAvailabilityZoneStatusHasBeenSet; } /** *

The status of the custom AZ.

*/ inline void SetCustomAvailabilityZoneStatus(const Aws::String& value) { m_customAvailabilityZoneStatusHasBeenSet = true; m_customAvailabilityZoneStatus = value; } /** *

The status of the custom AZ.

*/ inline void SetCustomAvailabilityZoneStatus(Aws::String&& value) { m_customAvailabilityZoneStatusHasBeenSet = true; m_customAvailabilityZoneStatus = std::move(value); } /** *

The status of the custom AZ.

*/ inline void SetCustomAvailabilityZoneStatus(const char* value) { m_customAvailabilityZoneStatusHasBeenSet = true; m_customAvailabilityZoneStatus.assign(value); } /** *

The status of the custom AZ.

*/ inline CustomAvailabilityZone& WithCustomAvailabilityZoneStatus(const Aws::String& value) { SetCustomAvailabilityZoneStatus(value); return *this;} /** *

The status of the custom AZ.

*/ inline CustomAvailabilityZone& WithCustomAvailabilityZoneStatus(Aws::String&& value) { SetCustomAvailabilityZoneStatus(std::move(value)); return *this;} /** *

The status of the custom AZ.

*/ inline CustomAvailabilityZone& WithCustomAvailabilityZoneStatus(const char* value) { SetCustomAvailabilityZoneStatus(value); return *this;} /** *

Information about the virtual private network (VPN) between the VMware * vSphere cluster and the AWS website.

*/ inline const VpnDetails& GetVpnDetails() const{ return m_vpnDetails; } /** *

Information about the virtual private network (VPN) between the VMware * vSphere cluster and the AWS website.

*/ inline bool VpnDetailsHasBeenSet() const { return m_vpnDetailsHasBeenSet; } /** *

Information about the virtual private network (VPN) between the VMware * vSphere cluster and the AWS website.

*/ inline void SetVpnDetails(const VpnDetails& value) { m_vpnDetailsHasBeenSet = true; m_vpnDetails = value; } /** *

Information about the virtual private network (VPN) between the VMware * vSphere cluster and the AWS website.

*/ inline void SetVpnDetails(VpnDetails&& value) { m_vpnDetailsHasBeenSet = true; m_vpnDetails = std::move(value); } /** *

Information about the virtual private network (VPN) between the VMware * vSphere cluster and the AWS website.

*/ inline CustomAvailabilityZone& WithVpnDetails(const VpnDetails& value) { SetVpnDetails(value); return *this;} /** *

Information about the virtual private network (VPN) between the VMware * vSphere cluster and the AWS website.

*/ inline CustomAvailabilityZone& WithVpnDetails(VpnDetails&& value) { SetVpnDetails(std::move(value)); return *this;} private: Aws::String m_customAvailabilityZoneId; bool m_customAvailabilityZoneIdHasBeenSet; Aws::String m_customAvailabilityZoneName; bool m_customAvailabilityZoneNameHasBeenSet; Aws::String m_customAvailabilityZoneStatus; bool m_customAvailabilityZoneStatusHasBeenSet; VpnDetails m_vpnDetails; bool m_vpnDetailsHasBeenSet; }; } // namespace Model } // namespace RDS } // namespace Aws