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

An update that you can apply to your Redis clusters.

See Also:

* AWS * API Reference

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

The unique ID of the service update

*/ inline const Aws::String& GetServiceUpdateName() const{ return m_serviceUpdateName; } /** *

The unique ID of the service update

*/ inline bool ServiceUpdateNameHasBeenSet() const { return m_serviceUpdateNameHasBeenSet; } /** *

The unique ID of the service update

*/ inline void SetServiceUpdateName(const Aws::String& value) { m_serviceUpdateNameHasBeenSet = true; m_serviceUpdateName = value; } /** *

The unique ID of the service update

*/ inline void SetServiceUpdateName(Aws::String&& value) { m_serviceUpdateNameHasBeenSet = true; m_serviceUpdateName = std::move(value); } /** *

The unique ID of the service update

*/ inline void SetServiceUpdateName(const char* value) { m_serviceUpdateNameHasBeenSet = true; m_serviceUpdateName.assign(value); } /** *

The unique ID of the service update

*/ inline ServiceUpdate& WithServiceUpdateName(const Aws::String& value) { SetServiceUpdateName(value); return *this;} /** *

The unique ID of the service update

*/ inline ServiceUpdate& WithServiceUpdateName(Aws::String&& value) { SetServiceUpdateName(std::move(value)); return *this;} /** *

The unique ID of the service update

*/ inline ServiceUpdate& WithServiceUpdateName(const char* value) { SetServiceUpdateName(value); return *this;} /** *

The date when the service update is initially available

*/ inline const Aws::Utils::DateTime& GetServiceUpdateReleaseDate() const{ return m_serviceUpdateReleaseDate; } /** *

The date when the service update is initially available

*/ inline bool ServiceUpdateReleaseDateHasBeenSet() const { return m_serviceUpdateReleaseDateHasBeenSet; } /** *

The date when the service update is initially available

*/ inline void SetServiceUpdateReleaseDate(const Aws::Utils::DateTime& value) { m_serviceUpdateReleaseDateHasBeenSet = true; m_serviceUpdateReleaseDate = value; } /** *

The date when the service update is initially available

*/ inline void SetServiceUpdateReleaseDate(Aws::Utils::DateTime&& value) { m_serviceUpdateReleaseDateHasBeenSet = true; m_serviceUpdateReleaseDate = std::move(value); } /** *

The date when the service update is initially available

*/ inline ServiceUpdate& WithServiceUpdateReleaseDate(const Aws::Utils::DateTime& value) { SetServiceUpdateReleaseDate(value); return *this;} /** *

The date when the service update is initially available

*/ inline ServiceUpdate& WithServiceUpdateReleaseDate(Aws::Utils::DateTime&& value) { SetServiceUpdateReleaseDate(std::move(value)); return *this;} /** *

The date after which the service update is no longer available

*/ inline const Aws::Utils::DateTime& GetServiceUpdateEndDate() const{ return m_serviceUpdateEndDate; } /** *

The date after which the service update is no longer available

*/ inline bool ServiceUpdateEndDateHasBeenSet() const { return m_serviceUpdateEndDateHasBeenSet; } /** *

The date after which the service update is no longer available

*/ inline void SetServiceUpdateEndDate(const Aws::Utils::DateTime& value) { m_serviceUpdateEndDateHasBeenSet = true; m_serviceUpdateEndDate = value; } /** *

The date after which the service update is no longer available

*/ inline void SetServiceUpdateEndDate(Aws::Utils::DateTime&& value) { m_serviceUpdateEndDateHasBeenSet = true; m_serviceUpdateEndDate = std::move(value); } /** *

The date after which the service update is no longer available

*/ inline ServiceUpdate& WithServiceUpdateEndDate(const Aws::Utils::DateTime& value) { SetServiceUpdateEndDate(value); return *this;} /** *

The date after which the service update is no longer available

*/ inline ServiceUpdate& WithServiceUpdateEndDate(Aws::Utils::DateTime&& value) { SetServiceUpdateEndDate(std::move(value)); return *this;} /** *

The severity of the service update

*/ inline const ServiceUpdateSeverity& GetServiceUpdateSeverity() const{ return m_serviceUpdateSeverity; } /** *

The severity of the service update

*/ inline bool ServiceUpdateSeverityHasBeenSet() const { return m_serviceUpdateSeverityHasBeenSet; } /** *

The severity of the service update

*/ inline void SetServiceUpdateSeverity(const ServiceUpdateSeverity& value) { m_serviceUpdateSeverityHasBeenSet = true; m_serviceUpdateSeverity = value; } /** *

The severity of the service update

*/ inline void SetServiceUpdateSeverity(ServiceUpdateSeverity&& value) { m_serviceUpdateSeverityHasBeenSet = true; m_serviceUpdateSeverity = std::move(value); } /** *

The severity of the service update

*/ inline ServiceUpdate& WithServiceUpdateSeverity(const ServiceUpdateSeverity& value) { SetServiceUpdateSeverity(value); return *this;} /** *

The severity of the service update

*/ inline ServiceUpdate& WithServiceUpdateSeverity(ServiceUpdateSeverity&& value) { SetServiceUpdateSeverity(std::move(value)); return *this;} /** *

The recommendend date to apply the service update in order to ensure * compliance. For information on compliance, see Self-Service * Security Updates for Compliance.

*/ inline const Aws::Utils::DateTime& GetServiceUpdateRecommendedApplyByDate() const{ return m_serviceUpdateRecommendedApplyByDate; } /** *

The recommendend date to apply the service update in order to ensure * compliance. For information on compliance, see Self-Service * Security Updates for Compliance.

*/ inline bool ServiceUpdateRecommendedApplyByDateHasBeenSet() const { return m_serviceUpdateRecommendedApplyByDateHasBeenSet; } /** *

The recommendend date to apply the service update in order to ensure * compliance. For information on compliance, see Self-Service * Security Updates for Compliance.

*/ inline void SetServiceUpdateRecommendedApplyByDate(const Aws::Utils::DateTime& value) { m_serviceUpdateRecommendedApplyByDateHasBeenSet = true; m_serviceUpdateRecommendedApplyByDate = value; } /** *

The recommendend date to apply the service update in order to ensure * compliance. For information on compliance, see Self-Service * Security Updates for Compliance.

*/ inline void SetServiceUpdateRecommendedApplyByDate(Aws::Utils::DateTime&& value) { m_serviceUpdateRecommendedApplyByDateHasBeenSet = true; m_serviceUpdateRecommendedApplyByDate = std::move(value); } /** *

The recommendend date to apply the service update in order to ensure * compliance. For information on compliance, see Self-Service * Security Updates for Compliance.

*/ inline ServiceUpdate& WithServiceUpdateRecommendedApplyByDate(const Aws::Utils::DateTime& value) { SetServiceUpdateRecommendedApplyByDate(value); return *this;} /** *

The recommendend date to apply the service update in order to ensure * compliance. For information on compliance, see Self-Service * Security Updates for Compliance.

*/ inline ServiceUpdate& WithServiceUpdateRecommendedApplyByDate(Aws::Utils::DateTime&& value) { SetServiceUpdateRecommendedApplyByDate(std::move(value)); return *this;} /** *

The status of the service update

*/ inline const ServiceUpdateStatus& GetServiceUpdateStatus() const{ return m_serviceUpdateStatus; } /** *

The status of the service update

*/ inline bool ServiceUpdateStatusHasBeenSet() const { return m_serviceUpdateStatusHasBeenSet; } /** *

The status of the service update

*/ inline void SetServiceUpdateStatus(const ServiceUpdateStatus& value) { m_serviceUpdateStatusHasBeenSet = true; m_serviceUpdateStatus = value; } /** *

The status of the service update

*/ inline void SetServiceUpdateStatus(ServiceUpdateStatus&& value) { m_serviceUpdateStatusHasBeenSet = true; m_serviceUpdateStatus = std::move(value); } /** *

The status of the service update

*/ inline ServiceUpdate& WithServiceUpdateStatus(const ServiceUpdateStatus& value) { SetServiceUpdateStatus(value); return *this;} /** *

The status of the service update

*/ inline ServiceUpdate& WithServiceUpdateStatus(ServiceUpdateStatus&& value) { SetServiceUpdateStatus(std::move(value)); return *this;} /** *

Provides details of the service update

*/ inline const Aws::String& GetServiceUpdateDescription() const{ return m_serviceUpdateDescription; } /** *

Provides details of the service update

*/ inline bool ServiceUpdateDescriptionHasBeenSet() const { return m_serviceUpdateDescriptionHasBeenSet; } /** *

Provides details of the service update

*/ inline void SetServiceUpdateDescription(const Aws::String& value) { m_serviceUpdateDescriptionHasBeenSet = true; m_serviceUpdateDescription = value; } /** *

Provides details of the service update

*/ inline void SetServiceUpdateDescription(Aws::String&& value) { m_serviceUpdateDescriptionHasBeenSet = true; m_serviceUpdateDescription = std::move(value); } /** *

Provides details of the service update

*/ inline void SetServiceUpdateDescription(const char* value) { m_serviceUpdateDescriptionHasBeenSet = true; m_serviceUpdateDescription.assign(value); } /** *

Provides details of the service update

*/ inline ServiceUpdate& WithServiceUpdateDescription(const Aws::String& value) { SetServiceUpdateDescription(value); return *this;} /** *

Provides details of the service update

*/ inline ServiceUpdate& WithServiceUpdateDescription(Aws::String&& value) { SetServiceUpdateDescription(std::move(value)); return *this;} /** *

Provides details of the service update

*/ inline ServiceUpdate& WithServiceUpdateDescription(const char* value) { SetServiceUpdateDescription(value); return *this;} /** *

Reflects the nature of the service update

*/ inline const ServiceUpdateType& GetServiceUpdateType() const{ return m_serviceUpdateType; } /** *

Reflects the nature of the service update

*/ inline bool ServiceUpdateTypeHasBeenSet() const { return m_serviceUpdateTypeHasBeenSet; } /** *

Reflects the nature of the service update

*/ inline void SetServiceUpdateType(const ServiceUpdateType& value) { m_serviceUpdateTypeHasBeenSet = true; m_serviceUpdateType = value; } /** *

Reflects the nature of the service update

*/ inline void SetServiceUpdateType(ServiceUpdateType&& value) { m_serviceUpdateTypeHasBeenSet = true; m_serviceUpdateType = std::move(value); } /** *

Reflects the nature of the service update

*/ inline ServiceUpdate& WithServiceUpdateType(const ServiceUpdateType& value) { SetServiceUpdateType(value); return *this;} /** *

Reflects the nature of the service update

*/ inline ServiceUpdate& WithServiceUpdateType(ServiceUpdateType&& value) { SetServiceUpdateType(std::move(value)); return *this;} /** *

The Elasticache engine to which the update applies. Either Redis or * Memcached

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

The Elasticache engine to which the update applies. Either Redis or * Memcached

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

The Elasticache engine to which the update applies. Either Redis or * Memcached

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

The Elasticache engine to which the update applies. Either Redis or * Memcached

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

The Elasticache engine to which the update applies. Either Redis or * Memcached

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

The Elasticache engine to which the update applies. Either Redis or * Memcached

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

The Elasticache engine to which the update applies. Either Redis or * Memcached

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

The Elasticache engine to which the update applies. Either Redis or * Memcached

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

The Elasticache engine version to which the update applies. Either Redis or * Memcached engine version

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

The Elasticache engine version to which the update applies. Either Redis or * Memcached engine version

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

The Elasticache engine version to which the update applies. Either Redis or * Memcached engine version

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

The Elasticache engine version to which the update applies. Either Redis or * Memcached engine version

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

The Elasticache engine version to which the update applies. Either Redis or * Memcached engine version

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

The Elasticache engine version to which the update applies. Either Redis or * Memcached engine version

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

The Elasticache engine version to which the update applies. Either Redis or * Memcached engine version

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

The Elasticache engine version to which the update applies. Either Redis or * Memcached engine version

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

Indicates whether the service update will be automatically applied once the * recommended apply-by date has expired.

*/ inline bool GetAutoUpdateAfterRecommendedApplyByDate() const{ return m_autoUpdateAfterRecommendedApplyByDate; } /** *

Indicates whether the service update will be automatically applied once the * recommended apply-by date has expired.

*/ inline bool AutoUpdateAfterRecommendedApplyByDateHasBeenSet() const { return m_autoUpdateAfterRecommendedApplyByDateHasBeenSet; } /** *

Indicates whether the service update will be automatically applied once the * recommended apply-by date has expired.

*/ inline void SetAutoUpdateAfterRecommendedApplyByDate(bool value) { m_autoUpdateAfterRecommendedApplyByDateHasBeenSet = true; m_autoUpdateAfterRecommendedApplyByDate = value; } /** *

Indicates whether the service update will be automatically applied once the * recommended apply-by date has expired.

*/ inline ServiceUpdate& WithAutoUpdateAfterRecommendedApplyByDate(bool value) { SetAutoUpdateAfterRecommendedApplyByDate(value); return *this;} /** *

The estimated length of time the service update will take

*/ inline const Aws::String& GetEstimatedUpdateTime() const{ return m_estimatedUpdateTime; } /** *

The estimated length of time the service update will take

*/ inline bool EstimatedUpdateTimeHasBeenSet() const { return m_estimatedUpdateTimeHasBeenSet; } /** *

The estimated length of time the service update will take

*/ inline void SetEstimatedUpdateTime(const Aws::String& value) { m_estimatedUpdateTimeHasBeenSet = true; m_estimatedUpdateTime = value; } /** *

The estimated length of time the service update will take

*/ inline void SetEstimatedUpdateTime(Aws::String&& value) { m_estimatedUpdateTimeHasBeenSet = true; m_estimatedUpdateTime = std::move(value); } /** *

The estimated length of time the service update will take

*/ inline void SetEstimatedUpdateTime(const char* value) { m_estimatedUpdateTimeHasBeenSet = true; m_estimatedUpdateTime.assign(value); } /** *

The estimated length of time the service update will take

*/ inline ServiceUpdate& WithEstimatedUpdateTime(const Aws::String& value) { SetEstimatedUpdateTime(value); return *this;} /** *

The estimated length of time the service update will take

*/ inline ServiceUpdate& WithEstimatedUpdateTime(Aws::String&& value) { SetEstimatedUpdateTime(std::move(value)); return *this;} /** *

The estimated length of time the service update will take

*/ inline ServiceUpdate& WithEstimatedUpdateTime(const char* value) { SetEstimatedUpdateTime(value); return *this;} private: Aws::String m_serviceUpdateName; bool m_serviceUpdateNameHasBeenSet = false; Aws::Utils::DateTime m_serviceUpdateReleaseDate; bool m_serviceUpdateReleaseDateHasBeenSet = false; Aws::Utils::DateTime m_serviceUpdateEndDate; bool m_serviceUpdateEndDateHasBeenSet = false; ServiceUpdateSeverity m_serviceUpdateSeverity; bool m_serviceUpdateSeverityHasBeenSet = false; Aws::Utils::DateTime m_serviceUpdateRecommendedApplyByDate; bool m_serviceUpdateRecommendedApplyByDateHasBeenSet = false; ServiceUpdateStatus m_serviceUpdateStatus; bool m_serviceUpdateStatusHasBeenSet = false; Aws::String m_serviceUpdateDescription; bool m_serviceUpdateDescriptionHasBeenSet = false; ServiceUpdateType m_serviceUpdateType; bool m_serviceUpdateTypeHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; bool m_autoUpdateAfterRecommendedApplyByDate; bool m_autoUpdateAfterRecommendedApplyByDateHasBeenSet = false; Aws::String m_estimatedUpdateTime; bool m_estimatedUpdateTimeHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws