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

Preferences for migrating an application to AWS.

See Also:

* AWS * API Reference

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

Indicates interest in solutions that are managed by AWS.

*/ inline const AwsManagedResources& GetAwsManagedResources() const{ return m_awsManagedResources; } /** *

Indicates interest in solutions that are managed by AWS.

*/ inline bool AwsManagedResourcesHasBeenSet() const { return m_awsManagedResourcesHasBeenSet; } /** *

Indicates interest in solutions that are managed by AWS.

*/ inline void SetAwsManagedResources(const AwsManagedResources& value) { m_awsManagedResourcesHasBeenSet = true; m_awsManagedResources = value; } /** *

Indicates interest in solutions that are managed by AWS.

*/ inline void SetAwsManagedResources(AwsManagedResources&& value) { m_awsManagedResourcesHasBeenSet = true; m_awsManagedResources = std::move(value); } /** *

Indicates interest in solutions that are managed by AWS.

*/ inline ManagementPreference& WithAwsManagedResources(const AwsManagedResources& value) { SetAwsManagedResources(value); return *this;} /** *

Indicates interest in solutions that are managed by AWS.

*/ inline ManagementPreference& WithAwsManagedResources(AwsManagedResources&& value) { SetAwsManagedResources(std::move(value)); return *this;} /** *

No specific preference.

*/ inline const NoManagementPreference& GetNoPreference() const{ return m_noPreference; } /** *

No specific preference.

*/ inline bool NoPreferenceHasBeenSet() const { return m_noPreferenceHasBeenSet; } /** *

No specific preference.

*/ inline void SetNoPreference(const NoManagementPreference& value) { m_noPreferenceHasBeenSet = true; m_noPreference = value; } /** *

No specific preference.

*/ inline void SetNoPreference(NoManagementPreference&& value) { m_noPreferenceHasBeenSet = true; m_noPreference = std::move(value); } /** *

No specific preference.

*/ inline ManagementPreference& WithNoPreference(const NoManagementPreference& value) { SetNoPreference(value); return *this;} /** *

No specific preference.

*/ inline ManagementPreference& WithNoPreference(NoManagementPreference&& value) { SetNoPreference(std::move(value)); return *this;} /** *

Indicates interest in managing your own resources on AWS.

*/ inline const SelfManageResources& GetSelfManageResources() const{ return m_selfManageResources; } /** *

Indicates interest in managing your own resources on AWS.

*/ inline bool SelfManageResourcesHasBeenSet() const { return m_selfManageResourcesHasBeenSet; } /** *

Indicates interest in managing your own resources on AWS.

*/ inline void SetSelfManageResources(const SelfManageResources& value) { m_selfManageResourcesHasBeenSet = true; m_selfManageResources = value; } /** *

Indicates interest in managing your own resources on AWS.

*/ inline void SetSelfManageResources(SelfManageResources&& value) { m_selfManageResourcesHasBeenSet = true; m_selfManageResources = std::move(value); } /** *

Indicates interest in managing your own resources on AWS.

*/ inline ManagementPreference& WithSelfManageResources(const SelfManageResources& value) { SetSelfManageResources(value); return *this;} /** *

Indicates interest in managing your own resources on AWS.

*/ inline ManagementPreference& WithSelfManageResources(SelfManageResources&& value) { SetSelfManageResources(std::move(value)); return *this;} private: AwsManagedResources m_awsManagedResources; bool m_awsManagedResourcesHasBeenSet = false; NoManagementPreference m_noPreference; bool m_noPreferenceHasBeenSet = false; SelfManageResources m_selfManageResources; bool m_selfManageResourcesHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubStrategyRecommendations } // namespace Aws