/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MigrationHubConfig { namespace Model { /** *

A home region control is an object that specifies the home region for an * account, with some additional information. It contains a target (always of type * ACCOUNT), an ID, and a time at which the home region was * set.

See Also:

AWS * API Reference

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

A unique identifier that's generated for each home region control. It's * always a string that begins with "hrc-" followed by 12 lowercase letters and * numbers.

*/ inline const Aws::String& GetControlId() const{ return m_controlId; } /** *

A unique identifier that's generated for each home region control. It's * always a string that begins with "hrc-" followed by 12 lowercase letters and * numbers.

*/ inline bool ControlIdHasBeenSet() const { return m_controlIdHasBeenSet; } /** *

A unique identifier that's generated for each home region control. It's * always a string that begins with "hrc-" followed by 12 lowercase letters and * numbers.

*/ inline void SetControlId(const Aws::String& value) { m_controlIdHasBeenSet = true; m_controlId = value; } /** *

A unique identifier that's generated for each home region control. It's * always a string that begins with "hrc-" followed by 12 lowercase letters and * numbers.

*/ inline void SetControlId(Aws::String&& value) { m_controlIdHasBeenSet = true; m_controlId = std::move(value); } /** *

A unique identifier that's generated for each home region control. It's * always a string that begins with "hrc-" followed by 12 lowercase letters and * numbers.

*/ inline void SetControlId(const char* value) { m_controlIdHasBeenSet = true; m_controlId.assign(value); } /** *

A unique identifier that's generated for each home region control. It's * always a string that begins with "hrc-" followed by 12 lowercase letters and * numbers.

*/ inline HomeRegionControl& WithControlId(const Aws::String& value) { SetControlId(value); return *this;} /** *

A unique identifier that's generated for each home region control. It's * always a string that begins with "hrc-" followed by 12 lowercase letters and * numbers.

*/ inline HomeRegionControl& WithControlId(Aws::String&& value) { SetControlId(std::move(value)); return *this;} /** *

A unique identifier that's generated for each home region control. It's * always a string that begins with "hrc-" followed by 12 lowercase letters and * numbers.

*/ inline HomeRegionControl& WithControlId(const char* value) { SetControlId(value); return *this;} /** *

The AWS Region that's been set as home region. For example, "us-west-2" or * "eu-central-1" are valid home regions.

*/ inline const Aws::String& GetHomeRegion() const{ return m_homeRegion; } /** *

The AWS Region that's been set as home region. For example, "us-west-2" or * "eu-central-1" are valid home regions.

*/ inline bool HomeRegionHasBeenSet() const { return m_homeRegionHasBeenSet; } /** *

The AWS Region that's been set as home region. For example, "us-west-2" or * "eu-central-1" are valid home regions.

*/ inline void SetHomeRegion(const Aws::String& value) { m_homeRegionHasBeenSet = true; m_homeRegion = value; } /** *

The AWS Region that's been set as home region. For example, "us-west-2" or * "eu-central-1" are valid home regions.

*/ inline void SetHomeRegion(Aws::String&& value) { m_homeRegionHasBeenSet = true; m_homeRegion = std::move(value); } /** *

The AWS Region that's been set as home region. For example, "us-west-2" or * "eu-central-1" are valid home regions.

*/ inline void SetHomeRegion(const char* value) { m_homeRegionHasBeenSet = true; m_homeRegion.assign(value); } /** *

The AWS Region that's been set as home region. For example, "us-west-2" or * "eu-central-1" are valid home regions.

*/ inline HomeRegionControl& WithHomeRegion(const Aws::String& value) { SetHomeRegion(value); return *this;} /** *

The AWS Region that's been set as home region. For example, "us-west-2" or * "eu-central-1" are valid home regions.

*/ inline HomeRegionControl& WithHomeRegion(Aws::String&& value) { SetHomeRegion(std::move(value)); return *this;} /** *

The AWS Region that's been set as home region. For example, "us-west-2" or * "eu-central-1" are valid home regions.

*/ inline HomeRegionControl& WithHomeRegion(const char* value) { SetHomeRegion(value); return *this;} /** *

The target parameter specifies the identifier to which the home region is * applied, which is always an ACCOUNT. It applies the home region to * the current ACCOUNT.

*/ inline const Target& GetTarget() const{ return m_target; } /** *

The target parameter specifies the identifier to which the home region is * applied, which is always an ACCOUNT. It applies the home region to * the current ACCOUNT.

*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *

The target parameter specifies the identifier to which the home region is * applied, which is always an ACCOUNT. It applies the home region to * the current ACCOUNT.

*/ inline void SetTarget(const Target& value) { m_targetHasBeenSet = true; m_target = value; } /** *

The target parameter specifies the identifier to which the home region is * applied, which is always an ACCOUNT. It applies the home region to * the current ACCOUNT.

*/ inline void SetTarget(Target&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } /** *

The target parameter specifies the identifier to which the home region is * applied, which is always an ACCOUNT. It applies the home region to * the current ACCOUNT.

*/ inline HomeRegionControl& WithTarget(const Target& value) { SetTarget(value); return *this;} /** *

The target parameter specifies the identifier to which the home region is * applied, which is always an ACCOUNT. It applies the home region to * the current ACCOUNT.

*/ inline HomeRegionControl& WithTarget(Target&& value) { SetTarget(std::move(value)); return *this;} /** *

A timestamp representing the time when the customer called * CreateHomeregionControl and set the home region for the * account.

*/ inline const Aws::Utils::DateTime& GetRequestedTime() const{ return m_requestedTime; } /** *

A timestamp representing the time when the customer called * CreateHomeregionControl and set the home region for the * account.

*/ inline bool RequestedTimeHasBeenSet() const { return m_requestedTimeHasBeenSet; } /** *

A timestamp representing the time when the customer called * CreateHomeregionControl and set the home region for the * account.

*/ inline void SetRequestedTime(const Aws::Utils::DateTime& value) { m_requestedTimeHasBeenSet = true; m_requestedTime = value; } /** *

A timestamp representing the time when the customer called * CreateHomeregionControl and set the home region for the * account.

*/ inline void SetRequestedTime(Aws::Utils::DateTime&& value) { m_requestedTimeHasBeenSet = true; m_requestedTime = std::move(value); } /** *

A timestamp representing the time when the customer called * CreateHomeregionControl and set the home region for the * account.

*/ inline HomeRegionControl& WithRequestedTime(const Aws::Utils::DateTime& value) { SetRequestedTime(value); return *this;} /** *

A timestamp representing the time when the customer called * CreateHomeregionControl and set the home region for the * account.

*/ inline HomeRegionControl& WithRequestedTime(Aws::Utils::DateTime&& value) { SetRequestedTime(std::move(value)); return *this;} private: Aws::String m_controlId; bool m_controlIdHasBeenSet = false; Aws::String m_homeRegion; bool m_homeRegionHasBeenSet = false; Target m_target; bool m_targetHasBeenSet = false; Aws::Utils::DateTime m_requestedTime; bool m_requestedTimeHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubConfig } // namespace Aws