1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/elasticache/ElastiCache_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/elasticache/model/Parameter.h> 12 #include <aws/elasticache/model/CacheNodeTypeSpecificParameter.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Xml 20 { 21 class XmlNode; 22 } // namespace Xml 23 } // namespace Utils 24 namespace ElastiCache 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Represents the output of a <code>DescribeEngineDefaultParameters</code> 31 * operation.</p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/EngineDefaults">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_ELASTICACHE_API EngineDefaults 36 { 37 public: 38 EngineDefaults(); 39 EngineDefaults(const Aws::Utils::Xml::XmlNode& xmlNode); 40 EngineDefaults& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 41 42 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 43 void OutputToStream(Aws::OStream& oStream, const char* location) const; 44 45 46 /** 47 * <p>Specifies the name of the cache parameter group family to which the engine 48 * default parameters apply.</p> <p>Valid values are: <code>memcached1.4</code> | 49 * <code>memcached1.5</code> | <code>memcached1.6</code> | <code>redis2.6</code> | 50 * <code>redis2.8</code> | <code>redis3.2</code> | <code>redis4.0</code> | 51 * <code>redis5.0</code> | <code>redis6.x</code> | </p> 52 */ GetCacheParameterGroupFamily()53 inline const Aws::String& GetCacheParameterGroupFamily() const{ return m_cacheParameterGroupFamily; } 54 55 /** 56 * <p>Specifies the name of the cache parameter group family to which the engine 57 * default parameters apply.</p> <p>Valid values are: <code>memcached1.4</code> | 58 * <code>memcached1.5</code> | <code>memcached1.6</code> | <code>redis2.6</code> | 59 * <code>redis2.8</code> | <code>redis3.2</code> | <code>redis4.0</code> | 60 * <code>redis5.0</code> | <code>redis6.x</code> | </p> 61 */ CacheParameterGroupFamilyHasBeenSet()62 inline bool CacheParameterGroupFamilyHasBeenSet() const { return m_cacheParameterGroupFamilyHasBeenSet; } 63 64 /** 65 * <p>Specifies the name of the cache parameter group family to which the engine 66 * default parameters apply.</p> <p>Valid values are: <code>memcached1.4</code> | 67 * <code>memcached1.5</code> | <code>memcached1.6</code> | <code>redis2.6</code> | 68 * <code>redis2.8</code> | <code>redis3.2</code> | <code>redis4.0</code> | 69 * <code>redis5.0</code> | <code>redis6.x</code> | </p> 70 */ SetCacheParameterGroupFamily(const Aws::String & value)71 inline void SetCacheParameterGroupFamily(const Aws::String& value) { m_cacheParameterGroupFamilyHasBeenSet = true; m_cacheParameterGroupFamily = value; } 72 73 /** 74 * <p>Specifies the name of the cache parameter group family to which the engine 75 * default parameters apply.</p> <p>Valid values are: <code>memcached1.4</code> | 76 * <code>memcached1.5</code> | <code>memcached1.6</code> | <code>redis2.6</code> | 77 * <code>redis2.8</code> | <code>redis3.2</code> | <code>redis4.0</code> | 78 * <code>redis5.0</code> | <code>redis6.x</code> | </p> 79 */ SetCacheParameterGroupFamily(Aws::String && value)80 inline void SetCacheParameterGroupFamily(Aws::String&& value) { m_cacheParameterGroupFamilyHasBeenSet = true; m_cacheParameterGroupFamily = std::move(value); } 81 82 /** 83 * <p>Specifies the name of the cache parameter group family to which the engine 84 * default parameters apply.</p> <p>Valid values are: <code>memcached1.4</code> | 85 * <code>memcached1.5</code> | <code>memcached1.6</code> | <code>redis2.6</code> | 86 * <code>redis2.8</code> | <code>redis3.2</code> | <code>redis4.0</code> | 87 * <code>redis5.0</code> | <code>redis6.x</code> | </p> 88 */ SetCacheParameterGroupFamily(const char * value)89 inline void SetCacheParameterGroupFamily(const char* value) { m_cacheParameterGroupFamilyHasBeenSet = true; m_cacheParameterGroupFamily.assign(value); } 90 91 /** 92 * <p>Specifies the name of the cache parameter group family to which the engine 93 * default parameters apply.</p> <p>Valid values are: <code>memcached1.4</code> | 94 * <code>memcached1.5</code> | <code>memcached1.6</code> | <code>redis2.6</code> | 95 * <code>redis2.8</code> | <code>redis3.2</code> | <code>redis4.0</code> | 96 * <code>redis5.0</code> | <code>redis6.x</code> | </p> 97 */ WithCacheParameterGroupFamily(const Aws::String & value)98 inline EngineDefaults& WithCacheParameterGroupFamily(const Aws::String& value) { SetCacheParameterGroupFamily(value); return *this;} 99 100 /** 101 * <p>Specifies the name of the cache parameter group family to which the engine 102 * default parameters apply.</p> <p>Valid values are: <code>memcached1.4</code> | 103 * <code>memcached1.5</code> | <code>memcached1.6</code> | <code>redis2.6</code> | 104 * <code>redis2.8</code> | <code>redis3.2</code> | <code>redis4.0</code> | 105 * <code>redis5.0</code> | <code>redis6.x</code> | </p> 106 */ WithCacheParameterGroupFamily(Aws::String && value)107 inline EngineDefaults& WithCacheParameterGroupFamily(Aws::String&& value) { SetCacheParameterGroupFamily(std::move(value)); return *this;} 108 109 /** 110 * <p>Specifies the name of the cache parameter group family to which the engine 111 * default parameters apply.</p> <p>Valid values are: <code>memcached1.4</code> | 112 * <code>memcached1.5</code> | <code>memcached1.6</code> | <code>redis2.6</code> | 113 * <code>redis2.8</code> | <code>redis3.2</code> | <code>redis4.0</code> | 114 * <code>redis5.0</code> | <code>redis6.x</code> | </p> 115 */ WithCacheParameterGroupFamily(const char * value)116 inline EngineDefaults& WithCacheParameterGroupFamily(const char* value) { SetCacheParameterGroupFamily(value); return *this;} 117 118 119 /** 120 * <p>Provides an identifier to allow retrieval of paginated results.</p> 121 */ GetMarker()122 inline const Aws::String& GetMarker() const{ return m_marker; } 123 124 /** 125 * <p>Provides an identifier to allow retrieval of paginated results.</p> 126 */ MarkerHasBeenSet()127 inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } 128 129 /** 130 * <p>Provides an identifier to allow retrieval of paginated results.</p> 131 */ SetMarker(const Aws::String & value)132 inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } 133 134 /** 135 * <p>Provides an identifier to allow retrieval of paginated results.</p> 136 */ SetMarker(Aws::String && value)137 inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } 138 139 /** 140 * <p>Provides an identifier to allow retrieval of paginated results.</p> 141 */ SetMarker(const char * value)142 inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } 143 144 /** 145 * <p>Provides an identifier to allow retrieval of paginated results.</p> 146 */ WithMarker(const Aws::String & value)147 inline EngineDefaults& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} 148 149 /** 150 * <p>Provides an identifier to allow retrieval of paginated results.</p> 151 */ WithMarker(Aws::String && value)152 inline EngineDefaults& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} 153 154 /** 155 * <p>Provides an identifier to allow retrieval of paginated results.</p> 156 */ WithMarker(const char * value)157 inline EngineDefaults& WithMarker(const char* value) { SetMarker(value); return *this;} 158 159 160 /** 161 * <p>Contains a list of engine default parameters.</p> 162 */ GetParameters()163 inline const Aws::Vector<Parameter>& GetParameters() const{ return m_parameters; } 164 165 /** 166 * <p>Contains a list of engine default parameters.</p> 167 */ ParametersHasBeenSet()168 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } 169 170 /** 171 * <p>Contains a list of engine default parameters.</p> 172 */ SetParameters(const Aws::Vector<Parameter> & value)173 inline void SetParameters(const Aws::Vector<Parameter>& value) { m_parametersHasBeenSet = true; m_parameters = value; } 174 175 /** 176 * <p>Contains a list of engine default parameters.</p> 177 */ SetParameters(Aws::Vector<Parameter> && value)178 inline void SetParameters(Aws::Vector<Parameter>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } 179 180 /** 181 * <p>Contains a list of engine default parameters.</p> 182 */ WithParameters(const Aws::Vector<Parameter> & value)183 inline EngineDefaults& WithParameters(const Aws::Vector<Parameter>& value) { SetParameters(value); return *this;} 184 185 /** 186 * <p>Contains a list of engine default parameters.</p> 187 */ WithParameters(Aws::Vector<Parameter> && value)188 inline EngineDefaults& WithParameters(Aws::Vector<Parameter>&& value) { SetParameters(std::move(value)); return *this;} 189 190 /** 191 * <p>Contains a list of engine default parameters.</p> 192 */ AddParameters(const Parameter & value)193 inline EngineDefaults& AddParameters(const Parameter& value) { m_parametersHasBeenSet = true; m_parameters.push_back(value); return *this; } 194 195 /** 196 * <p>Contains a list of engine default parameters.</p> 197 */ AddParameters(Parameter && value)198 inline EngineDefaults& AddParameters(Parameter&& value) { m_parametersHasBeenSet = true; m_parameters.push_back(std::move(value)); return *this; } 199 200 201 /** 202 * <p>A list of parameters specific to a particular cache node type. Each element 203 * in the list contains detailed information about one parameter.</p> 204 */ GetCacheNodeTypeSpecificParameters()205 inline const Aws::Vector<CacheNodeTypeSpecificParameter>& GetCacheNodeTypeSpecificParameters() const{ return m_cacheNodeTypeSpecificParameters; } 206 207 /** 208 * <p>A list of parameters specific to a particular cache node type. Each element 209 * in the list contains detailed information about one parameter.</p> 210 */ CacheNodeTypeSpecificParametersHasBeenSet()211 inline bool CacheNodeTypeSpecificParametersHasBeenSet() const { return m_cacheNodeTypeSpecificParametersHasBeenSet; } 212 213 /** 214 * <p>A list of parameters specific to a particular cache node type. Each element 215 * in the list contains detailed information about one parameter.</p> 216 */ SetCacheNodeTypeSpecificParameters(const Aws::Vector<CacheNodeTypeSpecificParameter> & value)217 inline void SetCacheNodeTypeSpecificParameters(const Aws::Vector<CacheNodeTypeSpecificParameter>& value) { m_cacheNodeTypeSpecificParametersHasBeenSet = true; m_cacheNodeTypeSpecificParameters = value; } 218 219 /** 220 * <p>A list of parameters specific to a particular cache node type. Each element 221 * in the list contains detailed information about one parameter.</p> 222 */ SetCacheNodeTypeSpecificParameters(Aws::Vector<CacheNodeTypeSpecificParameter> && value)223 inline void SetCacheNodeTypeSpecificParameters(Aws::Vector<CacheNodeTypeSpecificParameter>&& value) { m_cacheNodeTypeSpecificParametersHasBeenSet = true; m_cacheNodeTypeSpecificParameters = std::move(value); } 224 225 /** 226 * <p>A list of parameters specific to a particular cache node type. Each element 227 * in the list contains detailed information about one parameter.</p> 228 */ WithCacheNodeTypeSpecificParameters(const Aws::Vector<CacheNodeTypeSpecificParameter> & value)229 inline EngineDefaults& WithCacheNodeTypeSpecificParameters(const Aws::Vector<CacheNodeTypeSpecificParameter>& value) { SetCacheNodeTypeSpecificParameters(value); return *this;} 230 231 /** 232 * <p>A list of parameters specific to a particular cache node type. Each element 233 * in the list contains detailed information about one parameter.</p> 234 */ WithCacheNodeTypeSpecificParameters(Aws::Vector<CacheNodeTypeSpecificParameter> && value)235 inline EngineDefaults& WithCacheNodeTypeSpecificParameters(Aws::Vector<CacheNodeTypeSpecificParameter>&& value) { SetCacheNodeTypeSpecificParameters(std::move(value)); return *this;} 236 237 /** 238 * <p>A list of parameters specific to a particular cache node type. Each element 239 * in the list contains detailed information about one parameter.</p> 240 */ AddCacheNodeTypeSpecificParameters(const CacheNodeTypeSpecificParameter & value)241 inline EngineDefaults& AddCacheNodeTypeSpecificParameters(const CacheNodeTypeSpecificParameter& value) { m_cacheNodeTypeSpecificParametersHasBeenSet = true; m_cacheNodeTypeSpecificParameters.push_back(value); return *this; } 242 243 /** 244 * <p>A list of parameters specific to a particular cache node type. Each element 245 * in the list contains detailed information about one parameter.</p> 246 */ AddCacheNodeTypeSpecificParameters(CacheNodeTypeSpecificParameter && value)247 inline EngineDefaults& AddCacheNodeTypeSpecificParameters(CacheNodeTypeSpecificParameter&& value) { m_cacheNodeTypeSpecificParametersHasBeenSet = true; m_cacheNodeTypeSpecificParameters.push_back(std::move(value)); return *this; } 248 249 private: 250 251 Aws::String m_cacheParameterGroupFamily; 252 bool m_cacheParameterGroupFamilyHasBeenSet; 253 254 Aws::String m_marker; 255 bool m_markerHasBeenSet; 256 257 Aws::Vector<Parameter> m_parameters; 258 bool m_parametersHasBeenSet; 259 260 Aws::Vector<CacheNodeTypeSpecificParameter> m_cacheNodeTypeSpecificParameters; 261 bool m_cacheNodeTypeSpecificParametersHasBeenSet; 262 }; 263 264 } // namespace Model 265 } // namespace ElastiCache 266 } // namespace Aws 267