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

Represents the output of a DescribeEngineDefaultParameters * operation.

See Also:

AWS * API Reference

*/ class EngineDefaults { public: AWS_ELASTICACHE_API EngineDefaults(); AWS_ELASTICACHE_API EngineDefaults(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API EngineDefaults& 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; /** *

Specifies the name of the cache parameter group family to which the engine * default parameters apply.

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

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

Specifies the name of the cache parameter group family to which the engine * default parameters apply.

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

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

Specifies the name of the cache parameter group family to which the engine * default parameters apply.

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

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

Specifies the name of the cache parameter group family to which the engine * default parameters apply.

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

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

Specifies the name of the cache parameter group family to which the engine * default parameters apply.

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

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

Specifies the name of the cache parameter group family to which the engine * default parameters apply.

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

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

Specifies the name of the cache parameter group family to which the engine * default parameters apply.

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

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

Specifies the name of the cache parameter group family to which the engine * default parameters apply.

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

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

Provides an identifier to allow retrieval of paginated results.

*/ inline const Aws::String& GetMarker() const{ return m_marker; } /** *

Provides an identifier to allow retrieval of paginated results.

*/ inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } /** *

Provides an identifier to allow retrieval of paginated results.

*/ inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } /** *

Provides an identifier to allow retrieval of paginated results.

*/ inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } /** *

Provides an identifier to allow retrieval of paginated results.

*/ inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } /** *

Provides an identifier to allow retrieval of paginated results.

*/ inline EngineDefaults& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} /** *

Provides an identifier to allow retrieval of paginated results.

*/ inline EngineDefaults& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} /** *

Provides an identifier to allow retrieval of paginated results.

*/ inline EngineDefaults& WithMarker(const char* value) { SetMarker(value); return *this;} /** *

Contains a list of engine default parameters.

*/ inline const Aws::Vector& GetParameters() const{ return m_parameters; } /** *

Contains a list of engine default parameters.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

Contains a list of engine default parameters.

*/ inline void SetParameters(const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

Contains a list of engine default parameters.

*/ inline void SetParameters(Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

Contains a list of engine default parameters.

*/ inline EngineDefaults& WithParameters(const Aws::Vector& value) { SetParameters(value); return *this;} /** *

Contains a list of engine default parameters.

*/ inline EngineDefaults& WithParameters(Aws::Vector&& value) { SetParameters(std::move(value)); return *this;} /** *

Contains a list of engine default parameters.

*/ inline EngineDefaults& AddParameters(const Parameter& value) { m_parametersHasBeenSet = true; m_parameters.push_back(value); return *this; } /** *

Contains a list of engine default parameters.

*/ inline EngineDefaults& AddParameters(Parameter&& value) { m_parametersHasBeenSet = true; m_parameters.push_back(std::move(value)); return *this; } /** *

A list of parameters specific to a particular cache node type. Each element * in the list contains detailed information about one parameter.

*/ inline const Aws::Vector& GetCacheNodeTypeSpecificParameters() const{ return m_cacheNodeTypeSpecificParameters; } /** *

A list of parameters specific to a particular cache node type. Each element * in the list contains detailed information about one parameter.

*/ inline bool CacheNodeTypeSpecificParametersHasBeenSet() const { return m_cacheNodeTypeSpecificParametersHasBeenSet; } /** *

A list of parameters specific to a particular cache node type. Each element * in the list contains detailed information about one parameter.

*/ inline void SetCacheNodeTypeSpecificParameters(const Aws::Vector& value) { m_cacheNodeTypeSpecificParametersHasBeenSet = true; m_cacheNodeTypeSpecificParameters = value; } /** *

A list of parameters specific to a particular cache node type. Each element * in the list contains detailed information about one parameter.

*/ inline void SetCacheNodeTypeSpecificParameters(Aws::Vector&& value) { m_cacheNodeTypeSpecificParametersHasBeenSet = true; m_cacheNodeTypeSpecificParameters = std::move(value); } /** *

A list of parameters specific to a particular cache node type. Each element * in the list contains detailed information about one parameter.

*/ inline EngineDefaults& WithCacheNodeTypeSpecificParameters(const Aws::Vector& value) { SetCacheNodeTypeSpecificParameters(value); return *this;} /** *

A list of parameters specific to a particular cache node type. Each element * in the list contains detailed information about one parameter.

*/ inline EngineDefaults& WithCacheNodeTypeSpecificParameters(Aws::Vector&& value) { SetCacheNodeTypeSpecificParameters(std::move(value)); return *this;} /** *

A list of parameters specific to a particular cache node type. Each element * in the list contains detailed information about one parameter.

*/ inline EngineDefaults& AddCacheNodeTypeSpecificParameters(const CacheNodeTypeSpecificParameter& value) { m_cacheNodeTypeSpecificParametersHasBeenSet = true; m_cacheNodeTypeSpecificParameters.push_back(value); return *this; } /** *

A list of parameters specific to a particular cache node type. Each element * in the list contains detailed information about one parameter.

*/ inline EngineDefaults& AddCacheNodeTypeSpecificParameters(CacheNodeTypeSpecificParameter&& value) { m_cacheNodeTypeSpecificParametersHasBeenSet = true; m_cacheNodeTypeSpecificParameters.push_back(std::move(value)); return *this; } private: Aws::String m_cacheParameterGroupFamily; bool m_cacheParameterGroupFamilyHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; Aws::Vector m_parameters; bool m_parametersHasBeenSet = false; Aws::Vector m_cacheNodeTypeSpecificParameters; bool m_cacheNodeTypeSpecificParametersHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws