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

Describes a Region.

See Also:

AWS API * Reference

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

The Region service endpoint.

*/ inline const Aws::String& GetEndpoint() const{ return m_endpoint; } /** *

The Region service endpoint.

*/ inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } /** *

The Region service endpoint.

*/ inline void SetEndpoint(const Aws::String& value) { m_endpointHasBeenSet = true; m_endpoint = value; } /** *

The Region service endpoint.

*/ inline void SetEndpoint(Aws::String&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } /** *

The Region service endpoint.

*/ inline void SetEndpoint(const char* value) { m_endpointHasBeenSet = true; m_endpoint.assign(value); } /** *

The Region service endpoint.

*/ inline Region& WithEndpoint(const Aws::String& value) { SetEndpoint(value); return *this;} /** *

The Region service endpoint.

*/ inline Region& WithEndpoint(Aws::String&& value) { SetEndpoint(std::move(value)); return *this;} /** *

The Region service endpoint.

*/ inline Region& WithEndpoint(const char* value) { SetEndpoint(value); return *this;} /** *

The name of the Region.

*/ inline const Aws::String& GetRegionName() const{ return m_regionName; } /** *

The name of the Region.

*/ inline bool RegionNameHasBeenSet() const { return m_regionNameHasBeenSet; } /** *

The name of the Region.

*/ inline void SetRegionName(const Aws::String& value) { m_regionNameHasBeenSet = true; m_regionName = value; } /** *

The name of the Region.

*/ inline void SetRegionName(Aws::String&& value) { m_regionNameHasBeenSet = true; m_regionName = std::move(value); } /** *

The name of the Region.

*/ inline void SetRegionName(const char* value) { m_regionNameHasBeenSet = true; m_regionName.assign(value); } /** *

The name of the Region.

*/ inline Region& WithRegionName(const Aws::String& value) { SetRegionName(value); return *this;} /** *

The name of the Region.

*/ inline Region& WithRegionName(Aws::String&& value) { SetRegionName(std::move(value)); return *this;} /** *

The name of the Region.

*/ inline Region& WithRegionName(const char* value) { SetRegionName(value); return *this;} /** *

The Region opt-in status. The possible values are * opt-in-not-required, opted-in, and * not-opted-in.

*/ inline const Aws::String& GetOptInStatus() const{ return m_optInStatus; } /** *

The Region opt-in status. The possible values are * opt-in-not-required, opted-in, and * not-opted-in.

*/ inline bool OptInStatusHasBeenSet() const { return m_optInStatusHasBeenSet; } /** *

The Region opt-in status. The possible values are * opt-in-not-required, opted-in, and * not-opted-in.

*/ inline void SetOptInStatus(const Aws::String& value) { m_optInStatusHasBeenSet = true; m_optInStatus = value; } /** *

The Region opt-in status. The possible values are * opt-in-not-required, opted-in, and * not-opted-in.

*/ inline void SetOptInStatus(Aws::String&& value) { m_optInStatusHasBeenSet = true; m_optInStatus = std::move(value); } /** *

The Region opt-in status. The possible values are * opt-in-not-required, opted-in, and * not-opted-in.

*/ inline void SetOptInStatus(const char* value) { m_optInStatusHasBeenSet = true; m_optInStatus.assign(value); } /** *

The Region opt-in status. The possible values are * opt-in-not-required, opted-in, and * not-opted-in.

*/ inline Region& WithOptInStatus(const Aws::String& value) { SetOptInStatus(value); return *this;} /** *

The Region opt-in status. The possible values are * opt-in-not-required, opted-in, and * not-opted-in.

*/ inline Region& WithOptInStatus(Aws::String&& value) { SetOptInStatus(std::move(value)); return *this;} /** *

The Region opt-in status. The possible values are * opt-in-not-required, opted-in, and * not-opted-in.

*/ inline Region& WithOptInStatus(const char* value) { SetOptInStatus(value); return *this;} private: Aws::String m_endpoint; bool m_endpointHasBeenSet = false; Aws::String m_regionName; bool m_regionNameHasBeenSet = false; Aws::String m_optInStatus; bool m_optInStatusHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws