/** * 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 a database to AWS.

See Also:

AWS * API Reference

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

Indicates whether you are interested in moving from one type of database to * another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition. *

*/ inline const Heterogeneous& GetHeterogeneous() const{ return m_heterogeneous; } /** *

Indicates whether you are interested in moving from one type of database to * another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition. *

*/ inline bool HeterogeneousHasBeenSet() const { return m_heterogeneousHasBeenSet; } /** *

Indicates whether you are interested in moving from one type of database to * another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition. *

*/ inline void SetHeterogeneous(const Heterogeneous& value) { m_heterogeneousHasBeenSet = true; m_heterogeneous = value; } /** *

Indicates whether you are interested in moving from one type of database to * another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition. *

*/ inline void SetHeterogeneous(Heterogeneous&& value) { m_heterogeneousHasBeenSet = true; m_heterogeneous = std::move(value); } /** *

Indicates whether you are interested in moving from one type of database to * another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition. *

*/ inline DatabaseMigrationPreference& WithHeterogeneous(const Heterogeneous& value) { SetHeterogeneous(value); return *this;} /** *

Indicates whether you are interested in moving from one type of database to * another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition. *

*/ inline DatabaseMigrationPreference& WithHeterogeneous(Heterogeneous&& value) { SetHeterogeneous(std::move(value)); return *this;} /** *

Indicates whether you are interested in moving to the same type of database * into AWS. For example, from SQL Server in your environment to SQL Server on AWS. *

*/ inline const Homogeneous& GetHomogeneous() const{ return m_homogeneous; } /** *

Indicates whether you are interested in moving to the same type of database * into AWS. For example, from SQL Server in your environment to SQL Server on AWS. *

*/ inline bool HomogeneousHasBeenSet() const { return m_homogeneousHasBeenSet; } /** *

Indicates whether you are interested in moving to the same type of database * into AWS. For example, from SQL Server in your environment to SQL Server on AWS. *

*/ inline void SetHomogeneous(const Homogeneous& value) { m_homogeneousHasBeenSet = true; m_homogeneous = value; } /** *

Indicates whether you are interested in moving to the same type of database * into AWS. For example, from SQL Server in your environment to SQL Server on AWS. *

*/ inline void SetHomogeneous(Homogeneous&& value) { m_homogeneousHasBeenSet = true; m_homogeneous = std::move(value); } /** *

Indicates whether you are interested in moving to the same type of database * into AWS. For example, from SQL Server in your environment to SQL Server on AWS. *

*/ inline DatabaseMigrationPreference& WithHomogeneous(const Homogeneous& value) { SetHomogeneous(value); return *this;} /** *

Indicates whether you are interested in moving to the same type of database * into AWS. For example, from SQL Server in your environment to SQL Server on AWS. *

*/ inline DatabaseMigrationPreference& WithHomogeneous(Homogeneous&& value) { SetHomogeneous(std::move(value)); return *this;} /** *

Indicated that you do not prefer heterogeneous or homogeneous.

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

Indicated that you do not prefer heterogeneous or homogeneous.

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

Indicated that you do not prefer heterogeneous or homogeneous.

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

Indicated that you do not prefer heterogeneous or homogeneous.

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

Indicated that you do not prefer heterogeneous or homogeneous.

*/ inline DatabaseMigrationPreference& WithNoPreference(const NoDatabaseMigrationPreference& value) { SetNoPreference(value); return *this;} /** *

Indicated that you do not prefer heterogeneous or homogeneous.

*/ inline DatabaseMigrationPreference& WithNoPreference(NoDatabaseMigrationPreference&& value) { SetNoPreference(std::move(value)); return *this;} private: Heterogeneous m_heterogeneous; bool m_heterogeneousHasBeenSet = false; Homogeneous m_homogeneous; bool m_homogeneousHasBeenSet = false; NoDatabaseMigrationPreference m_noPreference; bool m_noPreferenceHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubStrategyRecommendations } // namespace Aws