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/elasticache/ElastiCacheRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/elasticache/model/AZMode.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/elasticache/model/OutpostMode.h> 13 #include <aws/elasticache/model/Tag.h> 14 #include <aws/elasticache/model/LogDeliveryConfigurationRequest.h> 15 #include <utility> 16 17 namespace Aws 18 { 19 namespace ElastiCache 20 { 21 namespace Model 22 { 23 24 /** 25 * <p>Represents the input of a CreateCacheCluster operation.</p><p><h3>See 26 * Also:</h3> <a 27 * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheClusterMessage">AWS 28 * API Reference</a></p> 29 */ 30 class AWS_ELASTICACHE_API CreateCacheClusterRequest : public ElastiCacheRequest 31 { 32 public: 33 CreateCacheClusterRequest(); 34 35 // Service request name is the Operation name which will send this request out, 36 // each operation should has unique request name, so that we can get operation's name from this request. 37 // Note: this is not true for response, multiple operations may have the same response name, 38 // so we can not get operation's name from response. GetServiceRequestName()39 inline virtual const char* GetServiceRequestName() const override { return "CreateCacheCluster"; } 40 41 Aws::String SerializePayload() const override; 42 43 protected: 44 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 45 46 public: 47 48 /** 49 * <p>The node group (shard) identifier. This parameter is stored as a lowercase 50 * string.</p> <p> <b>Constraints:</b> </p> <ul> <li> <p>A name must contain from 1 51 * to 50 alphanumeric characters or hyphens.</p> </li> <li> <p>The first character 52 * must be a letter.</p> </li> <li> <p>A name cannot end with a hyphen or contain 53 * two consecutive hyphens.</p> </li> </ul> 54 */ GetCacheClusterId()55 inline const Aws::String& GetCacheClusterId() const{ return m_cacheClusterId; } 56 57 /** 58 * <p>The node group (shard) identifier. This parameter is stored as a lowercase 59 * string.</p> <p> <b>Constraints:</b> </p> <ul> <li> <p>A name must contain from 1 60 * to 50 alphanumeric characters or hyphens.</p> </li> <li> <p>The first character 61 * must be a letter.</p> </li> <li> <p>A name cannot end with a hyphen or contain 62 * two consecutive hyphens.</p> </li> </ul> 63 */ CacheClusterIdHasBeenSet()64 inline bool CacheClusterIdHasBeenSet() const { return m_cacheClusterIdHasBeenSet; } 65 66 /** 67 * <p>The node group (shard) identifier. This parameter is stored as a lowercase 68 * string.</p> <p> <b>Constraints:</b> </p> <ul> <li> <p>A name must contain from 1 69 * to 50 alphanumeric characters or hyphens.</p> </li> <li> <p>The first character 70 * must be a letter.</p> </li> <li> <p>A name cannot end with a hyphen or contain 71 * two consecutive hyphens.</p> </li> </ul> 72 */ SetCacheClusterId(const Aws::String & value)73 inline void SetCacheClusterId(const Aws::String& value) { m_cacheClusterIdHasBeenSet = true; m_cacheClusterId = value; } 74 75 /** 76 * <p>The node group (shard) identifier. This parameter is stored as a lowercase 77 * string.</p> <p> <b>Constraints:</b> </p> <ul> <li> <p>A name must contain from 1 78 * to 50 alphanumeric characters or hyphens.</p> </li> <li> <p>The first character 79 * must be a letter.</p> </li> <li> <p>A name cannot end with a hyphen or contain 80 * two consecutive hyphens.</p> </li> </ul> 81 */ SetCacheClusterId(Aws::String && value)82 inline void SetCacheClusterId(Aws::String&& value) { m_cacheClusterIdHasBeenSet = true; m_cacheClusterId = std::move(value); } 83 84 /** 85 * <p>The node group (shard) identifier. This parameter is stored as a lowercase 86 * string.</p> <p> <b>Constraints:</b> </p> <ul> <li> <p>A name must contain from 1 87 * to 50 alphanumeric characters or hyphens.</p> </li> <li> <p>The first character 88 * must be a letter.</p> </li> <li> <p>A name cannot end with a hyphen or contain 89 * two consecutive hyphens.</p> </li> </ul> 90 */ SetCacheClusterId(const char * value)91 inline void SetCacheClusterId(const char* value) { m_cacheClusterIdHasBeenSet = true; m_cacheClusterId.assign(value); } 92 93 /** 94 * <p>The node group (shard) identifier. This parameter is stored as a lowercase 95 * string.</p> <p> <b>Constraints:</b> </p> <ul> <li> <p>A name must contain from 1 96 * to 50 alphanumeric characters or hyphens.</p> </li> <li> <p>The first character 97 * must be a letter.</p> </li> <li> <p>A name cannot end with a hyphen or contain 98 * two consecutive hyphens.</p> </li> </ul> 99 */ WithCacheClusterId(const Aws::String & value)100 inline CreateCacheClusterRequest& WithCacheClusterId(const Aws::String& value) { SetCacheClusterId(value); return *this;} 101 102 /** 103 * <p>The node group (shard) identifier. This parameter is stored as a lowercase 104 * string.</p> <p> <b>Constraints:</b> </p> <ul> <li> <p>A name must contain from 1 105 * to 50 alphanumeric characters or hyphens.</p> </li> <li> <p>The first character 106 * must be a letter.</p> </li> <li> <p>A name cannot end with a hyphen or contain 107 * two consecutive hyphens.</p> </li> </ul> 108 */ WithCacheClusterId(Aws::String && value)109 inline CreateCacheClusterRequest& WithCacheClusterId(Aws::String&& value) { SetCacheClusterId(std::move(value)); return *this;} 110 111 /** 112 * <p>The node group (shard) identifier. This parameter is stored as a lowercase 113 * string.</p> <p> <b>Constraints:</b> </p> <ul> <li> <p>A name must contain from 1 114 * to 50 alphanumeric characters or hyphens.</p> </li> <li> <p>The first character 115 * must be a letter.</p> </li> <li> <p>A name cannot end with a hyphen or contain 116 * two consecutive hyphens.</p> </li> </ul> 117 */ WithCacheClusterId(const char * value)118 inline CreateCacheClusterRequest& WithCacheClusterId(const char* value) { SetCacheClusterId(value); return *this;} 119 120 121 /** 122 * <p>The ID of the replication group to which this cluster should belong. If this 123 * parameter is specified, the cluster is added to the specified replication group 124 * as a read replica; otherwise, the cluster is a standalone primary that is not 125 * part of any replication group.</p> <p>If the specified replication group is 126 * Multi-AZ enabled and the Availability Zone is not specified, the cluster is 127 * created in Availability Zones that provide the best spread of read replicas 128 * across Availability Zones.</p> <p>This parameter is only valid if the 129 * <code>Engine</code> parameter is <code>redis</code>.</p> 130 */ GetReplicationGroupId()131 inline const Aws::String& GetReplicationGroupId() const{ return m_replicationGroupId; } 132 133 /** 134 * <p>The ID of the replication group to which this cluster should belong. If this 135 * parameter is specified, the cluster is added to the specified replication group 136 * as a read replica; otherwise, the cluster is a standalone primary that is not 137 * part of any replication group.</p> <p>If the specified replication group is 138 * Multi-AZ enabled and the Availability Zone is not specified, the cluster is 139 * created in Availability Zones that provide the best spread of read replicas 140 * across Availability Zones.</p> <p>This parameter is only valid if the 141 * <code>Engine</code> parameter is <code>redis</code>.</p> 142 */ ReplicationGroupIdHasBeenSet()143 inline bool ReplicationGroupIdHasBeenSet() const { return m_replicationGroupIdHasBeenSet; } 144 145 /** 146 * <p>The ID of the replication group to which this cluster should belong. If this 147 * parameter is specified, the cluster is added to the specified replication group 148 * as a read replica; otherwise, the cluster is a standalone primary that is not 149 * part of any replication group.</p> <p>If the specified replication group is 150 * Multi-AZ enabled and the Availability Zone is not specified, the cluster is 151 * created in Availability Zones that provide the best spread of read replicas 152 * across Availability Zones.</p> <p>This parameter is only valid if the 153 * <code>Engine</code> parameter is <code>redis</code>.</p> 154 */ SetReplicationGroupId(const Aws::String & value)155 inline void SetReplicationGroupId(const Aws::String& value) { m_replicationGroupIdHasBeenSet = true; m_replicationGroupId = value; } 156 157 /** 158 * <p>The ID of the replication group to which this cluster should belong. If this 159 * parameter is specified, the cluster is added to the specified replication group 160 * as a read replica; otherwise, the cluster is a standalone primary that is not 161 * part of any replication group.</p> <p>If the specified replication group is 162 * Multi-AZ enabled and the Availability Zone is not specified, the cluster is 163 * created in Availability Zones that provide the best spread of read replicas 164 * across Availability Zones.</p> <p>This parameter is only valid if the 165 * <code>Engine</code> parameter is <code>redis</code>.</p> 166 */ SetReplicationGroupId(Aws::String && value)167 inline void SetReplicationGroupId(Aws::String&& value) { m_replicationGroupIdHasBeenSet = true; m_replicationGroupId = std::move(value); } 168 169 /** 170 * <p>The ID of the replication group to which this cluster should belong. If this 171 * parameter is specified, the cluster is added to the specified replication group 172 * as a read replica; otherwise, the cluster is a standalone primary that is not 173 * part of any replication group.</p> <p>If the specified replication group is 174 * Multi-AZ enabled and the Availability Zone is not specified, the cluster is 175 * created in Availability Zones that provide the best spread of read replicas 176 * across Availability Zones.</p> <p>This parameter is only valid if the 177 * <code>Engine</code> parameter is <code>redis</code>.</p> 178 */ SetReplicationGroupId(const char * value)179 inline void SetReplicationGroupId(const char* value) { m_replicationGroupIdHasBeenSet = true; m_replicationGroupId.assign(value); } 180 181 /** 182 * <p>The ID of the replication group to which this cluster should belong. If this 183 * parameter is specified, the cluster is added to the specified replication group 184 * as a read replica; otherwise, the cluster is a standalone primary that is not 185 * part of any replication group.</p> <p>If the specified replication group is 186 * Multi-AZ enabled and the Availability Zone is not specified, the cluster is 187 * created in Availability Zones that provide the best spread of read replicas 188 * across Availability Zones.</p> <p>This parameter is only valid if the 189 * <code>Engine</code> parameter is <code>redis</code>.</p> 190 */ WithReplicationGroupId(const Aws::String & value)191 inline CreateCacheClusterRequest& WithReplicationGroupId(const Aws::String& value) { SetReplicationGroupId(value); return *this;} 192 193 /** 194 * <p>The ID of the replication group to which this cluster should belong. If this 195 * parameter is specified, the cluster is added to the specified replication group 196 * as a read replica; otherwise, the cluster is a standalone primary that is not 197 * part of any replication group.</p> <p>If the specified replication group is 198 * Multi-AZ enabled and the Availability Zone is not specified, the cluster is 199 * created in Availability Zones that provide the best spread of read replicas 200 * across Availability Zones.</p> <p>This parameter is only valid if the 201 * <code>Engine</code> parameter is <code>redis</code>.</p> 202 */ WithReplicationGroupId(Aws::String && value)203 inline CreateCacheClusterRequest& WithReplicationGroupId(Aws::String&& value) { SetReplicationGroupId(std::move(value)); return *this;} 204 205 /** 206 * <p>The ID of the replication group to which this cluster should belong. If this 207 * parameter is specified, the cluster is added to the specified replication group 208 * as a read replica; otherwise, the cluster is a standalone primary that is not 209 * part of any replication group.</p> <p>If the specified replication group is 210 * Multi-AZ enabled and the Availability Zone is not specified, the cluster is 211 * created in Availability Zones that provide the best spread of read replicas 212 * across Availability Zones.</p> <p>This parameter is only valid if the 213 * <code>Engine</code> parameter is <code>redis</code>.</p> 214 */ WithReplicationGroupId(const char * value)215 inline CreateCacheClusterRequest& WithReplicationGroupId(const char* value) { SetReplicationGroupId(value); return *this;} 216 217 218 /** 219 * <p>Specifies whether the nodes in this Memcached cluster are created in a single 220 * Availability Zone or created across multiple Availability Zones in the cluster's 221 * region.</p> <p>This parameter is only supported for Memcached clusters.</p> 222 * <p>If the <code>AZMode</code> and <code>PreferredAvailabilityZones</code> are 223 * not specified, ElastiCache assumes <code>single-az</code> mode.</p> 224 */ GetAZMode()225 inline const AZMode& GetAZMode() const{ return m_aZMode; } 226 227 /** 228 * <p>Specifies whether the nodes in this Memcached cluster are created in a single 229 * Availability Zone or created across multiple Availability Zones in the cluster's 230 * region.</p> <p>This parameter is only supported for Memcached clusters.</p> 231 * <p>If the <code>AZMode</code> and <code>PreferredAvailabilityZones</code> are 232 * not specified, ElastiCache assumes <code>single-az</code> mode.</p> 233 */ AZModeHasBeenSet()234 inline bool AZModeHasBeenSet() const { return m_aZModeHasBeenSet; } 235 236 /** 237 * <p>Specifies whether the nodes in this Memcached cluster are created in a single 238 * Availability Zone or created across multiple Availability Zones in the cluster's 239 * region.</p> <p>This parameter is only supported for Memcached clusters.</p> 240 * <p>If the <code>AZMode</code> and <code>PreferredAvailabilityZones</code> are 241 * not specified, ElastiCache assumes <code>single-az</code> mode.</p> 242 */ SetAZMode(const AZMode & value)243 inline void SetAZMode(const AZMode& value) { m_aZModeHasBeenSet = true; m_aZMode = value; } 244 245 /** 246 * <p>Specifies whether the nodes in this Memcached cluster are created in a single 247 * Availability Zone or created across multiple Availability Zones in the cluster's 248 * region.</p> <p>This parameter is only supported for Memcached clusters.</p> 249 * <p>If the <code>AZMode</code> and <code>PreferredAvailabilityZones</code> are 250 * not specified, ElastiCache assumes <code>single-az</code> mode.</p> 251 */ SetAZMode(AZMode && value)252 inline void SetAZMode(AZMode&& value) { m_aZModeHasBeenSet = true; m_aZMode = std::move(value); } 253 254 /** 255 * <p>Specifies whether the nodes in this Memcached cluster are created in a single 256 * Availability Zone or created across multiple Availability Zones in the cluster's 257 * region.</p> <p>This parameter is only supported for Memcached clusters.</p> 258 * <p>If the <code>AZMode</code> and <code>PreferredAvailabilityZones</code> are 259 * not specified, ElastiCache assumes <code>single-az</code> mode.</p> 260 */ WithAZMode(const AZMode & value)261 inline CreateCacheClusterRequest& WithAZMode(const AZMode& value) { SetAZMode(value); return *this;} 262 263 /** 264 * <p>Specifies whether the nodes in this Memcached cluster are created in a single 265 * Availability Zone or created across multiple Availability Zones in the cluster's 266 * region.</p> <p>This parameter is only supported for Memcached clusters.</p> 267 * <p>If the <code>AZMode</code> and <code>PreferredAvailabilityZones</code> are 268 * not specified, ElastiCache assumes <code>single-az</code> mode.</p> 269 */ WithAZMode(AZMode && value)270 inline CreateCacheClusterRequest& WithAZMode(AZMode&& value) { SetAZMode(std::move(value)); return *this;} 271 272 273 /** 274 * <p>The EC2 Availability Zone in which the cluster is created.</p> <p>All nodes 275 * belonging to this cluster are placed in the preferred Availability Zone. If you 276 * want to create your nodes across multiple Availability Zones, use 277 * <code>PreferredAvailabilityZones</code>.</p> <p>Default: System chosen 278 * Availability Zone.</p> 279 */ GetPreferredAvailabilityZone()280 inline const Aws::String& GetPreferredAvailabilityZone() const{ return m_preferredAvailabilityZone; } 281 282 /** 283 * <p>The EC2 Availability Zone in which the cluster is created.</p> <p>All nodes 284 * belonging to this cluster are placed in the preferred Availability Zone. If you 285 * want to create your nodes across multiple Availability Zones, use 286 * <code>PreferredAvailabilityZones</code>.</p> <p>Default: System chosen 287 * Availability Zone.</p> 288 */ PreferredAvailabilityZoneHasBeenSet()289 inline bool PreferredAvailabilityZoneHasBeenSet() const { return m_preferredAvailabilityZoneHasBeenSet; } 290 291 /** 292 * <p>The EC2 Availability Zone in which the cluster is created.</p> <p>All nodes 293 * belonging to this cluster are placed in the preferred Availability Zone. If you 294 * want to create your nodes across multiple Availability Zones, use 295 * <code>PreferredAvailabilityZones</code>.</p> <p>Default: System chosen 296 * Availability Zone.</p> 297 */ SetPreferredAvailabilityZone(const Aws::String & value)298 inline void SetPreferredAvailabilityZone(const Aws::String& value) { m_preferredAvailabilityZoneHasBeenSet = true; m_preferredAvailabilityZone = value; } 299 300 /** 301 * <p>The EC2 Availability Zone in which the cluster is created.</p> <p>All nodes 302 * belonging to this cluster are placed in the preferred Availability Zone. If you 303 * want to create your nodes across multiple Availability Zones, use 304 * <code>PreferredAvailabilityZones</code>.</p> <p>Default: System chosen 305 * Availability Zone.</p> 306 */ SetPreferredAvailabilityZone(Aws::String && value)307 inline void SetPreferredAvailabilityZone(Aws::String&& value) { m_preferredAvailabilityZoneHasBeenSet = true; m_preferredAvailabilityZone = std::move(value); } 308 309 /** 310 * <p>The EC2 Availability Zone in which the cluster is created.</p> <p>All nodes 311 * belonging to this cluster are placed in the preferred Availability Zone. If you 312 * want to create your nodes across multiple Availability Zones, use 313 * <code>PreferredAvailabilityZones</code>.</p> <p>Default: System chosen 314 * Availability Zone.</p> 315 */ SetPreferredAvailabilityZone(const char * value)316 inline void SetPreferredAvailabilityZone(const char* value) { m_preferredAvailabilityZoneHasBeenSet = true; m_preferredAvailabilityZone.assign(value); } 317 318 /** 319 * <p>The EC2 Availability Zone in which the cluster is created.</p> <p>All nodes 320 * belonging to this cluster are placed in the preferred Availability Zone. If you 321 * want to create your nodes across multiple Availability Zones, use 322 * <code>PreferredAvailabilityZones</code>.</p> <p>Default: System chosen 323 * Availability Zone.</p> 324 */ WithPreferredAvailabilityZone(const Aws::String & value)325 inline CreateCacheClusterRequest& WithPreferredAvailabilityZone(const Aws::String& value) { SetPreferredAvailabilityZone(value); return *this;} 326 327 /** 328 * <p>The EC2 Availability Zone in which the cluster is created.</p> <p>All nodes 329 * belonging to this cluster are placed in the preferred Availability Zone. If you 330 * want to create your nodes across multiple Availability Zones, use 331 * <code>PreferredAvailabilityZones</code>.</p> <p>Default: System chosen 332 * Availability Zone.</p> 333 */ WithPreferredAvailabilityZone(Aws::String && value)334 inline CreateCacheClusterRequest& WithPreferredAvailabilityZone(Aws::String&& value) { SetPreferredAvailabilityZone(std::move(value)); return *this;} 335 336 /** 337 * <p>The EC2 Availability Zone in which the cluster is created.</p> <p>All nodes 338 * belonging to this cluster are placed in the preferred Availability Zone. If you 339 * want to create your nodes across multiple Availability Zones, use 340 * <code>PreferredAvailabilityZones</code>.</p> <p>Default: System chosen 341 * Availability Zone.</p> 342 */ WithPreferredAvailabilityZone(const char * value)343 inline CreateCacheClusterRequest& WithPreferredAvailabilityZone(const char* value) { SetPreferredAvailabilityZone(value); return *this;} 344 345 346 /** 347 * <p>A list of the Availability Zones in which cache nodes are created. The order 348 * of the zones in the list is not important.</p> <p>This option is only supported 349 * on Memcached.</p> <p>If you are creating your cluster in an Amazon VPC 350 * (recommended) you can only locate nodes in Availability Zones that are 351 * associated with the subnets in the selected subnet group.</p> <p>The number of 352 * Availability Zones listed must equal the value of 353 * <code>NumCacheNodes</code>.</p> <p>If you want all the nodes in the same 354 * Availability Zone, use <code>PreferredAvailabilityZone</code> instead, or repeat 355 * the Availability Zone multiple times in the list.</p> <p>Default: System chosen 356 * Availability Zones.</p> 357 */ GetPreferredAvailabilityZones()358 inline const Aws::Vector<Aws::String>& GetPreferredAvailabilityZones() const{ return m_preferredAvailabilityZones; } 359 360 /** 361 * <p>A list of the Availability Zones in which cache nodes are created. The order 362 * of the zones in the list is not important.</p> <p>This option is only supported 363 * on Memcached.</p> <p>If you are creating your cluster in an Amazon VPC 364 * (recommended) you can only locate nodes in Availability Zones that are 365 * associated with the subnets in the selected subnet group.</p> <p>The number of 366 * Availability Zones listed must equal the value of 367 * <code>NumCacheNodes</code>.</p> <p>If you want all the nodes in the same 368 * Availability Zone, use <code>PreferredAvailabilityZone</code> instead, or repeat 369 * the Availability Zone multiple times in the list.</p> <p>Default: System chosen 370 * Availability Zones.</p> 371 */ PreferredAvailabilityZonesHasBeenSet()372 inline bool PreferredAvailabilityZonesHasBeenSet() const { return m_preferredAvailabilityZonesHasBeenSet; } 373 374 /** 375 * <p>A list of the Availability Zones in which cache nodes are created. The order 376 * of the zones in the list is not important.</p> <p>This option is only supported 377 * on Memcached.</p> <p>If you are creating your cluster in an Amazon VPC 378 * (recommended) you can only locate nodes in Availability Zones that are 379 * associated with the subnets in the selected subnet group.</p> <p>The number of 380 * Availability Zones listed must equal the value of 381 * <code>NumCacheNodes</code>.</p> <p>If you want all the nodes in the same 382 * Availability Zone, use <code>PreferredAvailabilityZone</code> instead, or repeat 383 * the Availability Zone multiple times in the list.</p> <p>Default: System chosen 384 * Availability Zones.</p> 385 */ SetPreferredAvailabilityZones(const Aws::Vector<Aws::String> & value)386 inline void SetPreferredAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_preferredAvailabilityZonesHasBeenSet = true; m_preferredAvailabilityZones = value; } 387 388 /** 389 * <p>A list of the Availability Zones in which cache nodes are created. The order 390 * of the zones in the list is not important.</p> <p>This option is only supported 391 * on Memcached.</p> <p>If you are creating your cluster in an Amazon VPC 392 * (recommended) you can only locate nodes in Availability Zones that are 393 * associated with the subnets in the selected subnet group.</p> <p>The number of 394 * Availability Zones listed must equal the value of 395 * <code>NumCacheNodes</code>.</p> <p>If you want all the nodes in the same 396 * Availability Zone, use <code>PreferredAvailabilityZone</code> instead, or repeat 397 * the Availability Zone multiple times in the list.</p> <p>Default: System chosen 398 * Availability Zones.</p> 399 */ SetPreferredAvailabilityZones(Aws::Vector<Aws::String> && value)400 inline void SetPreferredAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_preferredAvailabilityZonesHasBeenSet = true; m_preferredAvailabilityZones = std::move(value); } 401 402 /** 403 * <p>A list of the Availability Zones in which cache nodes are created. The order 404 * of the zones in the list is not important.</p> <p>This option is only supported 405 * on Memcached.</p> <p>If you are creating your cluster in an Amazon VPC 406 * (recommended) you can only locate nodes in Availability Zones that are 407 * associated with the subnets in the selected subnet group.</p> <p>The number of 408 * Availability Zones listed must equal the value of 409 * <code>NumCacheNodes</code>.</p> <p>If you want all the nodes in the same 410 * Availability Zone, use <code>PreferredAvailabilityZone</code> instead, or repeat 411 * the Availability Zone multiple times in the list.</p> <p>Default: System chosen 412 * Availability Zones.</p> 413 */ WithPreferredAvailabilityZones(const Aws::Vector<Aws::String> & value)414 inline CreateCacheClusterRequest& WithPreferredAvailabilityZones(const Aws::Vector<Aws::String>& value) { SetPreferredAvailabilityZones(value); return *this;} 415 416 /** 417 * <p>A list of the Availability Zones in which cache nodes are created. The order 418 * of the zones in the list is not important.</p> <p>This option is only supported 419 * on Memcached.</p> <p>If you are creating your cluster in an Amazon VPC 420 * (recommended) you can only locate nodes in Availability Zones that are 421 * associated with the subnets in the selected subnet group.</p> <p>The number of 422 * Availability Zones listed must equal the value of 423 * <code>NumCacheNodes</code>.</p> <p>If you want all the nodes in the same 424 * Availability Zone, use <code>PreferredAvailabilityZone</code> instead, or repeat 425 * the Availability Zone multiple times in the list.</p> <p>Default: System chosen 426 * Availability Zones.</p> 427 */ WithPreferredAvailabilityZones(Aws::Vector<Aws::String> && value)428 inline CreateCacheClusterRequest& WithPreferredAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetPreferredAvailabilityZones(std::move(value)); return *this;} 429 430 /** 431 * <p>A list of the Availability Zones in which cache nodes are created. The order 432 * of the zones in the list is not important.</p> <p>This option is only supported 433 * on Memcached.</p> <p>If you are creating your cluster in an Amazon VPC 434 * (recommended) you can only locate nodes in Availability Zones that are 435 * associated with the subnets in the selected subnet group.</p> <p>The number of 436 * Availability Zones listed must equal the value of 437 * <code>NumCacheNodes</code>.</p> <p>If you want all the nodes in the same 438 * Availability Zone, use <code>PreferredAvailabilityZone</code> instead, or repeat 439 * the Availability Zone multiple times in the list.</p> <p>Default: System chosen 440 * Availability Zones.</p> 441 */ AddPreferredAvailabilityZones(const Aws::String & value)442 inline CreateCacheClusterRequest& AddPreferredAvailabilityZones(const Aws::String& value) { m_preferredAvailabilityZonesHasBeenSet = true; m_preferredAvailabilityZones.push_back(value); return *this; } 443 444 /** 445 * <p>A list of the Availability Zones in which cache nodes are created. The order 446 * of the zones in the list is not important.</p> <p>This option is only supported 447 * on Memcached.</p> <p>If you are creating your cluster in an Amazon VPC 448 * (recommended) you can only locate nodes in Availability Zones that are 449 * associated with the subnets in the selected subnet group.</p> <p>The number of 450 * Availability Zones listed must equal the value of 451 * <code>NumCacheNodes</code>.</p> <p>If you want all the nodes in the same 452 * Availability Zone, use <code>PreferredAvailabilityZone</code> instead, or repeat 453 * the Availability Zone multiple times in the list.</p> <p>Default: System chosen 454 * Availability Zones.</p> 455 */ AddPreferredAvailabilityZones(Aws::String && value)456 inline CreateCacheClusterRequest& AddPreferredAvailabilityZones(Aws::String&& value) { m_preferredAvailabilityZonesHasBeenSet = true; m_preferredAvailabilityZones.push_back(std::move(value)); return *this; } 457 458 /** 459 * <p>A list of the Availability Zones in which cache nodes are created. The order 460 * of the zones in the list is not important.</p> <p>This option is only supported 461 * on Memcached.</p> <p>If you are creating your cluster in an Amazon VPC 462 * (recommended) you can only locate nodes in Availability Zones that are 463 * associated with the subnets in the selected subnet group.</p> <p>The number of 464 * Availability Zones listed must equal the value of 465 * <code>NumCacheNodes</code>.</p> <p>If you want all the nodes in the same 466 * Availability Zone, use <code>PreferredAvailabilityZone</code> instead, or repeat 467 * the Availability Zone multiple times in the list.</p> <p>Default: System chosen 468 * Availability Zones.</p> 469 */ AddPreferredAvailabilityZones(const char * value)470 inline CreateCacheClusterRequest& AddPreferredAvailabilityZones(const char* value) { m_preferredAvailabilityZonesHasBeenSet = true; m_preferredAvailabilityZones.push_back(value); return *this; } 471 472 473 /** 474 * <p>The initial number of cache nodes that the cluster has.</p> <p>For clusters 475 * running Redis, this value must be 1. For clusters running Memcached, this value 476 * must be between 1 and 40.</p> <p>If you need more than 40 nodes for your 477 * Memcached cluster, please fill out the ElastiCache Limit Increase Request form 478 * at <a 479 * href="http://aws.amazon.com/contact-us/elasticache-node-limit-request/">http://aws.amazon.com/contact-us/elasticache-node-limit-request/</a>.</p> 480 */ GetNumCacheNodes()481 inline int GetNumCacheNodes() const{ return m_numCacheNodes; } 482 483 /** 484 * <p>The initial number of cache nodes that the cluster has.</p> <p>For clusters 485 * running Redis, this value must be 1. For clusters running Memcached, this value 486 * must be between 1 and 40.</p> <p>If you need more than 40 nodes for your 487 * Memcached cluster, please fill out the ElastiCache Limit Increase Request form 488 * at <a 489 * href="http://aws.amazon.com/contact-us/elasticache-node-limit-request/">http://aws.amazon.com/contact-us/elasticache-node-limit-request/</a>.</p> 490 */ NumCacheNodesHasBeenSet()491 inline bool NumCacheNodesHasBeenSet() const { return m_numCacheNodesHasBeenSet; } 492 493 /** 494 * <p>The initial number of cache nodes that the cluster has.</p> <p>For clusters 495 * running Redis, this value must be 1. For clusters running Memcached, this value 496 * must be between 1 and 40.</p> <p>If you need more than 40 nodes for your 497 * Memcached cluster, please fill out the ElastiCache Limit Increase Request form 498 * at <a 499 * href="http://aws.amazon.com/contact-us/elasticache-node-limit-request/">http://aws.amazon.com/contact-us/elasticache-node-limit-request/</a>.</p> 500 */ SetNumCacheNodes(int value)501 inline void SetNumCacheNodes(int value) { m_numCacheNodesHasBeenSet = true; m_numCacheNodes = value; } 502 503 /** 504 * <p>The initial number of cache nodes that the cluster has.</p> <p>For clusters 505 * running Redis, this value must be 1. For clusters running Memcached, this value 506 * must be between 1 and 40.</p> <p>If you need more than 40 nodes for your 507 * Memcached cluster, please fill out the ElastiCache Limit Increase Request form 508 * at <a 509 * href="http://aws.amazon.com/contact-us/elasticache-node-limit-request/">http://aws.amazon.com/contact-us/elasticache-node-limit-request/</a>.</p> 510 */ WithNumCacheNodes(int value)511 inline CreateCacheClusterRequest& WithNumCacheNodes(int value) { SetNumCacheNodes(value); return *this;} 512 513 514 /** 515 * <p>The compute and memory capacity of the nodes in the node group (shard).</p> 516 * <p>The following node types are supported by ElastiCache. Generally speaking, 517 * the current generation types provide more memory and computational power at 518 * lower cost when compared to their equivalent previous generation 519 * counterparts.</p> <ul> <li> <p>General purpose:</p> <ul> <li> <p>Current 520 * generation: </p> <p> <b>M6g node types</b> (available only for Redis engine 521 * version 5.0.6 onward and for Memcached engine version 1.5.16 onward).</p> <p> 522 * <code>cache.m6g.large</code>, <code>cache.m6g.xlarge</code>, 523 * <code>cache.m6g.2xlarge</code>, <code>cache.m6g.4xlarge</code>, 524 * <code>cache.m6g.8xlarge</code>, <code>cache.m6g.12xlarge</code>, 525 * <code>cache.m6g.16xlarge</code> </p> <p>For region availability, see <a 526 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 527 * Node Types</a> </p> <p> <b>M5 node types:</b> 528 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 529 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 530 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 531 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 532 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 533 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 534 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 535 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 536 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 537 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 538 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 539 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 540 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 541 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 542 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 543 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 544 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 545 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 546 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 547 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 548 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 549 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 550 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 551 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 552 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 553 * Node Types</a> </p> <p> <b>R5 node types:</b> 554 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 555 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 556 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 557 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 558 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 559 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 560 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 561 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 562 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 563 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 564 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 565 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 566 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 567 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 568 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 569 * with automatic failover is not supported on T1 instances.</p> </li> <li> 570 * <p>Redis configuration variables <code>appendonly</code> and 571 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 572 * later.</p> </li> </ul> 573 */ GetCacheNodeType()574 inline const Aws::String& GetCacheNodeType() const{ return m_cacheNodeType; } 575 576 /** 577 * <p>The compute and memory capacity of the nodes in the node group (shard).</p> 578 * <p>The following node types are supported by ElastiCache. Generally speaking, 579 * the current generation types provide more memory and computational power at 580 * lower cost when compared to their equivalent previous generation 581 * counterparts.</p> <ul> <li> <p>General purpose:</p> <ul> <li> <p>Current 582 * generation: </p> <p> <b>M6g node types</b> (available only for Redis engine 583 * version 5.0.6 onward and for Memcached engine version 1.5.16 onward).</p> <p> 584 * <code>cache.m6g.large</code>, <code>cache.m6g.xlarge</code>, 585 * <code>cache.m6g.2xlarge</code>, <code>cache.m6g.4xlarge</code>, 586 * <code>cache.m6g.8xlarge</code>, <code>cache.m6g.12xlarge</code>, 587 * <code>cache.m6g.16xlarge</code> </p> <p>For region availability, see <a 588 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 589 * Node Types</a> </p> <p> <b>M5 node types:</b> 590 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 591 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 592 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 593 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 594 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 595 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 596 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 597 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 598 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 599 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 600 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 601 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 602 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 603 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 604 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 605 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 606 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 607 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 608 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 609 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 610 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 611 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 612 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 613 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 614 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 615 * Node Types</a> </p> <p> <b>R5 node types:</b> 616 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 617 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 618 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 619 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 620 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 621 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 622 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 623 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 624 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 625 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 626 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 627 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 628 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 629 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 630 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 631 * with automatic failover is not supported on T1 instances.</p> </li> <li> 632 * <p>Redis configuration variables <code>appendonly</code> and 633 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 634 * later.</p> </li> </ul> 635 */ CacheNodeTypeHasBeenSet()636 inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; } 637 638 /** 639 * <p>The compute and memory capacity of the nodes in the node group (shard).</p> 640 * <p>The following node types are supported by ElastiCache. Generally speaking, 641 * the current generation types provide more memory and computational power at 642 * lower cost when compared to their equivalent previous generation 643 * counterparts.</p> <ul> <li> <p>General purpose:</p> <ul> <li> <p>Current 644 * generation: </p> <p> <b>M6g node types</b> (available only for Redis engine 645 * version 5.0.6 onward and for Memcached engine version 1.5.16 onward).</p> <p> 646 * <code>cache.m6g.large</code>, <code>cache.m6g.xlarge</code>, 647 * <code>cache.m6g.2xlarge</code>, <code>cache.m6g.4xlarge</code>, 648 * <code>cache.m6g.8xlarge</code>, <code>cache.m6g.12xlarge</code>, 649 * <code>cache.m6g.16xlarge</code> </p> <p>For region availability, see <a 650 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 651 * Node Types</a> </p> <p> <b>M5 node types:</b> 652 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 653 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 654 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 655 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 656 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 657 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 658 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 659 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 660 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 661 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 662 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 663 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 664 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 665 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 666 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 667 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 668 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 669 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 670 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 671 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 672 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 673 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 674 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 675 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 676 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 677 * Node Types</a> </p> <p> <b>R5 node types:</b> 678 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 679 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 680 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 681 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 682 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 683 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 684 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 685 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 686 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 687 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 688 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 689 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 690 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 691 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 692 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 693 * with automatic failover is not supported on T1 instances.</p> </li> <li> 694 * <p>Redis configuration variables <code>appendonly</code> and 695 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 696 * later.</p> </li> </ul> 697 */ SetCacheNodeType(const Aws::String & value)698 inline void SetCacheNodeType(const Aws::String& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = value; } 699 700 /** 701 * <p>The compute and memory capacity of the nodes in the node group (shard).</p> 702 * <p>The following node types are supported by ElastiCache. Generally speaking, 703 * the current generation types provide more memory and computational power at 704 * lower cost when compared to their equivalent previous generation 705 * counterparts.</p> <ul> <li> <p>General purpose:</p> <ul> <li> <p>Current 706 * generation: </p> <p> <b>M6g node types</b> (available only for Redis engine 707 * version 5.0.6 onward and for Memcached engine version 1.5.16 onward).</p> <p> 708 * <code>cache.m6g.large</code>, <code>cache.m6g.xlarge</code>, 709 * <code>cache.m6g.2xlarge</code>, <code>cache.m6g.4xlarge</code>, 710 * <code>cache.m6g.8xlarge</code>, <code>cache.m6g.12xlarge</code>, 711 * <code>cache.m6g.16xlarge</code> </p> <p>For region availability, see <a 712 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 713 * Node Types</a> </p> <p> <b>M5 node types:</b> 714 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 715 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 716 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 717 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 718 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 719 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 720 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 721 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 722 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 723 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 724 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 725 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 726 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 727 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 728 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 729 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 730 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 731 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 732 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 733 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 734 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 735 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 736 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 737 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 738 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 739 * Node Types</a> </p> <p> <b>R5 node types:</b> 740 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 741 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 742 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 743 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 744 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 745 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 746 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 747 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 748 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 749 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 750 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 751 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 752 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 753 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 754 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 755 * with automatic failover is not supported on T1 instances.</p> </li> <li> 756 * <p>Redis configuration variables <code>appendonly</code> and 757 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 758 * later.</p> </li> </ul> 759 */ SetCacheNodeType(Aws::String && value)760 inline void SetCacheNodeType(Aws::String&& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::move(value); } 761 762 /** 763 * <p>The compute and memory capacity of the nodes in the node group (shard).</p> 764 * <p>The following node types are supported by ElastiCache. Generally speaking, 765 * the current generation types provide more memory and computational power at 766 * lower cost when compared to their equivalent previous generation 767 * counterparts.</p> <ul> <li> <p>General purpose:</p> <ul> <li> <p>Current 768 * generation: </p> <p> <b>M6g node types</b> (available only for Redis engine 769 * version 5.0.6 onward and for Memcached engine version 1.5.16 onward).</p> <p> 770 * <code>cache.m6g.large</code>, <code>cache.m6g.xlarge</code>, 771 * <code>cache.m6g.2xlarge</code>, <code>cache.m6g.4xlarge</code>, 772 * <code>cache.m6g.8xlarge</code>, <code>cache.m6g.12xlarge</code>, 773 * <code>cache.m6g.16xlarge</code> </p> <p>For region availability, see <a 774 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 775 * Node Types</a> </p> <p> <b>M5 node types:</b> 776 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 777 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 778 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 779 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 780 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 781 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 782 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 783 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 784 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 785 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 786 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 787 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 788 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 789 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 790 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 791 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 792 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 793 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 794 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 795 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 796 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 797 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 798 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 799 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 800 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 801 * Node Types</a> </p> <p> <b>R5 node types:</b> 802 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 803 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 804 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 805 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 806 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 807 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 808 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 809 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 810 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 811 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 812 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 813 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 814 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 815 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 816 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 817 * with automatic failover is not supported on T1 instances.</p> </li> <li> 818 * <p>Redis configuration variables <code>appendonly</code> and 819 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 820 * later.</p> </li> </ul> 821 */ SetCacheNodeType(const char * value)822 inline void SetCacheNodeType(const char* value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType.assign(value); } 823 824 /** 825 * <p>The compute and memory capacity of the nodes in the node group (shard).</p> 826 * <p>The following node types are supported by ElastiCache. Generally speaking, 827 * the current generation types provide more memory and computational power at 828 * lower cost when compared to their equivalent previous generation 829 * counterparts.</p> <ul> <li> <p>General purpose:</p> <ul> <li> <p>Current 830 * generation: </p> <p> <b>M6g node types</b> (available only for Redis engine 831 * version 5.0.6 onward and for Memcached engine version 1.5.16 onward).</p> <p> 832 * <code>cache.m6g.large</code>, <code>cache.m6g.xlarge</code>, 833 * <code>cache.m6g.2xlarge</code>, <code>cache.m6g.4xlarge</code>, 834 * <code>cache.m6g.8xlarge</code>, <code>cache.m6g.12xlarge</code>, 835 * <code>cache.m6g.16xlarge</code> </p> <p>For region availability, see <a 836 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 837 * Node Types</a> </p> <p> <b>M5 node types:</b> 838 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 839 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 840 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 841 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 842 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 843 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 844 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 845 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 846 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 847 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 848 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 849 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 850 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 851 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 852 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 853 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 854 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 855 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 856 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 857 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 858 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 859 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 860 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 861 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 862 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 863 * Node Types</a> </p> <p> <b>R5 node types:</b> 864 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 865 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 866 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 867 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 868 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 869 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 870 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 871 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 872 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 873 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 874 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 875 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 876 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 877 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 878 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 879 * with automatic failover is not supported on T1 instances.</p> </li> <li> 880 * <p>Redis configuration variables <code>appendonly</code> and 881 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 882 * later.</p> </li> </ul> 883 */ WithCacheNodeType(const Aws::String & value)884 inline CreateCacheClusterRequest& WithCacheNodeType(const Aws::String& value) { SetCacheNodeType(value); return *this;} 885 886 /** 887 * <p>The compute and memory capacity of the nodes in the node group (shard).</p> 888 * <p>The following node types are supported by ElastiCache. Generally speaking, 889 * the current generation types provide more memory and computational power at 890 * lower cost when compared to their equivalent previous generation 891 * counterparts.</p> <ul> <li> <p>General purpose:</p> <ul> <li> <p>Current 892 * generation: </p> <p> <b>M6g node types</b> (available only for Redis engine 893 * version 5.0.6 onward and for Memcached engine version 1.5.16 onward).</p> <p> 894 * <code>cache.m6g.large</code>, <code>cache.m6g.xlarge</code>, 895 * <code>cache.m6g.2xlarge</code>, <code>cache.m6g.4xlarge</code>, 896 * <code>cache.m6g.8xlarge</code>, <code>cache.m6g.12xlarge</code>, 897 * <code>cache.m6g.16xlarge</code> </p> <p>For region availability, see <a 898 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 899 * Node Types</a> </p> <p> <b>M5 node types:</b> 900 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 901 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 902 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 903 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 904 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 905 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 906 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 907 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 908 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 909 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 910 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 911 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 912 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 913 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 914 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 915 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 916 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 917 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 918 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 919 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 920 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 921 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 922 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 923 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 924 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 925 * Node Types</a> </p> <p> <b>R5 node types:</b> 926 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 927 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 928 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 929 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 930 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 931 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 932 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 933 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 934 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 935 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 936 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 937 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 938 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 939 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 940 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 941 * with automatic failover is not supported on T1 instances.</p> </li> <li> 942 * <p>Redis configuration variables <code>appendonly</code> and 943 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 944 * later.</p> </li> </ul> 945 */ WithCacheNodeType(Aws::String && value)946 inline CreateCacheClusterRequest& WithCacheNodeType(Aws::String&& value) { SetCacheNodeType(std::move(value)); return *this;} 947 948 /** 949 * <p>The compute and memory capacity of the nodes in the node group (shard).</p> 950 * <p>The following node types are supported by ElastiCache. Generally speaking, 951 * the current generation types provide more memory and computational power at 952 * lower cost when compared to their equivalent previous generation 953 * counterparts.</p> <ul> <li> <p>General purpose:</p> <ul> <li> <p>Current 954 * generation: </p> <p> <b>M6g node types</b> (available only for Redis engine 955 * version 5.0.6 onward and for Memcached engine version 1.5.16 onward).</p> <p> 956 * <code>cache.m6g.large</code>, <code>cache.m6g.xlarge</code>, 957 * <code>cache.m6g.2xlarge</code>, <code>cache.m6g.4xlarge</code>, 958 * <code>cache.m6g.8xlarge</code>, <code>cache.m6g.12xlarge</code>, 959 * <code>cache.m6g.16xlarge</code> </p> <p>For region availability, see <a 960 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 961 * Node Types</a> </p> <p> <b>M5 node types:</b> 962 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 963 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 964 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 965 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 966 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 967 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 968 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 969 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 970 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 971 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 972 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 973 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 974 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 975 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 976 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 977 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 978 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 979 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 980 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 981 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 982 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 983 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 984 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 985 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 986 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 987 * Node Types</a> </p> <p> <b>R5 node types:</b> 988 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 989 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 990 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 991 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 992 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 993 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 994 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 995 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 996 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 997 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 998 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 999 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 1000 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 1001 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 1002 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 1003 * with automatic failover is not supported on T1 instances.</p> </li> <li> 1004 * <p>Redis configuration variables <code>appendonly</code> and 1005 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 1006 * later.</p> </li> </ul> 1007 */ WithCacheNodeType(const char * value)1008 inline CreateCacheClusterRequest& WithCacheNodeType(const char* value) { SetCacheNodeType(value); return *this;} 1009 1010 1011 /** 1012 * <p>The name of the cache engine to be used for this cluster.</p> <p>Valid values 1013 * for this parameter are: <code>memcached</code> | <code>redis</code> </p> 1014 */ GetEngine()1015 inline const Aws::String& GetEngine() const{ return m_engine; } 1016 1017 /** 1018 * <p>The name of the cache engine to be used for this cluster.</p> <p>Valid values 1019 * for this parameter are: <code>memcached</code> | <code>redis</code> </p> 1020 */ EngineHasBeenSet()1021 inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } 1022 1023 /** 1024 * <p>The name of the cache engine to be used for this cluster.</p> <p>Valid values 1025 * for this parameter are: <code>memcached</code> | <code>redis</code> </p> 1026 */ SetEngine(const Aws::String & value)1027 inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } 1028 1029 /** 1030 * <p>The name of the cache engine to be used for this cluster.</p> <p>Valid values 1031 * for this parameter are: <code>memcached</code> | <code>redis</code> </p> 1032 */ SetEngine(Aws::String && value)1033 inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } 1034 1035 /** 1036 * <p>The name of the cache engine to be used for this cluster.</p> <p>Valid values 1037 * for this parameter are: <code>memcached</code> | <code>redis</code> </p> 1038 */ SetEngine(const char * value)1039 inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } 1040 1041 /** 1042 * <p>The name of the cache engine to be used for this cluster.</p> <p>Valid values 1043 * for this parameter are: <code>memcached</code> | <code>redis</code> </p> 1044 */ WithEngine(const Aws::String & value)1045 inline CreateCacheClusterRequest& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} 1046 1047 /** 1048 * <p>The name of the cache engine to be used for this cluster.</p> <p>Valid values 1049 * for this parameter are: <code>memcached</code> | <code>redis</code> </p> 1050 */ WithEngine(Aws::String && value)1051 inline CreateCacheClusterRequest& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} 1052 1053 /** 1054 * <p>The name of the cache engine to be used for this cluster.</p> <p>Valid values 1055 * for this parameter are: <code>memcached</code> | <code>redis</code> </p> 1056 */ WithEngine(const char * value)1057 inline CreateCacheClusterRequest& WithEngine(const char* value) { SetEngine(value); return *this;} 1058 1059 1060 /** 1061 * <p>The version number of the cache engine to be used for this cluster. To view 1062 * the supported cache engine versions, use the DescribeCacheEngineVersions 1063 * operation.</p> <p> <b>Important:</b> You can upgrade to a newer engine version 1064 * (see <a 1065 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement">Selecting 1066 * a Cache Engine and Version</a>), but you cannot downgrade to an earlier engine 1067 * version. If you want to use an earlier engine version, you must delete the 1068 * existing cluster or replication group and create it anew with the earlier engine 1069 * version. </p> 1070 */ GetEngineVersion()1071 inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } 1072 1073 /** 1074 * <p>The version number of the cache engine to be used for this cluster. To view 1075 * the supported cache engine versions, use the DescribeCacheEngineVersions 1076 * operation.</p> <p> <b>Important:</b> You can upgrade to a newer engine version 1077 * (see <a 1078 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement">Selecting 1079 * a Cache Engine and Version</a>), but you cannot downgrade to an earlier engine 1080 * version. If you want to use an earlier engine version, you must delete the 1081 * existing cluster or replication group and create it anew with the earlier engine 1082 * version. </p> 1083 */ EngineVersionHasBeenSet()1084 inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } 1085 1086 /** 1087 * <p>The version number of the cache engine to be used for this cluster. To view 1088 * the supported cache engine versions, use the DescribeCacheEngineVersions 1089 * operation.</p> <p> <b>Important:</b> You can upgrade to a newer engine version 1090 * (see <a 1091 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement">Selecting 1092 * a Cache Engine and Version</a>), but you cannot downgrade to an earlier engine 1093 * version. If you want to use an earlier engine version, you must delete the 1094 * existing cluster or replication group and create it anew with the earlier engine 1095 * version. </p> 1096 */ SetEngineVersion(const Aws::String & value)1097 inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } 1098 1099 /** 1100 * <p>The version number of the cache engine to be used for this cluster. To view 1101 * the supported cache engine versions, use the DescribeCacheEngineVersions 1102 * operation.</p> <p> <b>Important:</b> You can upgrade to a newer engine version 1103 * (see <a 1104 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement">Selecting 1105 * a Cache Engine and Version</a>), but you cannot downgrade to an earlier engine 1106 * version. If you want to use an earlier engine version, you must delete the 1107 * existing cluster or replication group and create it anew with the earlier engine 1108 * version. </p> 1109 */ SetEngineVersion(Aws::String && value)1110 inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } 1111 1112 /** 1113 * <p>The version number of the cache engine to be used for this cluster. To view 1114 * the supported cache engine versions, use the DescribeCacheEngineVersions 1115 * operation.</p> <p> <b>Important:</b> You can upgrade to a newer engine version 1116 * (see <a 1117 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement">Selecting 1118 * a Cache Engine and Version</a>), but you cannot downgrade to an earlier engine 1119 * version. If you want to use an earlier engine version, you must delete the 1120 * existing cluster or replication group and create it anew with the earlier engine 1121 * version. </p> 1122 */ SetEngineVersion(const char * value)1123 inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } 1124 1125 /** 1126 * <p>The version number of the cache engine to be used for this cluster. To view 1127 * the supported cache engine versions, use the DescribeCacheEngineVersions 1128 * operation.</p> <p> <b>Important:</b> You can upgrade to a newer engine version 1129 * (see <a 1130 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement">Selecting 1131 * a Cache Engine and Version</a>), but you cannot downgrade to an earlier engine 1132 * version. If you want to use an earlier engine version, you must delete the 1133 * existing cluster or replication group and create it anew with the earlier engine 1134 * version. </p> 1135 */ WithEngineVersion(const Aws::String & value)1136 inline CreateCacheClusterRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} 1137 1138 /** 1139 * <p>The version number of the cache engine to be used for this cluster. To view 1140 * the supported cache engine versions, use the DescribeCacheEngineVersions 1141 * operation.</p> <p> <b>Important:</b> You can upgrade to a newer engine version 1142 * (see <a 1143 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement">Selecting 1144 * a Cache Engine and Version</a>), but you cannot downgrade to an earlier engine 1145 * version. If you want to use an earlier engine version, you must delete the 1146 * existing cluster or replication group and create it anew with the earlier engine 1147 * version. </p> 1148 */ WithEngineVersion(Aws::String && value)1149 inline CreateCacheClusterRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} 1150 1151 /** 1152 * <p>The version number of the cache engine to be used for this cluster. To view 1153 * the supported cache engine versions, use the DescribeCacheEngineVersions 1154 * operation.</p> <p> <b>Important:</b> You can upgrade to a newer engine version 1155 * (see <a 1156 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement">Selecting 1157 * a Cache Engine and Version</a>), but you cannot downgrade to an earlier engine 1158 * version. If you want to use an earlier engine version, you must delete the 1159 * existing cluster or replication group and create it anew with the earlier engine 1160 * version. </p> 1161 */ WithEngineVersion(const char * value)1162 inline CreateCacheClusterRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} 1163 1164 1165 /** 1166 * <p>The name of the parameter group to associate with this cluster. If this 1167 * argument is omitted, the default parameter group for the specified engine is 1168 * used. You cannot use any parameter group which has 1169 * <code>cluster-enabled='yes'</code> when creating a cluster.</p> 1170 */ GetCacheParameterGroupName()1171 inline const Aws::String& GetCacheParameterGroupName() const{ return m_cacheParameterGroupName; } 1172 1173 /** 1174 * <p>The name of the parameter group to associate with this cluster. If this 1175 * argument is omitted, the default parameter group for the specified engine is 1176 * used. You cannot use any parameter group which has 1177 * <code>cluster-enabled='yes'</code> when creating a cluster.</p> 1178 */ CacheParameterGroupNameHasBeenSet()1179 inline bool CacheParameterGroupNameHasBeenSet() const { return m_cacheParameterGroupNameHasBeenSet; } 1180 1181 /** 1182 * <p>The name of the parameter group to associate with this cluster. If this 1183 * argument is omitted, the default parameter group for the specified engine is 1184 * used. You cannot use any parameter group which has 1185 * <code>cluster-enabled='yes'</code> when creating a cluster.</p> 1186 */ SetCacheParameterGroupName(const Aws::String & value)1187 inline void SetCacheParameterGroupName(const Aws::String& value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName = value; } 1188 1189 /** 1190 * <p>The name of the parameter group to associate with this cluster. If this 1191 * argument is omitted, the default parameter group for the specified engine is 1192 * used. You cannot use any parameter group which has 1193 * <code>cluster-enabled='yes'</code> when creating a cluster.</p> 1194 */ SetCacheParameterGroupName(Aws::String && value)1195 inline void SetCacheParameterGroupName(Aws::String&& value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName = std::move(value); } 1196 1197 /** 1198 * <p>The name of the parameter group to associate with this cluster. If this 1199 * argument is omitted, the default parameter group for the specified engine is 1200 * used. You cannot use any parameter group which has 1201 * <code>cluster-enabled='yes'</code> when creating a cluster.</p> 1202 */ SetCacheParameterGroupName(const char * value)1203 inline void SetCacheParameterGroupName(const char* value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName.assign(value); } 1204 1205 /** 1206 * <p>The name of the parameter group to associate with this cluster. If this 1207 * argument is omitted, the default parameter group for the specified engine is 1208 * used. You cannot use any parameter group which has 1209 * <code>cluster-enabled='yes'</code> when creating a cluster.</p> 1210 */ WithCacheParameterGroupName(const Aws::String & value)1211 inline CreateCacheClusterRequest& WithCacheParameterGroupName(const Aws::String& value) { SetCacheParameterGroupName(value); return *this;} 1212 1213 /** 1214 * <p>The name of the parameter group to associate with this cluster. If this 1215 * argument is omitted, the default parameter group for the specified engine is 1216 * used. You cannot use any parameter group which has 1217 * <code>cluster-enabled='yes'</code> when creating a cluster.</p> 1218 */ WithCacheParameterGroupName(Aws::String && value)1219 inline CreateCacheClusterRequest& WithCacheParameterGroupName(Aws::String&& value) { SetCacheParameterGroupName(std::move(value)); return *this;} 1220 1221 /** 1222 * <p>The name of the parameter group to associate with this cluster. If this 1223 * argument is omitted, the default parameter group for the specified engine is 1224 * used. You cannot use any parameter group which has 1225 * <code>cluster-enabled='yes'</code> when creating a cluster.</p> 1226 */ WithCacheParameterGroupName(const char * value)1227 inline CreateCacheClusterRequest& WithCacheParameterGroupName(const char* value) { SetCacheParameterGroupName(value); return *this;} 1228 1229 1230 /** 1231 * <p>The name of the subnet group to be used for the cluster.</p> <p>Use this 1232 * parameter only when you are creating a cluster in an Amazon Virtual Private 1233 * Cloud (Amazon VPC).</p> <p>If you're going to launch your cluster in 1234 * an Amazon VPC, you need to create a subnet group before you start creating a 1235 * cluster. For more information, see <a 1236 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html">Subnets 1237 * and Subnet Groups</a>.</p> 1238 */ GetCacheSubnetGroupName()1239 inline const Aws::String& GetCacheSubnetGroupName() const{ return m_cacheSubnetGroupName; } 1240 1241 /** 1242 * <p>The name of the subnet group to be used for the cluster.</p> <p>Use this 1243 * parameter only when you are creating a cluster in an Amazon Virtual Private 1244 * Cloud (Amazon VPC).</p> <p>If you're going to launch your cluster in 1245 * an Amazon VPC, you need to create a subnet group before you start creating a 1246 * cluster. For more information, see <a 1247 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html">Subnets 1248 * and Subnet Groups</a>.</p> 1249 */ CacheSubnetGroupNameHasBeenSet()1250 inline bool CacheSubnetGroupNameHasBeenSet() const { return m_cacheSubnetGroupNameHasBeenSet; } 1251 1252 /** 1253 * <p>The name of the subnet group to be used for the cluster.</p> <p>Use this 1254 * parameter only when you are creating a cluster in an Amazon Virtual Private 1255 * Cloud (Amazon VPC).</p> <p>If you're going to launch your cluster in 1256 * an Amazon VPC, you need to create a subnet group before you start creating a 1257 * cluster. For more information, see <a 1258 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html">Subnets 1259 * and Subnet Groups</a>.</p> 1260 */ SetCacheSubnetGroupName(const Aws::String & value)1261 inline void SetCacheSubnetGroupName(const Aws::String& value) { m_cacheSubnetGroupNameHasBeenSet = true; m_cacheSubnetGroupName = value; } 1262 1263 /** 1264 * <p>The name of the subnet group to be used for the cluster.</p> <p>Use this 1265 * parameter only when you are creating a cluster in an Amazon Virtual Private 1266 * Cloud (Amazon VPC).</p> <p>If you're going to launch your cluster in 1267 * an Amazon VPC, you need to create a subnet group before you start creating a 1268 * cluster. For more information, see <a 1269 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html">Subnets 1270 * and Subnet Groups</a>.</p> 1271 */ SetCacheSubnetGroupName(Aws::String && value)1272 inline void SetCacheSubnetGroupName(Aws::String&& value) { m_cacheSubnetGroupNameHasBeenSet = true; m_cacheSubnetGroupName = std::move(value); } 1273 1274 /** 1275 * <p>The name of the subnet group to be used for the cluster.</p> <p>Use this 1276 * parameter only when you are creating a cluster in an Amazon Virtual Private 1277 * Cloud (Amazon VPC).</p> <p>If you're going to launch your cluster in 1278 * an Amazon VPC, you need to create a subnet group before you start creating a 1279 * cluster. For more information, see <a 1280 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html">Subnets 1281 * and Subnet Groups</a>.</p> 1282 */ SetCacheSubnetGroupName(const char * value)1283 inline void SetCacheSubnetGroupName(const char* value) { m_cacheSubnetGroupNameHasBeenSet = true; m_cacheSubnetGroupName.assign(value); } 1284 1285 /** 1286 * <p>The name of the subnet group to be used for the cluster.</p> <p>Use this 1287 * parameter only when you are creating a cluster in an Amazon Virtual Private 1288 * Cloud (Amazon VPC).</p> <p>If you're going to launch your cluster in 1289 * an Amazon VPC, you need to create a subnet group before you start creating a 1290 * cluster. For more information, see <a 1291 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html">Subnets 1292 * and Subnet Groups</a>.</p> 1293 */ WithCacheSubnetGroupName(const Aws::String & value)1294 inline CreateCacheClusterRequest& WithCacheSubnetGroupName(const Aws::String& value) { SetCacheSubnetGroupName(value); return *this;} 1295 1296 /** 1297 * <p>The name of the subnet group to be used for the cluster.</p> <p>Use this 1298 * parameter only when you are creating a cluster in an Amazon Virtual Private 1299 * Cloud (Amazon VPC).</p> <p>If you're going to launch your cluster in 1300 * an Amazon VPC, you need to create a subnet group before you start creating a 1301 * cluster. For more information, see <a 1302 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html">Subnets 1303 * and Subnet Groups</a>.</p> 1304 */ WithCacheSubnetGroupName(Aws::String && value)1305 inline CreateCacheClusterRequest& WithCacheSubnetGroupName(Aws::String&& value) { SetCacheSubnetGroupName(std::move(value)); return *this;} 1306 1307 /** 1308 * <p>The name of the subnet group to be used for the cluster.</p> <p>Use this 1309 * parameter only when you are creating a cluster in an Amazon Virtual Private 1310 * Cloud (Amazon VPC).</p> <p>If you're going to launch your cluster in 1311 * an Amazon VPC, you need to create a subnet group before you start creating a 1312 * cluster. For more information, see <a 1313 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html">Subnets 1314 * and Subnet Groups</a>.</p> 1315 */ WithCacheSubnetGroupName(const char * value)1316 inline CreateCacheClusterRequest& WithCacheSubnetGroupName(const char* value) { SetCacheSubnetGroupName(value); return *this;} 1317 1318 1319 /** 1320 * <p>A list of security group names to associate with this cluster.</p> <p>Use 1321 * this parameter only when you are creating a cluster outside of an Amazon Virtual 1322 * Private Cloud (Amazon VPC).</p> 1323 */ GetCacheSecurityGroupNames()1324 inline const Aws::Vector<Aws::String>& GetCacheSecurityGroupNames() const{ return m_cacheSecurityGroupNames; } 1325 1326 /** 1327 * <p>A list of security group names to associate with this cluster.</p> <p>Use 1328 * this parameter only when you are creating a cluster outside of an Amazon Virtual 1329 * Private Cloud (Amazon VPC).</p> 1330 */ CacheSecurityGroupNamesHasBeenSet()1331 inline bool CacheSecurityGroupNamesHasBeenSet() const { return m_cacheSecurityGroupNamesHasBeenSet; } 1332 1333 /** 1334 * <p>A list of security group names to associate with this cluster.</p> <p>Use 1335 * this parameter only when you are creating a cluster outside of an Amazon Virtual 1336 * Private Cloud (Amazon VPC).</p> 1337 */ SetCacheSecurityGroupNames(const Aws::Vector<Aws::String> & value)1338 inline void SetCacheSecurityGroupNames(const Aws::Vector<Aws::String>& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames = value; } 1339 1340 /** 1341 * <p>A list of security group names to associate with this cluster.</p> <p>Use 1342 * this parameter only when you are creating a cluster outside of an Amazon Virtual 1343 * Private Cloud (Amazon VPC).</p> 1344 */ SetCacheSecurityGroupNames(Aws::Vector<Aws::String> && value)1345 inline void SetCacheSecurityGroupNames(Aws::Vector<Aws::String>&& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames = std::move(value); } 1346 1347 /** 1348 * <p>A list of security group names to associate with this cluster.</p> <p>Use 1349 * this parameter only when you are creating a cluster outside of an Amazon Virtual 1350 * Private Cloud (Amazon VPC).</p> 1351 */ WithCacheSecurityGroupNames(const Aws::Vector<Aws::String> & value)1352 inline CreateCacheClusterRequest& WithCacheSecurityGroupNames(const Aws::Vector<Aws::String>& value) { SetCacheSecurityGroupNames(value); return *this;} 1353 1354 /** 1355 * <p>A list of security group names to associate with this cluster.</p> <p>Use 1356 * this parameter only when you are creating a cluster outside of an Amazon Virtual 1357 * Private Cloud (Amazon VPC).</p> 1358 */ WithCacheSecurityGroupNames(Aws::Vector<Aws::String> && value)1359 inline CreateCacheClusterRequest& WithCacheSecurityGroupNames(Aws::Vector<Aws::String>&& value) { SetCacheSecurityGroupNames(std::move(value)); return *this;} 1360 1361 /** 1362 * <p>A list of security group names to associate with this cluster.</p> <p>Use 1363 * this parameter only when you are creating a cluster outside of an Amazon Virtual 1364 * Private Cloud (Amazon VPC).</p> 1365 */ AddCacheSecurityGroupNames(const Aws::String & value)1366 inline CreateCacheClusterRequest& AddCacheSecurityGroupNames(const Aws::String& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(value); return *this; } 1367 1368 /** 1369 * <p>A list of security group names to associate with this cluster.</p> <p>Use 1370 * this parameter only when you are creating a cluster outside of an Amazon Virtual 1371 * Private Cloud (Amazon VPC).</p> 1372 */ AddCacheSecurityGroupNames(Aws::String && value)1373 inline CreateCacheClusterRequest& AddCacheSecurityGroupNames(Aws::String&& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(std::move(value)); return *this; } 1374 1375 /** 1376 * <p>A list of security group names to associate with this cluster.</p> <p>Use 1377 * this parameter only when you are creating a cluster outside of an Amazon Virtual 1378 * Private Cloud (Amazon VPC).</p> 1379 */ AddCacheSecurityGroupNames(const char * value)1380 inline CreateCacheClusterRequest& AddCacheSecurityGroupNames(const char* value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(value); return *this; } 1381 1382 1383 /** 1384 * <p>One or more VPC security groups associated with the cluster.</p> <p>Use this 1385 * parameter only when you are creating a cluster in an Amazon Virtual Private 1386 * Cloud (Amazon VPC).</p> 1387 */ GetSecurityGroupIds()1388 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const{ return m_securityGroupIds; } 1389 1390 /** 1391 * <p>One or more VPC security groups associated with the cluster.</p> <p>Use this 1392 * parameter only when you are creating a cluster in an Amazon Virtual Private 1393 * Cloud (Amazon VPC).</p> 1394 */ SecurityGroupIdsHasBeenSet()1395 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } 1396 1397 /** 1398 * <p>One or more VPC security groups associated with the cluster.</p> <p>Use this 1399 * parameter only when you are creating a cluster in an Amazon Virtual Private 1400 * Cloud (Amazon VPC).</p> 1401 */ SetSecurityGroupIds(const Aws::Vector<Aws::String> & value)1402 inline void SetSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } 1403 1404 /** 1405 * <p>One or more VPC security groups associated with the cluster.</p> <p>Use this 1406 * parameter only when you are creating a cluster in an Amazon Virtual Private 1407 * Cloud (Amazon VPC).</p> 1408 */ SetSecurityGroupIds(Aws::Vector<Aws::String> && value)1409 inline void SetSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } 1410 1411 /** 1412 * <p>One or more VPC security groups associated with the cluster.</p> <p>Use this 1413 * parameter only when you are creating a cluster in an Amazon Virtual Private 1414 * Cloud (Amazon VPC).</p> 1415 */ WithSecurityGroupIds(const Aws::Vector<Aws::String> & value)1416 inline CreateCacheClusterRequest& WithSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetSecurityGroupIds(value); return *this;} 1417 1418 /** 1419 * <p>One or more VPC security groups associated with the cluster.</p> <p>Use this 1420 * parameter only when you are creating a cluster in an Amazon Virtual Private 1421 * Cloud (Amazon VPC).</p> 1422 */ WithSecurityGroupIds(Aws::Vector<Aws::String> && value)1423 inline CreateCacheClusterRequest& WithSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetSecurityGroupIds(std::move(value)); return *this;} 1424 1425 /** 1426 * <p>One or more VPC security groups associated with the cluster.</p> <p>Use this 1427 * parameter only when you are creating a cluster in an Amazon Virtual Private 1428 * Cloud (Amazon VPC).</p> 1429 */ AddSecurityGroupIds(const Aws::String & value)1430 inline CreateCacheClusterRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } 1431 1432 /** 1433 * <p>One or more VPC security groups associated with the cluster.</p> <p>Use this 1434 * parameter only when you are creating a cluster in an Amazon Virtual Private 1435 * Cloud (Amazon VPC).</p> 1436 */ AddSecurityGroupIds(Aws::String && value)1437 inline CreateCacheClusterRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } 1438 1439 /** 1440 * <p>One or more VPC security groups associated with the cluster.</p> <p>Use this 1441 * parameter only when you are creating a cluster in an Amazon Virtual Private 1442 * Cloud (Amazon VPC).</p> 1443 */ AddSecurityGroupIds(const char * value)1444 inline CreateCacheClusterRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } 1445 1446 1447 /** 1448 * <p>A list of tags to be added to this resource.</p> 1449 */ GetTags()1450 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 1451 1452 /** 1453 * <p>A list of tags to be added to this resource.</p> 1454 */ TagsHasBeenSet()1455 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 1456 1457 /** 1458 * <p>A list of tags to be added to this resource.</p> 1459 */ SetTags(const Aws::Vector<Tag> & value)1460 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 1461 1462 /** 1463 * <p>A list of tags to be added to this resource.</p> 1464 */ SetTags(Aws::Vector<Tag> && value)1465 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 1466 1467 /** 1468 * <p>A list of tags to be added to this resource.</p> 1469 */ WithTags(const Aws::Vector<Tag> & value)1470 inline CreateCacheClusterRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 1471 1472 /** 1473 * <p>A list of tags to be added to this resource.</p> 1474 */ WithTags(Aws::Vector<Tag> && value)1475 inline CreateCacheClusterRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 1476 1477 /** 1478 * <p>A list of tags to be added to this resource.</p> 1479 */ AddTags(const Tag & value)1480 inline CreateCacheClusterRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 1481 1482 /** 1483 * <p>A list of tags to be added to this resource.</p> 1484 */ AddTags(Tag && value)1485 inline CreateCacheClusterRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 1486 1487 1488 /** 1489 * <p>A single-element string list containing an Amazon Resource Name (ARN) that 1490 * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 1491 * file is used to populate the node group (shard). The Amazon S3 object name in 1492 * the ARN cannot contain any commas.</p> <p>This parameter is only valid if 1493 * the <code>Engine</code> parameter is <code>redis</code>.</p> <p>Example 1494 * of an Amazon S3 ARN: <code>arn:aws:s3:::my_bucket/snapshot1.rdb</code> </p> 1495 */ GetSnapshotArns()1496 inline const Aws::Vector<Aws::String>& GetSnapshotArns() const{ return m_snapshotArns; } 1497 1498 /** 1499 * <p>A single-element string list containing an Amazon Resource Name (ARN) that 1500 * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 1501 * file is used to populate the node group (shard). The Amazon S3 object name in 1502 * the ARN cannot contain any commas.</p> <p>This parameter is only valid if 1503 * the <code>Engine</code> parameter is <code>redis</code>.</p> <p>Example 1504 * of an Amazon S3 ARN: <code>arn:aws:s3:::my_bucket/snapshot1.rdb</code> </p> 1505 */ SnapshotArnsHasBeenSet()1506 inline bool SnapshotArnsHasBeenSet() const { return m_snapshotArnsHasBeenSet; } 1507 1508 /** 1509 * <p>A single-element string list containing an Amazon Resource Name (ARN) that 1510 * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 1511 * file is used to populate the node group (shard). The Amazon S3 object name in 1512 * the ARN cannot contain any commas.</p> <p>This parameter is only valid if 1513 * the <code>Engine</code> parameter is <code>redis</code>.</p> <p>Example 1514 * of an Amazon S3 ARN: <code>arn:aws:s3:::my_bucket/snapshot1.rdb</code> </p> 1515 */ SetSnapshotArns(const Aws::Vector<Aws::String> & value)1516 inline void SetSnapshotArns(const Aws::Vector<Aws::String>& value) { m_snapshotArnsHasBeenSet = true; m_snapshotArns = value; } 1517 1518 /** 1519 * <p>A single-element string list containing an Amazon Resource Name (ARN) that 1520 * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 1521 * file is used to populate the node group (shard). The Amazon S3 object name in 1522 * the ARN cannot contain any commas.</p> <p>This parameter is only valid if 1523 * the <code>Engine</code> parameter is <code>redis</code>.</p> <p>Example 1524 * of an Amazon S3 ARN: <code>arn:aws:s3:::my_bucket/snapshot1.rdb</code> </p> 1525 */ SetSnapshotArns(Aws::Vector<Aws::String> && value)1526 inline void SetSnapshotArns(Aws::Vector<Aws::String>&& value) { m_snapshotArnsHasBeenSet = true; m_snapshotArns = std::move(value); } 1527 1528 /** 1529 * <p>A single-element string list containing an Amazon Resource Name (ARN) that 1530 * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 1531 * file is used to populate the node group (shard). The Amazon S3 object name in 1532 * the ARN cannot contain any commas.</p> <p>This parameter is only valid if 1533 * the <code>Engine</code> parameter is <code>redis</code>.</p> <p>Example 1534 * of an Amazon S3 ARN: <code>arn:aws:s3:::my_bucket/snapshot1.rdb</code> </p> 1535 */ WithSnapshotArns(const Aws::Vector<Aws::String> & value)1536 inline CreateCacheClusterRequest& WithSnapshotArns(const Aws::Vector<Aws::String>& value) { SetSnapshotArns(value); return *this;} 1537 1538 /** 1539 * <p>A single-element string list containing an Amazon Resource Name (ARN) that 1540 * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 1541 * file is used to populate the node group (shard). The Amazon S3 object name in 1542 * the ARN cannot contain any commas.</p> <p>This parameter is only valid if 1543 * the <code>Engine</code> parameter is <code>redis</code>.</p> <p>Example 1544 * of an Amazon S3 ARN: <code>arn:aws:s3:::my_bucket/snapshot1.rdb</code> </p> 1545 */ WithSnapshotArns(Aws::Vector<Aws::String> && value)1546 inline CreateCacheClusterRequest& WithSnapshotArns(Aws::Vector<Aws::String>&& value) { SetSnapshotArns(std::move(value)); return *this;} 1547 1548 /** 1549 * <p>A single-element string list containing an Amazon Resource Name (ARN) that 1550 * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 1551 * file is used to populate the node group (shard). The Amazon S3 object name in 1552 * the ARN cannot contain any commas.</p> <p>This parameter is only valid if 1553 * the <code>Engine</code> parameter is <code>redis</code>.</p> <p>Example 1554 * of an Amazon S3 ARN: <code>arn:aws:s3:::my_bucket/snapshot1.rdb</code> </p> 1555 */ AddSnapshotArns(const Aws::String & value)1556 inline CreateCacheClusterRequest& AddSnapshotArns(const Aws::String& value) { m_snapshotArnsHasBeenSet = true; m_snapshotArns.push_back(value); return *this; } 1557 1558 /** 1559 * <p>A single-element string list containing an Amazon Resource Name (ARN) that 1560 * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 1561 * file is used to populate the node group (shard). The Amazon S3 object name in 1562 * the ARN cannot contain any commas.</p> <p>This parameter is only valid if 1563 * the <code>Engine</code> parameter is <code>redis</code>.</p> <p>Example 1564 * of an Amazon S3 ARN: <code>arn:aws:s3:::my_bucket/snapshot1.rdb</code> </p> 1565 */ AddSnapshotArns(Aws::String && value)1566 inline CreateCacheClusterRequest& AddSnapshotArns(Aws::String&& value) { m_snapshotArnsHasBeenSet = true; m_snapshotArns.push_back(std::move(value)); return *this; } 1567 1568 /** 1569 * <p>A single-element string list containing an Amazon Resource Name (ARN) that 1570 * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 1571 * file is used to populate the node group (shard). The Amazon S3 object name in 1572 * the ARN cannot contain any commas.</p> <p>This parameter is only valid if 1573 * the <code>Engine</code> parameter is <code>redis</code>.</p> <p>Example 1574 * of an Amazon S3 ARN: <code>arn:aws:s3:::my_bucket/snapshot1.rdb</code> </p> 1575 */ AddSnapshotArns(const char * value)1576 inline CreateCacheClusterRequest& AddSnapshotArns(const char* value) { m_snapshotArnsHasBeenSet = true; m_snapshotArns.push_back(value); return *this; } 1577 1578 1579 /** 1580 * <p>The name of a Redis snapshot from which to restore data into the new node 1581 * group (shard). The snapshot status changes to <code>restoring</code> while the 1582 * new node group (shard) is being created.</p> <p>This parameter is only 1583 * valid if the <code>Engine</code> parameter is <code>redis</code>.</p> 1584 */ GetSnapshotName()1585 inline const Aws::String& GetSnapshotName() const{ return m_snapshotName; } 1586 1587 /** 1588 * <p>The name of a Redis snapshot from which to restore data into the new node 1589 * group (shard). The snapshot status changes to <code>restoring</code> while the 1590 * new node group (shard) is being created.</p> <p>This parameter is only 1591 * valid if the <code>Engine</code> parameter is <code>redis</code>.</p> 1592 */ SnapshotNameHasBeenSet()1593 inline bool SnapshotNameHasBeenSet() const { return m_snapshotNameHasBeenSet; } 1594 1595 /** 1596 * <p>The name of a Redis snapshot from which to restore data into the new node 1597 * group (shard). The snapshot status changes to <code>restoring</code> while the 1598 * new node group (shard) is being created.</p> <p>This parameter is only 1599 * valid if the <code>Engine</code> parameter is <code>redis</code>.</p> 1600 */ SetSnapshotName(const Aws::String & value)1601 inline void SetSnapshotName(const Aws::String& value) { m_snapshotNameHasBeenSet = true; m_snapshotName = value; } 1602 1603 /** 1604 * <p>The name of a Redis snapshot from which to restore data into the new node 1605 * group (shard). The snapshot status changes to <code>restoring</code> while the 1606 * new node group (shard) is being created.</p> <p>This parameter is only 1607 * valid if the <code>Engine</code> parameter is <code>redis</code>.</p> 1608 */ SetSnapshotName(Aws::String && value)1609 inline void SetSnapshotName(Aws::String&& value) { m_snapshotNameHasBeenSet = true; m_snapshotName = std::move(value); } 1610 1611 /** 1612 * <p>The name of a Redis snapshot from which to restore data into the new node 1613 * group (shard). The snapshot status changes to <code>restoring</code> while the 1614 * new node group (shard) is being created.</p> <p>This parameter is only 1615 * valid if the <code>Engine</code> parameter is <code>redis</code>.</p> 1616 */ SetSnapshotName(const char * value)1617 inline void SetSnapshotName(const char* value) { m_snapshotNameHasBeenSet = true; m_snapshotName.assign(value); } 1618 1619 /** 1620 * <p>The name of a Redis snapshot from which to restore data into the new node 1621 * group (shard). The snapshot status changes to <code>restoring</code> while the 1622 * new node group (shard) is being created.</p> <p>This parameter is only 1623 * valid if the <code>Engine</code> parameter is <code>redis</code>.</p> 1624 */ WithSnapshotName(const Aws::String & value)1625 inline CreateCacheClusterRequest& WithSnapshotName(const Aws::String& value) { SetSnapshotName(value); return *this;} 1626 1627 /** 1628 * <p>The name of a Redis snapshot from which to restore data into the new node 1629 * group (shard). The snapshot status changes to <code>restoring</code> while the 1630 * new node group (shard) is being created.</p> <p>This parameter is only 1631 * valid if the <code>Engine</code> parameter is <code>redis</code>.</p> 1632 */ WithSnapshotName(Aws::String && value)1633 inline CreateCacheClusterRequest& WithSnapshotName(Aws::String&& value) { SetSnapshotName(std::move(value)); return *this;} 1634 1635 /** 1636 * <p>The name of a Redis snapshot from which to restore data into the new node 1637 * group (shard). The snapshot status changes to <code>restoring</code> while the 1638 * new node group (shard) is being created.</p> <p>This parameter is only 1639 * valid if the <code>Engine</code> parameter is <code>redis</code>.</p> 1640 */ WithSnapshotName(const char * value)1641 inline CreateCacheClusterRequest& WithSnapshotName(const char* value) { SetSnapshotName(value); return *this;} 1642 1643 1644 /** 1645 * <p>Specifies the weekly time range during which maintenance on the cluster is 1646 * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H 1647 * Clock UTC). The minimum maintenance window is a 60 minute period. Valid values 1648 * for <code>ddd</code> are:</p> 1649 */ GetPreferredMaintenanceWindow()1650 inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } 1651 1652 /** 1653 * <p>Specifies the weekly time range during which maintenance on the cluster is 1654 * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H 1655 * Clock UTC). The minimum maintenance window is a 60 minute period. Valid values 1656 * for <code>ddd</code> are:</p> 1657 */ PreferredMaintenanceWindowHasBeenSet()1658 inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } 1659 1660 /** 1661 * <p>Specifies the weekly time range during which maintenance on the cluster is 1662 * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H 1663 * Clock UTC). The minimum maintenance window is a 60 minute period. Valid values 1664 * for <code>ddd</code> are:</p> 1665 */ SetPreferredMaintenanceWindow(const Aws::String & value)1666 inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } 1667 1668 /** 1669 * <p>Specifies the weekly time range during which maintenance on the cluster is 1670 * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H 1671 * Clock UTC). The minimum maintenance window is a 60 minute period. Valid values 1672 * for <code>ddd</code> are:</p> 1673 */ SetPreferredMaintenanceWindow(Aws::String && value)1674 inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } 1675 1676 /** 1677 * <p>Specifies the weekly time range during which maintenance on the cluster is 1678 * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H 1679 * Clock UTC). The minimum maintenance window is a 60 minute period. Valid values 1680 * for <code>ddd</code> are:</p> 1681 */ SetPreferredMaintenanceWindow(const char * value)1682 inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } 1683 1684 /** 1685 * <p>Specifies the weekly time range during which maintenance on the cluster is 1686 * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H 1687 * Clock UTC). The minimum maintenance window is a 60 minute period. Valid values 1688 * for <code>ddd</code> are:</p> 1689 */ WithPreferredMaintenanceWindow(const Aws::String & value)1690 inline CreateCacheClusterRequest& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} 1691 1692 /** 1693 * <p>Specifies the weekly time range during which maintenance on the cluster is 1694 * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H 1695 * Clock UTC). The minimum maintenance window is a 60 minute period. Valid values 1696 * for <code>ddd</code> are:</p> 1697 */ WithPreferredMaintenanceWindow(Aws::String && value)1698 inline CreateCacheClusterRequest& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} 1699 1700 /** 1701 * <p>Specifies the weekly time range during which maintenance on the cluster is 1702 * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H 1703 * Clock UTC). The minimum maintenance window is a 60 minute period. Valid values 1704 * for <code>ddd</code> are:</p> 1705 */ WithPreferredMaintenanceWindow(const char * value)1706 inline CreateCacheClusterRequest& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} 1707 1708 1709 /** 1710 * <p>The port number on which each of the cache nodes accepts connections.</p> 1711 */ GetPort()1712 inline int GetPort() const{ return m_port; } 1713 1714 /** 1715 * <p>The port number on which each of the cache nodes accepts connections.</p> 1716 */ PortHasBeenSet()1717 inline bool PortHasBeenSet() const { return m_portHasBeenSet; } 1718 1719 /** 1720 * <p>The port number on which each of the cache nodes accepts connections.</p> 1721 */ SetPort(int value)1722 inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } 1723 1724 /** 1725 * <p>The port number on which each of the cache nodes accepts connections.</p> 1726 */ WithPort(int value)1727 inline CreateCacheClusterRequest& WithPort(int value) { SetPort(value); return *this;} 1728 1729 1730 /** 1731 * <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 1732 * (SNS) topic to which notifications are sent.</p> <p>The Amazon SNS topic 1733 * owner must be the same as the cluster owner.</p> 1734 */ GetNotificationTopicArn()1735 inline const Aws::String& GetNotificationTopicArn() const{ return m_notificationTopicArn; } 1736 1737 /** 1738 * <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 1739 * (SNS) topic to which notifications are sent.</p> <p>The Amazon SNS topic 1740 * owner must be the same as the cluster owner.</p> 1741 */ NotificationTopicArnHasBeenSet()1742 inline bool NotificationTopicArnHasBeenSet() const { return m_notificationTopicArnHasBeenSet; } 1743 1744 /** 1745 * <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 1746 * (SNS) topic to which notifications are sent.</p> <p>The Amazon SNS topic 1747 * owner must be the same as the cluster owner.</p> 1748 */ SetNotificationTopicArn(const Aws::String & value)1749 inline void SetNotificationTopicArn(const Aws::String& value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn = value; } 1750 1751 /** 1752 * <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 1753 * (SNS) topic to which notifications are sent.</p> <p>The Amazon SNS topic 1754 * owner must be the same as the cluster owner.</p> 1755 */ SetNotificationTopicArn(Aws::String && value)1756 inline void SetNotificationTopicArn(Aws::String&& value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn = std::move(value); } 1757 1758 /** 1759 * <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 1760 * (SNS) topic to which notifications are sent.</p> <p>The Amazon SNS topic 1761 * owner must be the same as the cluster owner.</p> 1762 */ SetNotificationTopicArn(const char * value)1763 inline void SetNotificationTopicArn(const char* value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn.assign(value); } 1764 1765 /** 1766 * <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 1767 * (SNS) topic to which notifications are sent.</p> <p>The Amazon SNS topic 1768 * owner must be the same as the cluster owner.</p> 1769 */ WithNotificationTopicArn(const Aws::String & value)1770 inline CreateCacheClusterRequest& WithNotificationTopicArn(const Aws::String& value) { SetNotificationTopicArn(value); return *this;} 1771 1772 /** 1773 * <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 1774 * (SNS) topic to which notifications are sent.</p> <p>The Amazon SNS topic 1775 * owner must be the same as the cluster owner.</p> 1776 */ WithNotificationTopicArn(Aws::String && value)1777 inline CreateCacheClusterRequest& WithNotificationTopicArn(Aws::String&& value) { SetNotificationTopicArn(std::move(value)); return *this;} 1778 1779 /** 1780 * <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 1781 * (SNS) topic to which notifications are sent.</p> <p>The Amazon SNS topic 1782 * owner must be the same as the cluster owner.</p> 1783 */ WithNotificationTopicArn(const char * value)1784 inline CreateCacheClusterRequest& WithNotificationTopicArn(const char* value) { SetNotificationTopicArn(value); return *this;} 1785 1786 1787 /** 1788 * <p>This parameter is currently disabled.</p> 1789 */ GetAutoMinorVersionUpgrade()1790 inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } 1791 1792 /** 1793 * <p>This parameter is currently disabled.</p> 1794 */ AutoMinorVersionUpgradeHasBeenSet()1795 inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } 1796 1797 /** 1798 * <p>This parameter is currently disabled.</p> 1799 */ SetAutoMinorVersionUpgrade(bool value)1800 inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } 1801 1802 /** 1803 * <p>This parameter is currently disabled.</p> 1804 */ WithAutoMinorVersionUpgrade(bool value)1805 inline CreateCacheClusterRequest& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} 1806 1807 1808 /** 1809 * <p>The number of days for which ElastiCache retains automatic snapshots before 1810 * deleting them. For example, if you set <code>SnapshotRetentionLimit</code> to 5, 1811 * a snapshot taken today is retained for 5 days before being deleted.</p> 1812 * <p>This parameter is only valid if the <code>Engine</code> parameter is 1813 * <code>redis</code>.</p> <p>Default: 0 (i.e., automatic backups are 1814 * disabled for this cache cluster).</p> 1815 */ GetSnapshotRetentionLimit()1816 inline int GetSnapshotRetentionLimit() const{ return m_snapshotRetentionLimit; } 1817 1818 /** 1819 * <p>The number of days for which ElastiCache retains automatic snapshots before 1820 * deleting them. For example, if you set <code>SnapshotRetentionLimit</code> to 5, 1821 * a snapshot taken today is retained for 5 days before being deleted.</p> 1822 * <p>This parameter is only valid if the <code>Engine</code> parameter is 1823 * <code>redis</code>.</p> <p>Default: 0 (i.e., automatic backups are 1824 * disabled for this cache cluster).</p> 1825 */ SnapshotRetentionLimitHasBeenSet()1826 inline bool SnapshotRetentionLimitHasBeenSet() const { return m_snapshotRetentionLimitHasBeenSet; } 1827 1828 /** 1829 * <p>The number of days for which ElastiCache retains automatic snapshots before 1830 * deleting them. For example, if you set <code>SnapshotRetentionLimit</code> to 5, 1831 * a snapshot taken today is retained for 5 days before being deleted.</p> 1832 * <p>This parameter is only valid if the <code>Engine</code> parameter is 1833 * <code>redis</code>.</p> <p>Default: 0 (i.e., automatic backups are 1834 * disabled for this cache cluster).</p> 1835 */ SetSnapshotRetentionLimit(int value)1836 inline void SetSnapshotRetentionLimit(int value) { m_snapshotRetentionLimitHasBeenSet = true; m_snapshotRetentionLimit = value; } 1837 1838 /** 1839 * <p>The number of days for which ElastiCache retains automatic snapshots before 1840 * deleting them. For example, if you set <code>SnapshotRetentionLimit</code> to 5, 1841 * a snapshot taken today is retained for 5 days before being deleted.</p> 1842 * <p>This parameter is only valid if the <code>Engine</code> parameter is 1843 * <code>redis</code>.</p> <p>Default: 0 (i.e., automatic backups are 1844 * disabled for this cache cluster).</p> 1845 */ WithSnapshotRetentionLimit(int value)1846 inline CreateCacheClusterRequest& WithSnapshotRetentionLimit(int value) { SetSnapshotRetentionLimit(value); return *this;} 1847 1848 1849 /** 1850 * <p>The daily time range (in UTC) during which ElastiCache begins taking a daily 1851 * snapshot of your node group (shard).</p> <p>Example: <code>05:00-09:00</code> 1852 * </p> <p>If you do not specify this parameter, ElastiCache automatically chooses 1853 * an appropriate time range.</p> <p>This parameter is only valid if the 1854 * <code>Engine</code> parameter is <code>redis</code>.</p> 1855 */ GetSnapshotWindow()1856 inline const Aws::String& GetSnapshotWindow() const{ return m_snapshotWindow; } 1857 1858 /** 1859 * <p>The daily time range (in UTC) during which ElastiCache begins taking a daily 1860 * snapshot of your node group (shard).</p> <p>Example: <code>05:00-09:00</code> 1861 * </p> <p>If you do not specify this parameter, ElastiCache automatically chooses 1862 * an appropriate time range.</p> <p>This parameter is only valid if the 1863 * <code>Engine</code> parameter is <code>redis</code>.</p> 1864 */ SnapshotWindowHasBeenSet()1865 inline bool SnapshotWindowHasBeenSet() const { return m_snapshotWindowHasBeenSet; } 1866 1867 /** 1868 * <p>The daily time range (in UTC) during which ElastiCache begins taking a daily 1869 * snapshot of your node group (shard).</p> <p>Example: <code>05:00-09:00</code> 1870 * </p> <p>If you do not specify this parameter, ElastiCache automatically chooses 1871 * an appropriate time range.</p> <p>This parameter is only valid if the 1872 * <code>Engine</code> parameter is <code>redis</code>.</p> 1873 */ SetSnapshotWindow(const Aws::String & value)1874 inline void SetSnapshotWindow(const Aws::String& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = value; } 1875 1876 /** 1877 * <p>The daily time range (in UTC) during which ElastiCache begins taking a daily 1878 * snapshot of your node group (shard).</p> <p>Example: <code>05:00-09:00</code> 1879 * </p> <p>If you do not specify this parameter, ElastiCache automatically chooses 1880 * an appropriate time range.</p> <p>This parameter is only valid if the 1881 * <code>Engine</code> parameter is <code>redis</code>.</p> 1882 */ SetSnapshotWindow(Aws::String && value)1883 inline void SetSnapshotWindow(Aws::String&& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = std::move(value); } 1884 1885 /** 1886 * <p>The daily time range (in UTC) during which ElastiCache begins taking a daily 1887 * snapshot of your node group (shard).</p> <p>Example: <code>05:00-09:00</code> 1888 * </p> <p>If you do not specify this parameter, ElastiCache automatically chooses 1889 * an appropriate time range.</p> <p>This parameter is only valid if the 1890 * <code>Engine</code> parameter is <code>redis</code>.</p> 1891 */ SetSnapshotWindow(const char * value)1892 inline void SetSnapshotWindow(const char* value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow.assign(value); } 1893 1894 /** 1895 * <p>The daily time range (in UTC) during which ElastiCache begins taking a daily 1896 * snapshot of your node group (shard).</p> <p>Example: <code>05:00-09:00</code> 1897 * </p> <p>If you do not specify this parameter, ElastiCache automatically chooses 1898 * an appropriate time range.</p> <p>This parameter is only valid if the 1899 * <code>Engine</code> parameter is <code>redis</code>.</p> 1900 */ WithSnapshotWindow(const Aws::String & value)1901 inline CreateCacheClusterRequest& WithSnapshotWindow(const Aws::String& value) { SetSnapshotWindow(value); return *this;} 1902 1903 /** 1904 * <p>The daily time range (in UTC) during which ElastiCache begins taking a daily 1905 * snapshot of your node group (shard).</p> <p>Example: <code>05:00-09:00</code> 1906 * </p> <p>If you do not specify this parameter, ElastiCache automatically chooses 1907 * an appropriate time range.</p> <p>This parameter is only valid if the 1908 * <code>Engine</code> parameter is <code>redis</code>.</p> 1909 */ WithSnapshotWindow(Aws::String && value)1910 inline CreateCacheClusterRequest& WithSnapshotWindow(Aws::String&& value) { SetSnapshotWindow(std::move(value)); return *this;} 1911 1912 /** 1913 * <p>The daily time range (in UTC) during which ElastiCache begins taking a daily 1914 * snapshot of your node group (shard).</p> <p>Example: <code>05:00-09:00</code> 1915 * </p> <p>If you do not specify this parameter, ElastiCache automatically chooses 1916 * an appropriate time range.</p> <p>This parameter is only valid if the 1917 * <code>Engine</code> parameter is <code>redis</code>.</p> 1918 */ WithSnapshotWindow(const char * value)1919 inline CreateCacheClusterRequest& WithSnapshotWindow(const char* value) { SetSnapshotWindow(value); return *this;} 1920 1921 1922 /** 1923 * <p> <b>Reserved parameter.</b> The password used to access a password protected 1924 * server.</p> <p>Password constraints:</p> <ul> <li> <p>Must be only printable 1925 * ASCII characters.</p> </li> <li> <p>Must be at least 16 characters and no more 1926 * than 128 characters in length.</p> </li> <li> <p>The only permitted printable 1927 * special characters are !, &, #, $, ^, <, >, and -. Other printable 1928 * special characters cannot be used in the AUTH token.</p> </li> </ul> <p>For more 1929 * information, see <a href="http://redis.io/commands/AUTH">AUTH password</a> at 1930 * http://redis.io/commands/AUTH.</p> 1931 */ GetAuthToken()1932 inline const Aws::String& GetAuthToken() const{ return m_authToken; } 1933 1934 /** 1935 * <p> <b>Reserved parameter.</b> The password used to access a password protected 1936 * server.</p> <p>Password constraints:</p> <ul> <li> <p>Must be only printable 1937 * ASCII characters.</p> </li> <li> <p>Must be at least 16 characters and no more 1938 * than 128 characters in length.</p> </li> <li> <p>The only permitted printable 1939 * special characters are !, &, #, $, ^, <, >, and -. Other printable 1940 * special characters cannot be used in the AUTH token.</p> </li> </ul> <p>For more 1941 * information, see <a href="http://redis.io/commands/AUTH">AUTH password</a> at 1942 * http://redis.io/commands/AUTH.</p> 1943 */ AuthTokenHasBeenSet()1944 inline bool AuthTokenHasBeenSet() const { return m_authTokenHasBeenSet; } 1945 1946 /** 1947 * <p> <b>Reserved parameter.</b> The password used to access a password protected 1948 * server.</p> <p>Password constraints:</p> <ul> <li> <p>Must be only printable 1949 * ASCII characters.</p> </li> <li> <p>Must be at least 16 characters and no more 1950 * than 128 characters in length.</p> </li> <li> <p>The only permitted printable 1951 * special characters are !, &, #, $, ^, <, >, and -. Other printable 1952 * special characters cannot be used in the AUTH token.</p> </li> </ul> <p>For more 1953 * information, see <a href="http://redis.io/commands/AUTH">AUTH password</a> at 1954 * http://redis.io/commands/AUTH.</p> 1955 */ SetAuthToken(const Aws::String & value)1956 inline void SetAuthToken(const Aws::String& value) { m_authTokenHasBeenSet = true; m_authToken = value; } 1957 1958 /** 1959 * <p> <b>Reserved parameter.</b> The password used to access a password protected 1960 * server.</p> <p>Password constraints:</p> <ul> <li> <p>Must be only printable 1961 * ASCII characters.</p> </li> <li> <p>Must be at least 16 characters and no more 1962 * than 128 characters in length.</p> </li> <li> <p>The only permitted printable 1963 * special characters are !, &, #, $, ^, <, >, and -. Other printable 1964 * special characters cannot be used in the AUTH token.</p> </li> </ul> <p>For more 1965 * information, see <a href="http://redis.io/commands/AUTH">AUTH password</a> at 1966 * http://redis.io/commands/AUTH.</p> 1967 */ SetAuthToken(Aws::String && value)1968 inline void SetAuthToken(Aws::String&& value) { m_authTokenHasBeenSet = true; m_authToken = std::move(value); } 1969 1970 /** 1971 * <p> <b>Reserved parameter.</b> The password used to access a password protected 1972 * server.</p> <p>Password constraints:</p> <ul> <li> <p>Must be only printable 1973 * ASCII characters.</p> </li> <li> <p>Must be at least 16 characters and no more 1974 * than 128 characters in length.</p> </li> <li> <p>The only permitted printable 1975 * special characters are !, &, #, $, ^, <, >, and -. Other printable 1976 * special characters cannot be used in the AUTH token.</p> </li> </ul> <p>For more 1977 * information, see <a href="http://redis.io/commands/AUTH">AUTH password</a> at 1978 * http://redis.io/commands/AUTH.</p> 1979 */ SetAuthToken(const char * value)1980 inline void SetAuthToken(const char* value) { m_authTokenHasBeenSet = true; m_authToken.assign(value); } 1981 1982 /** 1983 * <p> <b>Reserved parameter.</b> The password used to access a password protected 1984 * server.</p> <p>Password constraints:</p> <ul> <li> <p>Must be only printable 1985 * ASCII characters.</p> </li> <li> <p>Must be at least 16 characters and no more 1986 * than 128 characters in length.</p> </li> <li> <p>The only permitted printable 1987 * special characters are !, &, #, $, ^, <, >, and -. Other printable 1988 * special characters cannot be used in the AUTH token.</p> </li> </ul> <p>For more 1989 * information, see <a href="http://redis.io/commands/AUTH">AUTH password</a> at 1990 * http://redis.io/commands/AUTH.</p> 1991 */ WithAuthToken(const Aws::String & value)1992 inline CreateCacheClusterRequest& WithAuthToken(const Aws::String& value) { SetAuthToken(value); return *this;} 1993 1994 /** 1995 * <p> <b>Reserved parameter.</b> The password used to access a password protected 1996 * server.</p> <p>Password constraints:</p> <ul> <li> <p>Must be only printable 1997 * ASCII characters.</p> </li> <li> <p>Must be at least 16 characters and no more 1998 * than 128 characters in length.</p> </li> <li> <p>The only permitted printable 1999 * special characters are !, &, #, $, ^, <, >, and -. Other printable 2000 * special characters cannot be used in the AUTH token.</p> </li> </ul> <p>For more 2001 * information, see <a href="http://redis.io/commands/AUTH">AUTH password</a> at 2002 * http://redis.io/commands/AUTH.</p> 2003 */ WithAuthToken(Aws::String && value)2004 inline CreateCacheClusterRequest& WithAuthToken(Aws::String&& value) { SetAuthToken(std::move(value)); return *this;} 2005 2006 /** 2007 * <p> <b>Reserved parameter.</b> The password used to access a password protected 2008 * server.</p> <p>Password constraints:</p> <ul> <li> <p>Must be only printable 2009 * ASCII characters.</p> </li> <li> <p>Must be at least 16 characters and no more 2010 * than 128 characters in length.</p> </li> <li> <p>The only permitted printable 2011 * special characters are !, &, #, $, ^, <, >, and -. Other printable 2012 * special characters cannot be used in the AUTH token.</p> </li> </ul> <p>For more 2013 * information, see <a href="http://redis.io/commands/AUTH">AUTH password</a> at 2014 * http://redis.io/commands/AUTH.</p> 2015 */ WithAuthToken(const char * value)2016 inline CreateCacheClusterRequest& WithAuthToken(const char* value) { SetAuthToken(value); return *this;} 2017 2018 2019 /** 2020 * <p>Specifies whether the nodes in the cluster are created in a single outpost or 2021 * across multiple outposts.</p> 2022 */ GetOutpostMode()2023 inline const OutpostMode& GetOutpostMode() const{ return m_outpostMode; } 2024 2025 /** 2026 * <p>Specifies whether the nodes in the cluster are created in a single outpost or 2027 * across multiple outposts.</p> 2028 */ OutpostModeHasBeenSet()2029 inline bool OutpostModeHasBeenSet() const { return m_outpostModeHasBeenSet; } 2030 2031 /** 2032 * <p>Specifies whether the nodes in the cluster are created in a single outpost or 2033 * across multiple outposts.</p> 2034 */ SetOutpostMode(const OutpostMode & value)2035 inline void SetOutpostMode(const OutpostMode& value) { m_outpostModeHasBeenSet = true; m_outpostMode = value; } 2036 2037 /** 2038 * <p>Specifies whether the nodes in the cluster are created in a single outpost or 2039 * across multiple outposts.</p> 2040 */ SetOutpostMode(OutpostMode && value)2041 inline void SetOutpostMode(OutpostMode&& value) { m_outpostModeHasBeenSet = true; m_outpostMode = std::move(value); } 2042 2043 /** 2044 * <p>Specifies whether the nodes in the cluster are created in a single outpost or 2045 * across multiple outposts.</p> 2046 */ WithOutpostMode(const OutpostMode & value)2047 inline CreateCacheClusterRequest& WithOutpostMode(const OutpostMode& value) { SetOutpostMode(value); return *this;} 2048 2049 /** 2050 * <p>Specifies whether the nodes in the cluster are created in a single outpost or 2051 * across multiple outposts.</p> 2052 */ WithOutpostMode(OutpostMode && value)2053 inline CreateCacheClusterRequest& WithOutpostMode(OutpostMode&& value) { SetOutpostMode(std::move(value)); return *this;} 2054 2055 2056 /** 2057 * <p>The outpost ARN in which the cache cluster is created.</p> 2058 */ GetPreferredOutpostArn()2059 inline const Aws::String& GetPreferredOutpostArn() const{ return m_preferredOutpostArn; } 2060 2061 /** 2062 * <p>The outpost ARN in which the cache cluster is created.</p> 2063 */ PreferredOutpostArnHasBeenSet()2064 inline bool PreferredOutpostArnHasBeenSet() const { return m_preferredOutpostArnHasBeenSet; } 2065 2066 /** 2067 * <p>The outpost ARN in which the cache cluster is created.</p> 2068 */ SetPreferredOutpostArn(const Aws::String & value)2069 inline void SetPreferredOutpostArn(const Aws::String& value) { m_preferredOutpostArnHasBeenSet = true; m_preferredOutpostArn = value; } 2070 2071 /** 2072 * <p>The outpost ARN in which the cache cluster is created.</p> 2073 */ SetPreferredOutpostArn(Aws::String && value)2074 inline void SetPreferredOutpostArn(Aws::String&& value) { m_preferredOutpostArnHasBeenSet = true; m_preferredOutpostArn = std::move(value); } 2075 2076 /** 2077 * <p>The outpost ARN in which the cache cluster is created.</p> 2078 */ SetPreferredOutpostArn(const char * value)2079 inline void SetPreferredOutpostArn(const char* value) { m_preferredOutpostArnHasBeenSet = true; m_preferredOutpostArn.assign(value); } 2080 2081 /** 2082 * <p>The outpost ARN in which the cache cluster is created.</p> 2083 */ WithPreferredOutpostArn(const Aws::String & value)2084 inline CreateCacheClusterRequest& WithPreferredOutpostArn(const Aws::String& value) { SetPreferredOutpostArn(value); return *this;} 2085 2086 /** 2087 * <p>The outpost ARN in which the cache cluster is created.</p> 2088 */ WithPreferredOutpostArn(Aws::String && value)2089 inline CreateCacheClusterRequest& WithPreferredOutpostArn(Aws::String&& value) { SetPreferredOutpostArn(std::move(value)); return *this;} 2090 2091 /** 2092 * <p>The outpost ARN in which the cache cluster is created.</p> 2093 */ WithPreferredOutpostArn(const char * value)2094 inline CreateCacheClusterRequest& WithPreferredOutpostArn(const char* value) { SetPreferredOutpostArn(value); return *this;} 2095 2096 2097 /** 2098 * <p>The outpost ARNs in which the cache cluster is created.</p> 2099 */ GetPreferredOutpostArns()2100 inline const Aws::Vector<Aws::String>& GetPreferredOutpostArns() const{ return m_preferredOutpostArns; } 2101 2102 /** 2103 * <p>The outpost ARNs in which the cache cluster is created.</p> 2104 */ PreferredOutpostArnsHasBeenSet()2105 inline bool PreferredOutpostArnsHasBeenSet() const { return m_preferredOutpostArnsHasBeenSet; } 2106 2107 /** 2108 * <p>The outpost ARNs in which the cache cluster is created.</p> 2109 */ SetPreferredOutpostArns(const Aws::Vector<Aws::String> & value)2110 inline void SetPreferredOutpostArns(const Aws::Vector<Aws::String>& value) { m_preferredOutpostArnsHasBeenSet = true; m_preferredOutpostArns = value; } 2111 2112 /** 2113 * <p>The outpost ARNs in which the cache cluster is created.</p> 2114 */ SetPreferredOutpostArns(Aws::Vector<Aws::String> && value)2115 inline void SetPreferredOutpostArns(Aws::Vector<Aws::String>&& value) { m_preferredOutpostArnsHasBeenSet = true; m_preferredOutpostArns = std::move(value); } 2116 2117 /** 2118 * <p>The outpost ARNs in which the cache cluster is created.</p> 2119 */ WithPreferredOutpostArns(const Aws::Vector<Aws::String> & value)2120 inline CreateCacheClusterRequest& WithPreferredOutpostArns(const Aws::Vector<Aws::String>& value) { SetPreferredOutpostArns(value); return *this;} 2121 2122 /** 2123 * <p>The outpost ARNs in which the cache cluster is created.</p> 2124 */ WithPreferredOutpostArns(Aws::Vector<Aws::String> && value)2125 inline CreateCacheClusterRequest& WithPreferredOutpostArns(Aws::Vector<Aws::String>&& value) { SetPreferredOutpostArns(std::move(value)); return *this;} 2126 2127 /** 2128 * <p>The outpost ARNs in which the cache cluster is created.</p> 2129 */ AddPreferredOutpostArns(const Aws::String & value)2130 inline CreateCacheClusterRequest& AddPreferredOutpostArns(const Aws::String& value) { m_preferredOutpostArnsHasBeenSet = true; m_preferredOutpostArns.push_back(value); return *this; } 2131 2132 /** 2133 * <p>The outpost ARNs in which the cache cluster is created.</p> 2134 */ AddPreferredOutpostArns(Aws::String && value)2135 inline CreateCacheClusterRequest& AddPreferredOutpostArns(Aws::String&& value) { m_preferredOutpostArnsHasBeenSet = true; m_preferredOutpostArns.push_back(std::move(value)); return *this; } 2136 2137 /** 2138 * <p>The outpost ARNs in which the cache cluster is created.</p> 2139 */ AddPreferredOutpostArns(const char * value)2140 inline CreateCacheClusterRequest& AddPreferredOutpostArns(const char* value) { m_preferredOutpostArnsHasBeenSet = true; m_preferredOutpostArns.push_back(value); return *this; } 2141 2142 2143 /** 2144 * <p>Specifies the destination, format and type of the logs. </p> 2145 */ GetLogDeliveryConfigurations()2146 inline const Aws::Vector<LogDeliveryConfigurationRequest>& GetLogDeliveryConfigurations() const{ return m_logDeliveryConfigurations; } 2147 2148 /** 2149 * <p>Specifies the destination, format and type of the logs. </p> 2150 */ LogDeliveryConfigurationsHasBeenSet()2151 inline bool LogDeliveryConfigurationsHasBeenSet() const { return m_logDeliveryConfigurationsHasBeenSet; } 2152 2153 /** 2154 * <p>Specifies the destination, format and type of the logs. </p> 2155 */ SetLogDeliveryConfigurations(const Aws::Vector<LogDeliveryConfigurationRequest> & value)2156 inline void SetLogDeliveryConfigurations(const Aws::Vector<LogDeliveryConfigurationRequest>& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations = value; } 2157 2158 /** 2159 * <p>Specifies the destination, format and type of the logs. </p> 2160 */ SetLogDeliveryConfigurations(Aws::Vector<LogDeliveryConfigurationRequest> && value)2161 inline void SetLogDeliveryConfigurations(Aws::Vector<LogDeliveryConfigurationRequest>&& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations = std::move(value); } 2162 2163 /** 2164 * <p>Specifies the destination, format and type of the logs. </p> 2165 */ WithLogDeliveryConfigurations(const Aws::Vector<LogDeliveryConfigurationRequest> & value)2166 inline CreateCacheClusterRequest& WithLogDeliveryConfigurations(const Aws::Vector<LogDeliveryConfigurationRequest>& value) { SetLogDeliveryConfigurations(value); return *this;} 2167 2168 /** 2169 * <p>Specifies the destination, format and type of the logs. </p> 2170 */ WithLogDeliveryConfigurations(Aws::Vector<LogDeliveryConfigurationRequest> && value)2171 inline CreateCacheClusterRequest& WithLogDeliveryConfigurations(Aws::Vector<LogDeliveryConfigurationRequest>&& value) { SetLogDeliveryConfigurations(std::move(value)); return *this;} 2172 2173 /** 2174 * <p>Specifies the destination, format and type of the logs. </p> 2175 */ AddLogDeliveryConfigurations(const LogDeliveryConfigurationRequest & value)2176 inline CreateCacheClusterRequest& AddLogDeliveryConfigurations(const LogDeliveryConfigurationRequest& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations.push_back(value); return *this; } 2177 2178 /** 2179 * <p>Specifies the destination, format and type of the logs. </p> 2180 */ AddLogDeliveryConfigurations(LogDeliveryConfigurationRequest && value)2181 inline CreateCacheClusterRequest& AddLogDeliveryConfigurations(LogDeliveryConfigurationRequest&& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations.push_back(std::move(value)); return *this; } 2182 2183 private: 2184 2185 Aws::String m_cacheClusterId; 2186 bool m_cacheClusterIdHasBeenSet; 2187 2188 Aws::String m_replicationGroupId; 2189 bool m_replicationGroupIdHasBeenSet; 2190 2191 AZMode m_aZMode; 2192 bool m_aZModeHasBeenSet; 2193 2194 Aws::String m_preferredAvailabilityZone; 2195 bool m_preferredAvailabilityZoneHasBeenSet; 2196 2197 Aws::Vector<Aws::String> m_preferredAvailabilityZones; 2198 bool m_preferredAvailabilityZonesHasBeenSet; 2199 2200 int m_numCacheNodes; 2201 bool m_numCacheNodesHasBeenSet; 2202 2203 Aws::String m_cacheNodeType; 2204 bool m_cacheNodeTypeHasBeenSet; 2205 2206 Aws::String m_engine; 2207 bool m_engineHasBeenSet; 2208 2209 Aws::String m_engineVersion; 2210 bool m_engineVersionHasBeenSet; 2211 2212 Aws::String m_cacheParameterGroupName; 2213 bool m_cacheParameterGroupNameHasBeenSet; 2214 2215 Aws::String m_cacheSubnetGroupName; 2216 bool m_cacheSubnetGroupNameHasBeenSet; 2217 2218 Aws::Vector<Aws::String> m_cacheSecurityGroupNames; 2219 bool m_cacheSecurityGroupNamesHasBeenSet; 2220 2221 Aws::Vector<Aws::String> m_securityGroupIds; 2222 bool m_securityGroupIdsHasBeenSet; 2223 2224 Aws::Vector<Tag> m_tags; 2225 bool m_tagsHasBeenSet; 2226 2227 Aws::Vector<Aws::String> m_snapshotArns; 2228 bool m_snapshotArnsHasBeenSet; 2229 2230 Aws::String m_snapshotName; 2231 bool m_snapshotNameHasBeenSet; 2232 2233 Aws::String m_preferredMaintenanceWindow; 2234 bool m_preferredMaintenanceWindowHasBeenSet; 2235 2236 int m_port; 2237 bool m_portHasBeenSet; 2238 2239 Aws::String m_notificationTopicArn; 2240 bool m_notificationTopicArnHasBeenSet; 2241 2242 bool m_autoMinorVersionUpgrade; 2243 bool m_autoMinorVersionUpgradeHasBeenSet; 2244 2245 int m_snapshotRetentionLimit; 2246 bool m_snapshotRetentionLimitHasBeenSet; 2247 2248 Aws::String m_snapshotWindow; 2249 bool m_snapshotWindowHasBeenSet; 2250 2251 Aws::String m_authToken; 2252 bool m_authTokenHasBeenSet; 2253 2254 OutpostMode m_outpostMode; 2255 bool m_outpostModeHasBeenSet; 2256 2257 Aws::String m_preferredOutpostArn; 2258 bool m_preferredOutpostArnHasBeenSet; 2259 2260 Aws::Vector<Aws::String> m_preferredOutpostArns; 2261 bool m_preferredOutpostArnsHasBeenSet; 2262 2263 Aws::Vector<LogDeliveryConfigurationRequest> m_logDeliveryConfigurations; 2264 bool m_logDeliveryConfigurationsHasBeenSet; 2265 }; 2266 2267 } // namespace Model 2268 } // namespace ElastiCache 2269 } // namespace Aws 2270