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

This is a structure that expresses the Region for a given account, consisting * of a name and opt-in status.

See Also:

AWS API * Reference

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

The Region code of a given Region (for example, us-east-1).

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

The Region code of a given Region (for example, us-east-1).

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

The Region code of a given Region (for example, us-east-1).

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

The Region code of a given Region (for example, us-east-1).

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

The Region code of a given Region (for example, us-east-1).

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

The Region code of a given Region (for example, us-east-1).

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

The Region code of a given Region (for example, us-east-1).

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

The Region code of a given Region (for example, us-east-1).

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

One of potential statuses a Region can undergo (Enabled, Enabling, Disabled, * Disabling, Enabled_By_Default).

*/ inline const RegionOptStatus& GetRegionOptStatus() const{ return m_regionOptStatus; } /** *

One of potential statuses a Region can undergo (Enabled, Enabling, Disabled, * Disabling, Enabled_By_Default).

*/ inline bool RegionOptStatusHasBeenSet() const { return m_regionOptStatusHasBeenSet; } /** *

One of potential statuses a Region can undergo (Enabled, Enabling, Disabled, * Disabling, Enabled_By_Default).

*/ inline void SetRegionOptStatus(const RegionOptStatus& value) { m_regionOptStatusHasBeenSet = true; m_regionOptStatus = value; } /** *

One of potential statuses a Region can undergo (Enabled, Enabling, Disabled, * Disabling, Enabled_By_Default).

*/ inline void SetRegionOptStatus(RegionOptStatus&& value) { m_regionOptStatusHasBeenSet = true; m_regionOptStatus = std::move(value); } /** *

One of potential statuses a Region can undergo (Enabled, Enabling, Disabled, * Disabling, Enabled_By_Default).

*/ inline Region& WithRegionOptStatus(const RegionOptStatus& value) { SetRegionOptStatus(value); return *this;} /** *

One of potential statuses a Region can undergo (Enabled, Enabling, Disabled, * Disabling, Enabled_By_Default).

*/ inline Region& WithRegionOptStatus(RegionOptStatus&& value) { SetRegionOptStatus(std::move(value)); return *this;} private: Aws::String m_regionName; bool m_regionNameHasBeenSet = false; RegionOptStatus m_regionOptStatus; bool m_regionOptStatusHasBeenSet = false; }; } // namespace Model } // namespace Account } // namespace Aws