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

Describes a database image, or blueprint. A blueprint describes the major * engine version of a database.

See Also:

AWS * API Reference

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

The ID for the database blueprint.

*/ inline const Aws::String& GetBlueprintId() const{ return m_blueprintId; } /** *

The ID for the database blueprint.

*/ inline bool BlueprintIdHasBeenSet() const { return m_blueprintIdHasBeenSet; } /** *

The ID for the database blueprint.

*/ inline void SetBlueprintId(const Aws::String& value) { m_blueprintIdHasBeenSet = true; m_blueprintId = value; } /** *

The ID for the database blueprint.

*/ inline void SetBlueprintId(Aws::String&& value) { m_blueprintIdHasBeenSet = true; m_blueprintId = std::move(value); } /** *

The ID for the database blueprint.

*/ inline void SetBlueprintId(const char* value) { m_blueprintIdHasBeenSet = true; m_blueprintId.assign(value); } /** *

The ID for the database blueprint.

*/ inline RelationalDatabaseBlueprint& WithBlueprintId(const Aws::String& value) { SetBlueprintId(value); return *this;} /** *

The ID for the database blueprint.

*/ inline RelationalDatabaseBlueprint& WithBlueprintId(Aws::String&& value) { SetBlueprintId(std::move(value)); return *this;} /** *

The ID for the database blueprint.

*/ inline RelationalDatabaseBlueprint& WithBlueprintId(const char* value) { SetBlueprintId(value); return *this;} /** *

The database software of the database blueprint (for example, * MySQL).

*/ inline const RelationalDatabaseEngine& GetEngine() const{ return m_engine; } /** *

The database software of the database blueprint (for example, * MySQL).

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

The database software of the database blueprint (for example, * MySQL).

*/ inline void SetEngine(const RelationalDatabaseEngine& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

The database software of the database blueprint (for example, * MySQL).

*/ inline void SetEngine(RelationalDatabaseEngine&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

The database software of the database blueprint (for example, * MySQL).

*/ inline RelationalDatabaseBlueprint& WithEngine(const RelationalDatabaseEngine& value) { SetEngine(value); return *this;} /** *

The database software of the database blueprint (for example, * MySQL).

*/ inline RelationalDatabaseBlueprint& WithEngine(RelationalDatabaseEngine&& value) { SetEngine(std::move(value)); return *this;} /** *

The database engine version for the database blueprint (for example, * 5.7.23).

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The database engine version for the database blueprint (for example, * 5.7.23).

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The database engine version for the database blueprint (for example, * 5.7.23).

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The database engine version for the database blueprint (for example, * 5.7.23).

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The database engine version for the database blueprint (for example, * 5.7.23).

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The database engine version for the database blueprint (for example, * 5.7.23).

*/ inline RelationalDatabaseBlueprint& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The database engine version for the database blueprint (for example, * 5.7.23).

*/ inline RelationalDatabaseBlueprint& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The database engine version for the database blueprint (for example, * 5.7.23).

*/ inline RelationalDatabaseBlueprint& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

The description of the database engine for the database blueprint.

*/ inline const Aws::String& GetEngineDescription() const{ return m_engineDescription; } /** *

The description of the database engine for the database blueprint.

*/ inline bool EngineDescriptionHasBeenSet() const { return m_engineDescriptionHasBeenSet; } /** *

The description of the database engine for the database blueprint.

*/ inline void SetEngineDescription(const Aws::String& value) { m_engineDescriptionHasBeenSet = true; m_engineDescription = value; } /** *

The description of the database engine for the database blueprint.

*/ inline void SetEngineDescription(Aws::String&& value) { m_engineDescriptionHasBeenSet = true; m_engineDescription = std::move(value); } /** *

The description of the database engine for the database blueprint.

*/ inline void SetEngineDescription(const char* value) { m_engineDescriptionHasBeenSet = true; m_engineDescription.assign(value); } /** *

The description of the database engine for the database blueprint.

*/ inline RelationalDatabaseBlueprint& WithEngineDescription(const Aws::String& value) { SetEngineDescription(value); return *this;} /** *

The description of the database engine for the database blueprint.

*/ inline RelationalDatabaseBlueprint& WithEngineDescription(Aws::String&& value) { SetEngineDescription(std::move(value)); return *this;} /** *

The description of the database engine for the database blueprint.

*/ inline RelationalDatabaseBlueprint& WithEngineDescription(const char* value) { SetEngineDescription(value); return *this;} /** *

The description of the database engine version for the database * blueprint.

*/ inline const Aws::String& GetEngineVersionDescription() const{ return m_engineVersionDescription; } /** *

The description of the database engine version for the database * blueprint.

*/ inline bool EngineVersionDescriptionHasBeenSet() const { return m_engineVersionDescriptionHasBeenSet; } /** *

The description of the database engine version for the database * blueprint.

*/ inline void SetEngineVersionDescription(const Aws::String& value) { m_engineVersionDescriptionHasBeenSet = true; m_engineVersionDescription = value; } /** *

The description of the database engine version for the database * blueprint.

*/ inline void SetEngineVersionDescription(Aws::String&& value) { m_engineVersionDescriptionHasBeenSet = true; m_engineVersionDescription = std::move(value); } /** *

The description of the database engine version for the database * blueprint.

*/ inline void SetEngineVersionDescription(const char* value) { m_engineVersionDescriptionHasBeenSet = true; m_engineVersionDescription.assign(value); } /** *

The description of the database engine version for the database * blueprint.

*/ inline RelationalDatabaseBlueprint& WithEngineVersionDescription(const Aws::String& value) { SetEngineVersionDescription(value); return *this;} /** *

The description of the database engine version for the database * blueprint.

*/ inline RelationalDatabaseBlueprint& WithEngineVersionDescription(Aws::String&& value) { SetEngineVersionDescription(std::move(value)); return *this;} /** *

The description of the database engine version for the database * blueprint.

*/ inline RelationalDatabaseBlueprint& WithEngineVersionDescription(const char* value) { SetEngineVersionDescription(value); return *this;} /** *

A Boolean value indicating whether the engine version is the default for the * database blueprint.

*/ inline bool GetIsEngineDefault() const{ return m_isEngineDefault; } /** *

A Boolean value indicating whether the engine version is the default for the * database blueprint.

*/ inline bool IsEngineDefaultHasBeenSet() const { return m_isEngineDefaultHasBeenSet; } /** *

A Boolean value indicating whether the engine version is the default for the * database blueprint.

*/ inline void SetIsEngineDefault(bool value) { m_isEngineDefaultHasBeenSet = true; m_isEngineDefault = value; } /** *

A Boolean value indicating whether the engine version is the default for the * database blueprint.

*/ inline RelationalDatabaseBlueprint& WithIsEngineDefault(bool value) { SetIsEngineDefault(value); return *this;} private: Aws::String m_blueprintId; bool m_blueprintIdHasBeenSet = false; RelationalDatabaseEngine m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_engineDescription; bool m_engineDescriptionHasBeenSet = false; Aws::String m_engineVersionDescription; bool m_engineVersionDescriptionHasBeenSet = false; bool m_isEngineDefault; bool m_isEngineDefaultHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws