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

Detailed information about an engine version.

See Also:

AWS * API Reference

*/ class DBEngineVersion { public: AWS_DOCDB_API DBEngineVersion(); AWS_DOCDB_API DBEngineVersion(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_DOCDB_API DBEngineVersion& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_DOCDB_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_DOCDB_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The name of the database engine.

*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *

The name of the database engine.

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

The name of the database engine.

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

The name of the database engine.

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

The name of the database engine.

*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *

The name of the database engine.

*/ inline DBEngineVersion& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *

The name of the database engine.

*/ inline DBEngineVersion& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *

The name of the database engine.

*/ inline DBEngineVersion& WithEngine(const char* value) { SetEngine(value); return *this;} /** *

The version number of the database engine.

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

The version number of the database engine.

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

The version number of the database engine.

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

The version number of the database engine.

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

The version number of the database engine.

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

The version number of the database engine.

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

The version number of the database engine.

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

The version number of the database engine.

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

The name of the parameter group family for the database engine.

*/ inline const Aws::String& GetDBParameterGroupFamily() const{ return m_dBParameterGroupFamily; } /** *

The name of the parameter group family for the database engine.

*/ inline bool DBParameterGroupFamilyHasBeenSet() const { return m_dBParameterGroupFamilyHasBeenSet; } /** *

The name of the parameter group family for the database engine.

*/ inline void SetDBParameterGroupFamily(const Aws::String& value) { m_dBParameterGroupFamilyHasBeenSet = true; m_dBParameterGroupFamily = value; } /** *

The name of the parameter group family for the database engine.

*/ inline void SetDBParameterGroupFamily(Aws::String&& value) { m_dBParameterGroupFamilyHasBeenSet = true; m_dBParameterGroupFamily = std::move(value); } /** *

The name of the parameter group family for the database engine.

*/ inline void SetDBParameterGroupFamily(const char* value) { m_dBParameterGroupFamilyHasBeenSet = true; m_dBParameterGroupFamily.assign(value); } /** *

The name of the parameter group family for the database engine.

*/ inline DBEngineVersion& WithDBParameterGroupFamily(const Aws::String& value) { SetDBParameterGroupFamily(value); return *this;} /** *

The name of the parameter group family for the database engine.

*/ inline DBEngineVersion& WithDBParameterGroupFamily(Aws::String&& value) { SetDBParameterGroupFamily(std::move(value)); return *this;} /** *

The name of the parameter group family for the database engine.

*/ inline DBEngineVersion& WithDBParameterGroupFamily(const char* value) { SetDBParameterGroupFamily(value); return *this;} /** *

The description of the database engine.

*/ inline const Aws::String& GetDBEngineDescription() const{ return m_dBEngineDescription; } /** *

The description of the database engine.

*/ inline bool DBEngineDescriptionHasBeenSet() const { return m_dBEngineDescriptionHasBeenSet; } /** *

The description of the database engine.

*/ inline void SetDBEngineDescription(const Aws::String& value) { m_dBEngineDescriptionHasBeenSet = true; m_dBEngineDescription = value; } /** *

The description of the database engine.

*/ inline void SetDBEngineDescription(Aws::String&& value) { m_dBEngineDescriptionHasBeenSet = true; m_dBEngineDescription = std::move(value); } /** *

The description of the database engine.

*/ inline void SetDBEngineDescription(const char* value) { m_dBEngineDescriptionHasBeenSet = true; m_dBEngineDescription.assign(value); } /** *

The description of the database engine.

*/ inline DBEngineVersion& WithDBEngineDescription(const Aws::String& value) { SetDBEngineDescription(value); return *this;} /** *

The description of the database engine.

*/ inline DBEngineVersion& WithDBEngineDescription(Aws::String&& value) { SetDBEngineDescription(std::move(value)); return *this;} /** *

The description of the database engine.

*/ inline DBEngineVersion& WithDBEngineDescription(const char* value) { SetDBEngineDescription(value); return *this;} /** *

The description of the database engine version.

*/ inline const Aws::String& GetDBEngineVersionDescription() const{ return m_dBEngineVersionDescription; } /** *

The description of the database engine version.

*/ inline bool DBEngineVersionDescriptionHasBeenSet() const { return m_dBEngineVersionDescriptionHasBeenSet; } /** *

The description of the database engine version.

*/ inline void SetDBEngineVersionDescription(const Aws::String& value) { m_dBEngineVersionDescriptionHasBeenSet = true; m_dBEngineVersionDescription = value; } /** *

The description of the database engine version.

*/ inline void SetDBEngineVersionDescription(Aws::String&& value) { m_dBEngineVersionDescriptionHasBeenSet = true; m_dBEngineVersionDescription = std::move(value); } /** *

The description of the database engine version.

*/ inline void SetDBEngineVersionDescription(const char* value) { m_dBEngineVersionDescriptionHasBeenSet = true; m_dBEngineVersionDescription.assign(value); } /** *

The description of the database engine version.

*/ inline DBEngineVersion& WithDBEngineVersionDescription(const Aws::String& value) { SetDBEngineVersionDescription(value); return *this;} /** *

The description of the database engine version.

*/ inline DBEngineVersion& WithDBEngineVersionDescription(Aws::String&& value) { SetDBEngineVersionDescription(std::move(value)); return *this;} /** *

The description of the database engine version.

*/ inline DBEngineVersion& WithDBEngineVersionDescription(const char* value) { SetDBEngineVersionDescription(value); return *this;} /** *

A list of engine versions that this database engine version can be upgraded * to.

*/ inline const Aws::Vector& GetValidUpgradeTarget() const{ return m_validUpgradeTarget; } /** *

A list of engine versions that this database engine version can be upgraded * to.

*/ inline bool ValidUpgradeTargetHasBeenSet() const { return m_validUpgradeTargetHasBeenSet; } /** *

A list of engine versions that this database engine version can be upgraded * to.

*/ inline void SetValidUpgradeTarget(const Aws::Vector& value) { m_validUpgradeTargetHasBeenSet = true; m_validUpgradeTarget = value; } /** *

A list of engine versions that this database engine version can be upgraded * to.

*/ inline void SetValidUpgradeTarget(Aws::Vector&& value) { m_validUpgradeTargetHasBeenSet = true; m_validUpgradeTarget = std::move(value); } /** *

A list of engine versions that this database engine version can be upgraded * to.

*/ inline DBEngineVersion& WithValidUpgradeTarget(const Aws::Vector& value) { SetValidUpgradeTarget(value); return *this;} /** *

A list of engine versions that this database engine version can be upgraded * to.

*/ inline DBEngineVersion& WithValidUpgradeTarget(Aws::Vector&& value) { SetValidUpgradeTarget(std::move(value)); return *this;} /** *

A list of engine versions that this database engine version can be upgraded * to.

*/ inline DBEngineVersion& AddValidUpgradeTarget(const UpgradeTarget& value) { m_validUpgradeTargetHasBeenSet = true; m_validUpgradeTarget.push_back(value); return *this; } /** *

A list of engine versions that this database engine version can be upgraded * to.

*/ inline DBEngineVersion& AddValidUpgradeTarget(UpgradeTarget&& value) { m_validUpgradeTargetHasBeenSet = true; m_validUpgradeTarget.push_back(std::move(value)); return *this; } /** *

The types of logs that the database engine has available for export to Amazon * CloudWatch Logs.

*/ inline const Aws::Vector& GetExportableLogTypes() const{ return m_exportableLogTypes; } /** *

The types of logs that the database engine has available for export to Amazon * CloudWatch Logs.

*/ inline bool ExportableLogTypesHasBeenSet() const { return m_exportableLogTypesHasBeenSet; } /** *

The types of logs that the database engine has available for export to Amazon * CloudWatch Logs.

*/ inline void SetExportableLogTypes(const Aws::Vector& value) { m_exportableLogTypesHasBeenSet = true; m_exportableLogTypes = value; } /** *

The types of logs that the database engine has available for export to Amazon * CloudWatch Logs.

*/ inline void SetExportableLogTypes(Aws::Vector&& value) { m_exportableLogTypesHasBeenSet = true; m_exportableLogTypes = std::move(value); } /** *

The types of logs that the database engine has available for export to Amazon * CloudWatch Logs.

*/ inline DBEngineVersion& WithExportableLogTypes(const Aws::Vector& value) { SetExportableLogTypes(value); return *this;} /** *

The types of logs that the database engine has available for export to Amazon * CloudWatch Logs.

*/ inline DBEngineVersion& WithExportableLogTypes(Aws::Vector&& value) { SetExportableLogTypes(std::move(value)); return *this;} /** *

The types of logs that the database engine has available for export to Amazon * CloudWatch Logs.

*/ inline DBEngineVersion& AddExportableLogTypes(const Aws::String& value) { m_exportableLogTypesHasBeenSet = true; m_exportableLogTypes.push_back(value); return *this; } /** *

The types of logs that the database engine has available for export to Amazon * CloudWatch Logs.

*/ inline DBEngineVersion& AddExportableLogTypes(Aws::String&& value) { m_exportableLogTypesHasBeenSet = true; m_exportableLogTypes.push_back(std::move(value)); return *this; } /** *

The types of logs that the database engine has available for export to Amazon * CloudWatch Logs.

*/ inline DBEngineVersion& AddExportableLogTypes(const char* value) { m_exportableLogTypesHasBeenSet = true; m_exportableLogTypes.push_back(value); return *this; } /** *

A value that indicates whether the engine version supports exporting the log * types specified by ExportableLogTypes to CloudWatch Logs.

*/ inline bool GetSupportsLogExportsToCloudwatchLogs() const{ return m_supportsLogExportsToCloudwatchLogs; } /** *

A value that indicates whether the engine version supports exporting the log * types specified by ExportableLogTypes to CloudWatch Logs.

*/ inline bool SupportsLogExportsToCloudwatchLogsHasBeenSet() const { return m_supportsLogExportsToCloudwatchLogsHasBeenSet; } /** *

A value that indicates whether the engine version supports exporting the log * types specified by ExportableLogTypes to CloudWatch Logs.

*/ inline void SetSupportsLogExportsToCloudwatchLogs(bool value) { m_supportsLogExportsToCloudwatchLogsHasBeenSet = true; m_supportsLogExportsToCloudwatchLogs = value; } /** *

A value that indicates whether the engine version supports exporting the log * types specified by ExportableLogTypes to CloudWatch Logs.

*/ inline DBEngineVersion& WithSupportsLogExportsToCloudwatchLogs(bool value) { SetSupportsLogExportsToCloudwatchLogs(value); return *this;} private: Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_dBParameterGroupFamily; bool m_dBParameterGroupFamilyHasBeenSet = false; Aws::String m_dBEngineDescription; bool m_dBEngineDescriptionHasBeenSet = false; Aws::String m_dBEngineVersionDescription; bool m_dBEngineVersionDescriptionHasBeenSet = false; Aws::Vector m_validUpgradeTarget; bool m_validUpgradeTargetHasBeenSet = false; Aws::Vector m_exportableLogTypes; bool m_exportableLogTypesHasBeenSet = false; bool m_supportsLogExportsToCloudwatchLogs; bool m_supportsLogExportsToCloudwatchLogsHasBeenSet = false; }; } // namespace Model } // namespace DocDB } // namespace Aws