/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DatabaseMigrationService { namespace Model { /** *

Provides information about the limitations of target Amazon Web Services * engines.

Your source database might include features that the target * Amazon Web Services engine doesn't support. Fleet Advisor lists these features * as limitations. You should consider these limitations during database migration. * For each limitation, Fleet Advisor recommends an action that you can take to * address or avoid this limitation.

See Also:

AWS API * Reference

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

The identifier of the source database.

*/ inline const Aws::String& GetDatabaseId() const{ return m_databaseId; } /** *

The identifier of the source database.

*/ inline bool DatabaseIdHasBeenSet() const { return m_databaseIdHasBeenSet; } /** *

The identifier of the source database.

*/ inline void SetDatabaseId(const Aws::String& value) { m_databaseIdHasBeenSet = true; m_databaseId = value; } /** *

The identifier of the source database.

*/ inline void SetDatabaseId(Aws::String&& value) { m_databaseIdHasBeenSet = true; m_databaseId = std::move(value); } /** *

The identifier of the source database.

*/ inline void SetDatabaseId(const char* value) { m_databaseIdHasBeenSet = true; m_databaseId.assign(value); } /** *

The identifier of the source database.

*/ inline Limitation& WithDatabaseId(const Aws::String& value) { SetDatabaseId(value); return *this;} /** *

The identifier of the source database.

*/ inline Limitation& WithDatabaseId(Aws::String&& value) { SetDatabaseId(std::move(value)); return *this;} /** *

The identifier of the source database.

*/ inline Limitation& WithDatabaseId(const char* value) { SetDatabaseId(value); return *this;} /** *

The name of the target engine that Fleet Advisor should use in the target * engine recommendation. Valid values include "rds-aurora-mysql", * "rds-aurora-postgresql", "rds-mysql", * "rds-oracle", "rds-sql-server", and * "rds-postgresql".

*/ inline const Aws::String& GetEngineName() const{ return m_engineName; } /** *

The name of the target engine that Fleet Advisor should use in the target * engine recommendation. Valid values include "rds-aurora-mysql", * "rds-aurora-postgresql", "rds-mysql", * "rds-oracle", "rds-sql-server", and * "rds-postgresql".

*/ inline bool EngineNameHasBeenSet() const { return m_engineNameHasBeenSet; } /** *

The name of the target engine that Fleet Advisor should use in the target * engine recommendation. Valid values include "rds-aurora-mysql", * "rds-aurora-postgresql", "rds-mysql", * "rds-oracle", "rds-sql-server", and * "rds-postgresql".

*/ inline void SetEngineName(const Aws::String& value) { m_engineNameHasBeenSet = true; m_engineName = value; } /** *

The name of the target engine that Fleet Advisor should use in the target * engine recommendation. Valid values include "rds-aurora-mysql", * "rds-aurora-postgresql", "rds-mysql", * "rds-oracle", "rds-sql-server", and * "rds-postgresql".

*/ inline void SetEngineName(Aws::String&& value) { m_engineNameHasBeenSet = true; m_engineName = std::move(value); } /** *

The name of the target engine that Fleet Advisor should use in the target * engine recommendation. Valid values include "rds-aurora-mysql", * "rds-aurora-postgresql", "rds-mysql", * "rds-oracle", "rds-sql-server", and * "rds-postgresql".

*/ inline void SetEngineName(const char* value) { m_engineNameHasBeenSet = true; m_engineName.assign(value); } /** *

The name of the target engine that Fleet Advisor should use in the target * engine recommendation. Valid values include "rds-aurora-mysql", * "rds-aurora-postgresql", "rds-mysql", * "rds-oracle", "rds-sql-server", and * "rds-postgresql".

*/ inline Limitation& WithEngineName(const Aws::String& value) { SetEngineName(value); return *this;} /** *

The name of the target engine that Fleet Advisor should use in the target * engine recommendation. Valid values include "rds-aurora-mysql", * "rds-aurora-postgresql", "rds-mysql", * "rds-oracle", "rds-sql-server", and * "rds-postgresql".

*/ inline Limitation& WithEngineName(Aws::String&& value) { SetEngineName(std::move(value)); return *this;} /** *

The name of the target engine that Fleet Advisor should use in the target * engine recommendation. Valid values include "rds-aurora-mysql", * "rds-aurora-postgresql", "rds-mysql", * "rds-oracle", "rds-sql-server", and * "rds-postgresql".

*/ inline Limitation& WithEngineName(const char* value) { SetEngineName(value); return *this;} /** *

The name of the limitation. Describes unsupported database features, * migration action items, and other limitations.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the limitation. Describes unsupported database features, * migration action items, and other limitations.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the limitation. Describes unsupported database features, * migration action items, and other limitations.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the limitation. Describes unsupported database features, * migration action items, and other limitations.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the limitation. Describes unsupported database features, * migration action items, and other limitations.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the limitation. Describes unsupported database features, * migration action items, and other limitations.

*/ inline Limitation& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the limitation. Describes unsupported database features, * migration action items, and other limitations.

*/ inline Limitation& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the limitation. Describes unsupported database features, * migration action items, and other limitations.

*/ inline Limitation& WithName(const char* value) { SetName(value); return *this;} /** *

A description of the limitation. Provides additional information about the * limitation, and includes recommended actions that you can take to address or * avoid this limitation.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the limitation. Provides additional information about the * limitation, and includes recommended actions that you can take to address or * avoid this limitation.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the limitation. Provides additional information about the * limitation, and includes recommended actions that you can take to address or * avoid this limitation.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the limitation. Provides additional information about the * limitation, and includes recommended actions that you can take to address or * avoid this limitation.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the limitation. Provides additional information about the * limitation, and includes recommended actions that you can take to address or * avoid this limitation.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the limitation. Provides additional information about the * limitation, and includes recommended actions that you can take to address or * avoid this limitation.

*/ inline Limitation& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the limitation. Provides additional information about the * limitation, and includes recommended actions that you can take to address or * avoid this limitation.

*/ inline Limitation& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the limitation. Provides additional information about the * limitation, and includes recommended actions that you can take to address or * avoid this limitation.

*/ inline Limitation& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The impact of the limitation. You can use this parameter to prioritize * limitations that you want to address. Valid values include * "Blocker", "High", "Medium", and * "Low".

*/ inline const Aws::String& GetImpact() const{ return m_impact; } /** *

The impact of the limitation. You can use this parameter to prioritize * limitations that you want to address. Valid values include * "Blocker", "High", "Medium", and * "Low".

*/ inline bool ImpactHasBeenSet() const { return m_impactHasBeenSet; } /** *

The impact of the limitation. You can use this parameter to prioritize * limitations that you want to address. Valid values include * "Blocker", "High", "Medium", and * "Low".

*/ inline void SetImpact(const Aws::String& value) { m_impactHasBeenSet = true; m_impact = value; } /** *

The impact of the limitation. You can use this parameter to prioritize * limitations that you want to address. Valid values include * "Blocker", "High", "Medium", and * "Low".

*/ inline void SetImpact(Aws::String&& value) { m_impactHasBeenSet = true; m_impact = std::move(value); } /** *

The impact of the limitation. You can use this parameter to prioritize * limitations that you want to address. Valid values include * "Blocker", "High", "Medium", and * "Low".

*/ inline void SetImpact(const char* value) { m_impactHasBeenSet = true; m_impact.assign(value); } /** *

The impact of the limitation. You can use this parameter to prioritize * limitations that you want to address. Valid values include * "Blocker", "High", "Medium", and * "Low".

*/ inline Limitation& WithImpact(const Aws::String& value) { SetImpact(value); return *this;} /** *

The impact of the limitation. You can use this parameter to prioritize * limitations that you want to address. Valid values include * "Blocker", "High", "Medium", and * "Low".

*/ inline Limitation& WithImpact(Aws::String&& value) { SetImpact(std::move(value)); return *this;} /** *

The impact of the limitation. You can use this parameter to prioritize * limitations that you want to address. Valid values include * "Blocker", "High", "Medium", and * "Low".

*/ inline Limitation& WithImpact(const char* value) { SetImpact(value); return *this;} /** *

The type of the limitation, such as action required, upgrade required, and * limited feature.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of the limitation, such as action required, upgrade required, and * limited feature.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the limitation, such as action required, upgrade required, and * limited feature.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the limitation, such as action required, upgrade required, and * limited feature.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the limitation, such as action required, upgrade required, and * limited feature.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of the limitation, such as action required, upgrade required, and * limited feature.

*/ inline Limitation& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of the limitation, such as action required, upgrade required, and * limited feature.

*/ inline Limitation& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of the limitation, such as action required, upgrade required, and * limited feature.

*/ inline Limitation& WithType(const char* value) { SetType(value); return *this;} private: Aws::String m_databaseId; bool m_databaseIdHasBeenSet = false; Aws::String m_engineName; bool m_engineNameHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_impact; bool m_impactHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws