/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElastiCache { namespace Model { /** *

Provides all of the details about a particular cache engine * version.

See Also:

AWS * API Reference

*/ class CacheEngineVersion { public: AWS_ELASTICACHE_API CacheEngineVersion(); AWS_ELASTICACHE_API CacheEngineVersion(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API CacheEngineVersion& 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 name of the cache engine.

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

The name of the cache engine.

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

The name of the cache engine.

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

The name of the cache engine.

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

The name of the cache engine.

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

The name of the cache engine.

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

The name of the cache engine.

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

The name of the cache engine.

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

The version number of the cache engine.

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

The version number of the cache engine.

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

The version number of the cache engine.

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

The version number of the cache engine.

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

The version number of the cache engine.

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

The version number of the cache engine.

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

The version number of the cache engine.

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

The version number of the cache engine.

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

The name of the cache parameter group family associated with this cache * engine.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis7

*/ inline const Aws::String& GetCacheParameterGroupFamily() const{ return m_cacheParameterGroupFamily; } /** *

The name of the cache parameter group family associated with this cache * engine.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis7

*/ inline bool CacheParameterGroupFamilyHasBeenSet() const { return m_cacheParameterGroupFamilyHasBeenSet; } /** *

The name of the cache parameter group family associated with this cache * engine.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis7

*/ inline void SetCacheParameterGroupFamily(const Aws::String& value) { m_cacheParameterGroupFamilyHasBeenSet = true; m_cacheParameterGroupFamily = value; } /** *

The name of the cache parameter group family associated with this cache * engine.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis7

*/ inline void SetCacheParameterGroupFamily(Aws::String&& value) { m_cacheParameterGroupFamilyHasBeenSet = true; m_cacheParameterGroupFamily = std::move(value); } /** *

The name of the cache parameter group family associated with this cache * engine.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis7

*/ inline void SetCacheParameterGroupFamily(const char* value) { m_cacheParameterGroupFamilyHasBeenSet = true; m_cacheParameterGroupFamily.assign(value); } /** *

The name of the cache parameter group family associated with this cache * engine.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis7

*/ inline CacheEngineVersion& WithCacheParameterGroupFamily(const Aws::String& value) { SetCacheParameterGroupFamily(value); return *this;} /** *

The name of the cache parameter group family associated with this cache * engine.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis7

*/ inline CacheEngineVersion& WithCacheParameterGroupFamily(Aws::String&& value) { SetCacheParameterGroupFamily(std::move(value)); return *this;} /** *

The name of the cache parameter group family associated with this cache * engine.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis7

*/ inline CacheEngineVersion& WithCacheParameterGroupFamily(const char* value) { SetCacheParameterGroupFamily(value); return *this;} /** *

The description of the cache engine.

*/ inline const Aws::String& GetCacheEngineDescription() const{ return m_cacheEngineDescription; } /** *

The description of the cache engine.

*/ inline bool CacheEngineDescriptionHasBeenSet() const { return m_cacheEngineDescriptionHasBeenSet; } /** *

The description of the cache engine.

*/ inline void SetCacheEngineDescription(const Aws::String& value) { m_cacheEngineDescriptionHasBeenSet = true; m_cacheEngineDescription = value; } /** *

The description of the cache engine.

*/ inline void SetCacheEngineDescription(Aws::String&& value) { m_cacheEngineDescriptionHasBeenSet = true; m_cacheEngineDescription = std::move(value); } /** *

The description of the cache engine.

*/ inline void SetCacheEngineDescription(const char* value) { m_cacheEngineDescriptionHasBeenSet = true; m_cacheEngineDescription.assign(value); } /** *

The description of the cache engine.

*/ inline CacheEngineVersion& WithCacheEngineDescription(const Aws::String& value) { SetCacheEngineDescription(value); return *this;} /** *

The description of the cache engine.

*/ inline CacheEngineVersion& WithCacheEngineDescription(Aws::String&& value) { SetCacheEngineDescription(std::move(value)); return *this;} /** *

The description of the cache engine.

*/ inline CacheEngineVersion& WithCacheEngineDescription(const char* value) { SetCacheEngineDescription(value); return *this;} /** *

The description of the cache engine version.

*/ inline const Aws::String& GetCacheEngineVersionDescription() const{ return m_cacheEngineVersionDescription; } /** *

The description of the cache engine version.

*/ inline bool CacheEngineVersionDescriptionHasBeenSet() const { return m_cacheEngineVersionDescriptionHasBeenSet; } /** *

The description of the cache engine version.

*/ inline void SetCacheEngineVersionDescription(const Aws::String& value) { m_cacheEngineVersionDescriptionHasBeenSet = true; m_cacheEngineVersionDescription = value; } /** *

The description of the cache engine version.

*/ inline void SetCacheEngineVersionDescription(Aws::String&& value) { m_cacheEngineVersionDescriptionHasBeenSet = true; m_cacheEngineVersionDescription = std::move(value); } /** *

The description of the cache engine version.

*/ inline void SetCacheEngineVersionDescription(const char* value) { m_cacheEngineVersionDescriptionHasBeenSet = true; m_cacheEngineVersionDescription.assign(value); } /** *

The description of the cache engine version.

*/ inline CacheEngineVersion& WithCacheEngineVersionDescription(const Aws::String& value) { SetCacheEngineVersionDescription(value); return *this;} /** *

The description of the cache engine version.

*/ inline CacheEngineVersion& WithCacheEngineVersionDescription(Aws::String&& value) { SetCacheEngineVersionDescription(std::move(value)); return *this;} /** *

The description of the cache engine version.

*/ inline CacheEngineVersion& WithCacheEngineVersionDescription(const char* value) { SetCacheEngineVersionDescription(value); return *this;} private: Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_cacheParameterGroupFamily; bool m_cacheParameterGroupFamilyHasBeenSet = false; Aws::String m_cacheEngineDescription; bool m_cacheEngineDescriptionHasBeenSet = false; Aws::String m_cacheEngineVersionDescription; bool m_cacheEngineVersionDescriptionHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws