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

Represents the input of a ModifyCacheCluster * operation.

See Also:

AWS * API Reference

*/ class ModifyCacheClusterRequest : public ElastiCacheRequest { public: AWS_ELASTICACHE_API ModifyCacheClusterRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ModifyCacheCluster"; } AWS_ELASTICACHE_API Aws::String SerializePayload() const override; protected: AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The cluster identifier. This value is stored as a lowercase string.

*/ inline const Aws::String& GetCacheClusterId() const{ return m_cacheClusterId; } /** *

The cluster identifier. This value is stored as a lowercase string.

*/ inline bool CacheClusterIdHasBeenSet() const { return m_cacheClusterIdHasBeenSet; } /** *

The cluster identifier. This value is stored as a lowercase string.

*/ inline void SetCacheClusterId(const Aws::String& value) { m_cacheClusterIdHasBeenSet = true; m_cacheClusterId = value; } /** *

The cluster identifier. This value is stored as a lowercase string.

*/ inline void SetCacheClusterId(Aws::String&& value) { m_cacheClusterIdHasBeenSet = true; m_cacheClusterId = std::move(value); } /** *

The cluster identifier. This value is stored as a lowercase string.

*/ inline void SetCacheClusterId(const char* value) { m_cacheClusterIdHasBeenSet = true; m_cacheClusterId.assign(value); } /** *

The cluster identifier. This value is stored as a lowercase string.

*/ inline ModifyCacheClusterRequest& WithCacheClusterId(const Aws::String& value) { SetCacheClusterId(value); return *this;} /** *

The cluster identifier. This value is stored as a lowercase string.

*/ inline ModifyCacheClusterRequest& WithCacheClusterId(Aws::String&& value) { SetCacheClusterId(std::move(value)); return *this;} /** *

The cluster identifier. This value is stored as a lowercase string.

*/ inline ModifyCacheClusterRequest& WithCacheClusterId(const char* value) { SetCacheClusterId(value); return *this;} /** *

The number of cache nodes that the cluster should have. If the value for * NumCacheNodes is greater than the sum of the number of current * cache nodes and the number of cache nodes pending creation (which may be zero), * more nodes are added. If the value is less than the number of existing cache * nodes, nodes are removed. If the value is equal to the number of current cache * nodes, any pending add or remove requests are canceled.

If you are * removing cache nodes, you must use the CacheNodeIdsToRemove * parameter to provide the IDs of the specific cache nodes to remove.

For * clusters running Redis, this value must be 1. For clusters running Memcached, * this value must be between 1 and 40.

Adding or removing Memcached * cache nodes can be applied immediately or as a pending operation (see * ApplyImmediately).

A pending operation to modify the number * of cache nodes in a cluster during its maintenance window, whether by adding or * removing nodes in accordance with the scale out architecture, is not queued. The * customer's latest request to add or remove nodes to the cluster overrides any * previous pending operations to modify the number of cache nodes in the cluster. * For example, a request to remove 2 nodes would override a previous pending * operation to remove 3 nodes. Similarly, a request to add 2 nodes would override * a previous pending operation to remove 3 nodes and vice versa. As Memcached * cache nodes may now be provisioned in different Availability Zones with flexible * cache node placement, a request to add nodes does not automatically override a * previous pending operation to add nodes. The customer can modify the previous * pending operation to add more nodes or explicitly cancel the pending request and * retry the new request. To cancel pending operations to modify the number of * cache nodes in a cluster, use the ModifyCacheCluster request and * set NumCacheNodes equal to the number of cache nodes currently in * the cluster.

*/ inline int GetNumCacheNodes() const{ return m_numCacheNodes; } /** *

The number of cache nodes that the cluster should have. If the value for * NumCacheNodes is greater than the sum of the number of current * cache nodes and the number of cache nodes pending creation (which may be zero), * more nodes are added. If the value is less than the number of existing cache * nodes, nodes are removed. If the value is equal to the number of current cache * nodes, any pending add or remove requests are canceled.

If you are * removing cache nodes, you must use the CacheNodeIdsToRemove * parameter to provide the IDs of the specific cache nodes to remove.

For * clusters running Redis, this value must be 1. For clusters running Memcached, * this value must be between 1 and 40.

Adding or removing Memcached * cache nodes can be applied immediately or as a pending operation (see * ApplyImmediately).

A pending operation to modify the number * of cache nodes in a cluster during its maintenance window, whether by adding or * removing nodes in accordance with the scale out architecture, is not queued. The * customer's latest request to add or remove nodes to the cluster overrides any * previous pending operations to modify the number of cache nodes in the cluster. * For example, a request to remove 2 nodes would override a previous pending * operation to remove 3 nodes. Similarly, a request to add 2 nodes would override * a previous pending operation to remove 3 nodes and vice versa. As Memcached * cache nodes may now be provisioned in different Availability Zones with flexible * cache node placement, a request to add nodes does not automatically override a * previous pending operation to add nodes. The customer can modify the previous * pending operation to add more nodes or explicitly cancel the pending request and * retry the new request. To cancel pending operations to modify the number of * cache nodes in a cluster, use the ModifyCacheCluster request and * set NumCacheNodes equal to the number of cache nodes currently in * the cluster.

*/ inline bool NumCacheNodesHasBeenSet() const { return m_numCacheNodesHasBeenSet; } /** *

The number of cache nodes that the cluster should have. If the value for * NumCacheNodes is greater than the sum of the number of current * cache nodes and the number of cache nodes pending creation (which may be zero), * more nodes are added. If the value is less than the number of existing cache * nodes, nodes are removed. If the value is equal to the number of current cache * nodes, any pending add or remove requests are canceled.

If you are * removing cache nodes, you must use the CacheNodeIdsToRemove * parameter to provide the IDs of the specific cache nodes to remove.

For * clusters running Redis, this value must be 1. For clusters running Memcached, * this value must be between 1 and 40.

Adding or removing Memcached * cache nodes can be applied immediately or as a pending operation (see * ApplyImmediately).

A pending operation to modify the number * of cache nodes in a cluster during its maintenance window, whether by adding or * removing nodes in accordance with the scale out architecture, is not queued. The * customer's latest request to add or remove nodes to the cluster overrides any * previous pending operations to modify the number of cache nodes in the cluster. * For example, a request to remove 2 nodes would override a previous pending * operation to remove 3 nodes. Similarly, a request to add 2 nodes would override * a previous pending operation to remove 3 nodes and vice versa. As Memcached * cache nodes may now be provisioned in different Availability Zones with flexible * cache node placement, a request to add nodes does not automatically override a * previous pending operation to add nodes. The customer can modify the previous * pending operation to add more nodes or explicitly cancel the pending request and * retry the new request. To cancel pending operations to modify the number of * cache nodes in a cluster, use the ModifyCacheCluster request and * set NumCacheNodes equal to the number of cache nodes currently in * the cluster.

*/ inline void SetNumCacheNodes(int value) { m_numCacheNodesHasBeenSet = true; m_numCacheNodes = value; } /** *

The number of cache nodes that the cluster should have. If the value for * NumCacheNodes is greater than the sum of the number of current * cache nodes and the number of cache nodes pending creation (which may be zero), * more nodes are added. If the value is less than the number of existing cache * nodes, nodes are removed. If the value is equal to the number of current cache * nodes, any pending add or remove requests are canceled.

If you are * removing cache nodes, you must use the CacheNodeIdsToRemove * parameter to provide the IDs of the specific cache nodes to remove.

For * clusters running Redis, this value must be 1. For clusters running Memcached, * this value must be between 1 and 40.

Adding or removing Memcached * cache nodes can be applied immediately or as a pending operation (see * ApplyImmediately).

A pending operation to modify the number * of cache nodes in a cluster during its maintenance window, whether by adding or * removing nodes in accordance with the scale out architecture, is not queued. The * customer's latest request to add or remove nodes to the cluster overrides any * previous pending operations to modify the number of cache nodes in the cluster. * For example, a request to remove 2 nodes would override a previous pending * operation to remove 3 nodes. Similarly, a request to add 2 nodes would override * a previous pending operation to remove 3 nodes and vice versa. As Memcached * cache nodes may now be provisioned in different Availability Zones with flexible * cache node placement, a request to add nodes does not automatically override a * previous pending operation to add nodes. The customer can modify the previous * pending operation to add more nodes or explicitly cancel the pending request and * retry the new request. To cancel pending operations to modify the number of * cache nodes in a cluster, use the ModifyCacheCluster request and * set NumCacheNodes equal to the number of cache nodes currently in * the cluster.

*/ inline ModifyCacheClusterRequest& WithNumCacheNodes(int value) { SetNumCacheNodes(value); return *this;} /** *

A list of cache node IDs to be removed. A node ID is a numeric identifier * (0001, 0002, etc.). This parameter is only valid when NumCacheNodes * is less than the existing number of cache nodes. The number of cache node IDs * supplied in this parameter must match the difference between the existing number * of cache nodes in the cluster or pending cache nodes, whichever is greater, and * the value of NumCacheNodes in the request.

For example: If * you have 3 active cache nodes, 7 pending cache nodes, and the number of cache * nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) * cache node IDs to remove.

*/ inline const Aws::Vector& GetCacheNodeIdsToRemove() const{ return m_cacheNodeIdsToRemove; } /** *

A list of cache node IDs to be removed. A node ID is a numeric identifier * (0001, 0002, etc.). This parameter is only valid when NumCacheNodes * is less than the existing number of cache nodes. The number of cache node IDs * supplied in this parameter must match the difference between the existing number * of cache nodes in the cluster or pending cache nodes, whichever is greater, and * the value of NumCacheNodes in the request.

For example: If * you have 3 active cache nodes, 7 pending cache nodes, and the number of cache * nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) * cache node IDs to remove.

*/ inline bool CacheNodeIdsToRemoveHasBeenSet() const { return m_cacheNodeIdsToRemoveHasBeenSet; } /** *

A list of cache node IDs to be removed. A node ID is a numeric identifier * (0001, 0002, etc.). This parameter is only valid when NumCacheNodes * is less than the existing number of cache nodes. The number of cache node IDs * supplied in this parameter must match the difference between the existing number * of cache nodes in the cluster or pending cache nodes, whichever is greater, and * the value of NumCacheNodes in the request.

For example: If * you have 3 active cache nodes, 7 pending cache nodes, and the number of cache * nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) * cache node IDs to remove.

*/ inline void SetCacheNodeIdsToRemove(const Aws::Vector& value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove = value; } /** *

A list of cache node IDs to be removed. A node ID is a numeric identifier * (0001, 0002, etc.). This parameter is only valid when NumCacheNodes * is less than the existing number of cache nodes. The number of cache node IDs * supplied in this parameter must match the difference between the existing number * of cache nodes in the cluster or pending cache nodes, whichever is greater, and * the value of NumCacheNodes in the request.

For example: If * you have 3 active cache nodes, 7 pending cache nodes, and the number of cache * nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) * cache node IDs to remove.

*/ inline void SetCacheNodeIdsToRemove(Aws::Vector&& value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove = std::move(value); } /** *

A list of cache node IDs to be removed. A node ID is a numeric identifier * (0001, 0002, etc.). This parameter is only valid when NumCacheNodes * is less than the existing number of cache nodes. The number of cache node IDs * supplied in this parameter must match the difference between the existing number * of cache nodes in the cluster or pending cache nodes, whichever is greater, and * the value of NumCacheNodes in the request.

For example: If * you have 3 active cache nodes, 7 pending cache nodes, and the number of cache * nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) * cache node IDs to remove.

*/ inline ModifyCacheClusterRequest& WithCacheNodeIdsToRemove(const Aws::Vector& value) { SetCacheNodeIdsToRemove(value); return *this;} /** *

A list of cache node IDs to be removed. A node ID is a numeric identifier * (0001, 0002, etc.). This parameter is only valid when NumCacheNodes * is less than the existing number of cache nodes. The number of cache node IDs * supplied in this parameter must match the difference between the existing number * of cache nodes in the cluster or pending cache nodes, whichever is greater, and * the value of NumCacheNodes in the request.

For example: If * you have 3 active cache nodes, 7 pending cache nodes, and the number of cache * nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) * cache node IDs to remove.

*/ inline ModifyCacheClusterRequest& WithCacheNodeIdsToRemove(Aws::Vector&& value) { SetCacheNodeIdsToRemove(std::move(value)); return *this;} /** *

A list of cache node IDs to be removed. A node ID is a numeric identifier * (0001, 0002, etc.). This parameter is only valid when NumCacheNodes * is less than the existing number of cache nodes. The number of cache node IDs * supplied in this parameter must match the difference between the existing number * of cache nodes in the cluster or pending cache nodes, whichever is greater, and * the value of NumCacheNodes in the request.

For example: If * you have 3 active cache nodes, 7 pending cache nodes, and the number of cache * nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) * cache node IDs to remove.

*/ inline ModifyCacheClusterRequest& AddCacheNodeIdsToRemove(const Aws::String& value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove.push_back(value); return *this; } /** *

A list of cache node IDs to be removed. A node ID is a numeric identifier * (0001, 0002, etc.). This parameter is only valid when NumCacheNodes * is less than the existing number of cache nodes. The number of cache node IDs * supplied in this parameter must match the difference between the existing number * of cache nodes in the cluster or pending cache nodes, whichever is greater, and * the value of NumCacheNodes in the request.

For example: If * you have 3 active cache nodes, 7 pending cache nodes, and the number of cache * nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) * cache node IDs to remove.

*/ inline ModifyCacheClusterRequest& AddCacheNodeIdsToRemove(Aws::String&& value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove.push_back(std::move(value)); return *this; } /** *

A list of cache node IDs to be removed. A node ID is a numeric identifier * (0001, 0002, etc.). This parameter is only valid when NumCacheNodes * is less than the existing number of cache nodes. The number of cache node IDs * supplied in this parameter must match the difference between the existing number * of cache nodes in the cluster or pending cache nodes, whichever is greater, and * the value of NumCacheNodes in the request.

For example: If * you have 3 active cache nodes, 7 pending cache nodes, and the number of cache * nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) * cache node IDs to remove.

*/ inline ModifyCacheClusterRequest& AddCacheNodeIdsToRemove(const char* value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove.push_back(value); return *this; } /** *

Specifies whether the new nodes in this Memcached cluster are all created in * a single Availability Zone or created across multiple Availability Zones.

*

Valid values: single-az | cross-az.

This * option is only supported for Memcached clusters.

You cannot * specify single-az if the Memcached cluster already has cache nodes * in different Availability Zones. If cross-az is specified, existing * Memcached nodes remain in their current Availability Zone.

Only newly * created nodes are located in different Availability Zones.

*/ inline const AZMode& GetAZMode() const{ return m_aZMode; } /** *

Specifies whether the new nodes in this Memcached cluster are all created in * a single Availability Zone or created across multiple Availability Zones.

*

Valid values: single-az | cross-az.

This * option is only supported for Memcached clusters.

You cannot * specify single-az if the Memcached cluster already has cache nodes * in different Availability Zones. If cross-az is specified, existing * Memcached nodes remain in their current Availability Zone.

Only newly * created nodes are located in different Availability Zones.

*/ inline bool AZModeHasBeenSet() const { return m_aZModeHasBeenSet; } /** *

Specifies whether the new nodes in this Memcached cluster are all created in * a single Availability Zone or created across multiple Availability Zones.

*

Valid values: single-az | cross-az.

This * option is only supported for Memcached clusters.

You cannot * specify single-az if the Memcached cluster already has cache nodes * in different Availability Zones. If cross-az is specified, existing * Memcached nodes remain in their current Availability Zone.

Only newly * created nodes are located in different Availability Zones.

*/ inline void SetAZMode(const AZMode& value) { m_aZModeHasBeenSet = true; m_aZMode = value; } /** *

Specifies whether the new nodes in this Memcached cluster are all created in * a single Availability Zone or created across multiple Availability Zones.

*

Valid values: single-az | cross-az.

This * option is only supported for Memcached clusters.

You cannot * specify single-az if the Memcached cluster already has cache nodes * in different Availability Zones. If cross-az is specified, existing * Memcached nodes remain in their current Availability Zone.

Only newly * created nodes are located in different Availability Zones.

*/ inline void SetAZMode(AZMode&& value) { m_aZModeHasBeenSet = true; m_aZMode = std::move(value); } /** *

Specifies whether the new nodes in this Memcached cluster are all created in * a single Availability Zone or created across multiple Availability Zones.

*

Valid values: single-az | cross-az.

This * option is only supported for Memcached clusters.

You cannot * specify single-az if the Memcached cluster already has cache nodes * in different Availability Zones. If cross-az is specified, existing * Memcached nodes remain in their current Availability Zone.

Only newly * created nodes are located in different Availability Zones.

*/ inline ModifyCacheClusterRequest& WithAZMode(const AZMode& value) { SetAZMode(value); return *this;} /** *

Specifies whether the new nodes in this Memcached cluster are all created in * a single Availability Zone or created across multiple Availability Zones.

*

Valid values: single-az | cross-az.

This * option is only supported for Memcached clusters.

You cannot * specify single-az if the Memcached cluster already has cache nodes * in different Availability Zones. If cross-az is specified, existing * Memcached nodes remain in their current Availability Zone.

Only newly * created nodes are located in different Availability Zones.

*/ inline ModifyCacheClusterRequest& WithAZMode(AZMode&& value) { SetAZMode(std::move(value)); return *this;} /** *

This option is only supported on Memcached clusters.

*

The list of Availability Zones where the new Memcached cache nodes are * created.

This parameter is only valid when NumCacheNodes in * the request is greater than the sum of the number of active cache nodes and the * number of cache nodes pending creation (which may be zero). The number of * Availability Zones supplied in this list must match the cache nodes being added * in this request.

Scenarios:

  • Scenario 1: You have * 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 * + 2) and optionally specify two Availability Zones for the two new nodes.

    *
  • Scenario 2: You have 3 active nodes and 2 nodes pending * creation (from the scenario 1 call) and want to add 1 more node. Specify * NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an * Availability Zone for the new node.

  • Scenario 3: You * want to cancel all pending operations. Specify NumCacheNodes=3 to * cancel all pending operations.

The Availability Zone * placement of nodes pending creation cannot be modified. If you wish to cancel * any nodes pending creation, add 0 nodes by setting NumCacheNodes to * the number of current nodes.

If cross-az is specified, * existing Memcached nodes remain in their current Availability Zone. Only newly * created nodes can be located in different Availability Zones. For guidance on * how to move existing Memcached nodes to different Availability Zones, see the * Availability Zone Considerations section of Cache * Node Considerations for Memcached.

Impact of new add/remove * requests upon pending requests

  • Scenario-1

    • *

      Pending Action: Delete

    • New Request: Delete

    • *

      Result: The new delete, pending or immediate, replaces the pending * delete.

  • Scenario-2

    • Pending * Action: Delete

    • New Request: Create

    • Result: * The new create, pending or immediate, replaces the pending delete.

    • *
  • Scenario-3

    • Pending Action: Create

    • *
    • New Request: Delete

    • Result: The new delete, pending or * immediate, replaces the pending create.

  • *

    Scenario-4

    • Pending Action: Create

    • New * Request: Create

    • Result: The new create is added to the pending * create.

      Important: If the new create request is * Apply Immediately - Yes, all creates are performed immediately. If the * new create request is Apply Immediately - No, all creates are * pending.

*/ inline const Aws::Vector& GetNewAvailabilityZones() const{ return m_newAvailabilityZones; } /** *

This option is only supported on Memcached clusters.

*

The list of Availability Zones where the new Memcached cache nodes are * created.

This parameter is only valid when NumCacheNodes in * the request is greater than the sum of the number of active cache nodes and the * number of cache nodes pending creation (which may be zero). The number of * Availability Zones supplied in this list must match the cache nodes being added * in this request.

Scenarios:

  • Scenario 1: You have * 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 * + 2) and optionally specify two Availability Zones for the two new nodes.

    *
  • Scenario 2: You have 3 active nodes and 2 nodes pending * creation (from the scenario 1 call) and want to add 1 more node. Specify * NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an * Availability Zone for the new node.

  • Scenario 3: You * want to cancel all pending operations. Specify NumCacheNodes=3 to * cancel all pending operations.

The Availability Zone * placement of nodes pending creation cannot be modified. If you wish to cancel * any nodes pending creation, add 0 nodes by setting NumCacheNodes to * the number of current nodes.

If cross-az is specified, * existing Memcached nodes remain in their current Availability Zone. Only newly * created nodes can be located in different Availability Zones. For guidance on * how to move existing Memcached nodes to different Availability Zones, see the * Availability Zone Considerations section of Cache * Node Considerations for Memcached.

Impact of new add/remove * requests upon pending requests

  • Scenario-1

    • *

      Pending Action: Delete

    • New Request: Delete

    • *

      Result: The new delete, pending or immediate, replaces the pending * delete.

  • Scenario-2

    • Pending * Action: Delete

    • New Request: Create

    • Result: * The new create, pending or immediate, replaces the pending delete.

    • *
  • Scenario-3

    • Pending Action: Create

    • *
    • New Request: Delete

    • Result: The new delete, pending or * immediate, replaces the pending create.

  • *

    Scenario-4

    • Pending Action: Create

    • New * Request: Create

    • Result: The new create is added to the pending * create.

      Important: If the new create request is * Apply Immediately - Yes, all creates are performed immediately. If the * new create request is Apply Immediately - No, all creates are * pending.

*/ inline bool NewAvailabilityZonesHasBeenSet() const { return m_newAvailabilityZonesHasBeenSet; } /** *

This option is only supported on Memcached clusters.

*

The list of Availability Zones where the new Memcached cache nodes are * created.

This parameter is only valid when NumCacheNodes in * the request is greater than the sum of the number of active cache nodes and the * number of cache nodes pending creation (which may be zero). The number of * Availability Zones supplied in this list must match the cache nodes being added * in this request.

Scenarios:

  • Scenario 1: You have * 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 * + 2) and optionally specify two Availability Zones for the two new nodes.

    *
  • Scenario 2: You have 3 active nodes and 2 nodes pending * creation (from the scenario 1 call) and want to add 1 more node. Specify * NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an * Availability Zone for the new node.

  • Scenario 3: You * want to cancel all pending operations. Specify NumCacheNodes=3 to * cancel all pending operations.

The Availability Zone * placement of nodes pending creation cannot be modified. If you wish to cancel * any nodes pending creation, add 0 nodes by setting NumCacheNodes to * the number of current nodes.

If cross-az is specified, * existing Memcached nodes remain in their current Availability Zone. Only newly * created nodes can be located in different Availability Zones. For guidance on * how to move existing Memcached nodes to different Availability Zones, see the * Availability Zone Considerations section of Cache * Node Considerations for Memcached.

Impact of new add/remove * requests upon pending requests

  • Scenario-1

    • *

      Pending Action: Delete

    • New Request: Delete

    • *

      Result: The new delete, pending or immediate, replaces the pending * delete.

  • Scenario-2

    • Pending * Action: Delete

    • New Request: Create

    • Result: * The new create, pending or immediate, replaces the pending delete.

    • *
  • Scenario-3

    • Pending Action: Create

    • *
    • New Request: Delete

    • Result: The new delete, pending or * immediate, replaces the pending create.

  • *

    Scenario-4

    • Pending Action: Create

    • New * Request: Create

    • Result: The new create is added to the pending * create.

      Important: If the new create request is * Apply Immediately - Yes, all creates are performed immediately. If the * new create request is Apply Immediately - No, all creates are * pending.

*/ inline void SetNewAvailabilityZones(const Aws::Vector& value) { m_newAvailabilityZonesHasBeenSet = true; m_newAvailabilityZones = value; } /** *

This option is only supported on Memcached clusters.

*

The list of Availability Zones where the new Memcached cache nodes are * created.

This parameter is only valid when NumCacheNodes in * the request is greater than the sum of the number of active cache nodes and the * number of cache nodes pending creation (which may be zero). The number of * Availability Zones supplied in this list must match the cache nodes being added * in this request.

Scenarios:

  • Scenario 1: You have * 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 * + 2) and optionally specify two Availability Zones for the two new nodes.

    *
  • Scenario 2: You have 3 active nodes and 2 nodes pending * creation (from the scenario 1 call) and want to add 1 more node. Specify * NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an * Availability Zone for the new node.

  • Scenario 3: You * want to cancel all pending operations. Specify NumCacheNodes=3 to * cancel all pending operations.

The Availability Zone * placement of nodes pending creation cannot be modified. If you wish to cancel * any nodes pending creation, add 0 nodes by setting NumCacheNodes to * the number of current nodes.

If cross-az is specified, * existing Memcached nodes remain in their current Availability Zone. Only newly * created nodes can be located in different Availability Zones. For guidance on * how to move existing Memcached nodes to different Availability Zones, see the * Availability Zone Considerations section of Cache * Node Considerations for Memcached.

Impact of new add/remove * requests upon pending requests

  • Scenario-1

    • *

      Pending Action: Delete

    • New Request: Delete

    • *

      Result: The new delete, pending or immediate, replaces the pending * delete.

  • Scenario-2

    • Pending * Action: Delete

    • New Request: Create

    • Result: * The new create, pending or immediate, replaces the pending delete.

    • *
  • Scenario-3

    • Pending Action: Create

    • *
    • New Request: Delete

    • Result: The new delete, pending or * immediate, replaces the pending create.

  • *

    Scenario-4

    • Pending Action: Create

    • New * Request: Create

    • Result: The new create is added to the pending * create.

      Important: If the new create request is * Apply Immediately - Yes, all creates are performed immediately. If the * new create request is Apply Immediately - No, all creates are * pending.

*/ inline void SetNewAvailabilityZones(Aws::Vector&& value) { m_newAvailabilityZonesHasBeenSet = true; m_newAvailabilityZones = std::move(value); } /** *

This option is only supported on Memcached clusters.

*

The list of Availability Zones where the new Memcached cache nodes are * created.

This parameter is only valid when NumCacheNodes in * the request is greater than the sum of the number of active cache nodes and the * number of cache nodes pending creation (which may be zero). The number of * Availability Zones supplied in this list must match the cache nodes being added * in this request.

Scenarios:

  • Scenario 1: You have * 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 * + 2) and optionally specify two Availability Zones for the two new nodes.

    *
  • Scenario 2: You have 3 active nodes and 2 nodes pending * creation (from the scenario 1 call) and want to add 1 more node. Specify * NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an * Availability Zone for the new node.

  • Scenario 3: You * want to cancel all pending operations. Specify NumCacheNodes=3 to * cancel all pending operations.

The Availability Zone * placement of nodes pending creation cannot be modified. If you wish to cancel * any nodes pending creation, add 0 nodes by setting NumCacheNodes to * the number of current nodes.

If cross-az is specified, * existing Memcached nodes remain in their current Availability Zone. Only newly * created nodes can be located in different Availability Zones. For guidance on * how to move existing Memcached nodes to different Availability Zones, see the * Availability Zone Considerations section of Cache * Node Considerations for Memcached.

Impact of new add/remove * requests upon pending requests

  • Scenario-1

    • *

      Pending Action: Delete

    • New Request: Delete

    • *

      Result: The new delete, pending or immediate, replaces the pending * delete.

  • Scenario-2

    • Pending * Action: Delete

    • New Request: Create

    • Result: * The new create, pending or immediate, replaces the pending delete.

    • *
  • Scenario-3

    • Pending Action: Create

    • *
    • New Request: Delete

    • Result: The new delete, pending or * immediate, replaces the pending create.

  • *

    Scenario-4

    • Pending Action: Create

    • New * Request: Create

    • Result: The new create is added to the pending * create.

      Important: If the new create request is * Apply Immediately - Yes, all creates are performed immediately. If the * new create request is Apply Immediately - No, all creates are * pending.

*/ inline ModifyCacheClusterRequest& WithNewAvailabilityZones(const Aws::Vector& value) { SetNewAvailabilityZones(value); return *this;} /** *

This option is only supported on Memcached clusters.

*

The list of Availability Zones where the new Memcached cache nodes are * created.

This parameter is only valid when NumCacheNodes in * the request is greater than the sum of the number of active cache nodes and the * number of cache nodes pending creation (which may be zero). The number of * Availability Zones supplied in this list must match the cache nodes being added * in this request.

Scenarios:

  • Scenario 1: You have * 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 * + 2) and optionally specify two Availability Zones for the two new nodes.

    *
  • Scenario 2: You have 3 active nodes and 2 nodes pending * creation (from the scenario 1 call) and want to add 1 more node. Specify * NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an * Availability Zone for the new node.

  • Scenario 3: You * want to cancel all pending operations. Specify NumCacheNodes=3 to * cancel all pending operations.

The Availability Zone * placement of nodes pending creation cannot be modified. If you wish to cancel * any nodes pending creation, add 0 nodes by setting NumCacheNodes to * the number of current nodes.

If cross-az is specified, * existing Memcached nodes remain in their current Availability Zone. Only newly * created nodes can be located in different Availability Zones. For guidance on * how to move existing Memcached nodes to different Availability Zones, see the * Availability Zone Considerations section of Cache * Node Considerations for Memcached.

Impact of new add/remove * requests upon pending requests

  • Scenario-1

    • *

      Pending Action: Delete

    • New Request: Delete

    • *

      Result: The new delete, pending or immediate, replaces the pending * delete.

  • Scenario-2

    • Pending * Action: Delete

    • New Request: Create

    • Result: * The new create, pending or immediate, replaces the pending delete.

    • *
  • Scenario-3

    • Pending Action: Create

    • *
    • New Request: Delete

    • Result: The new delete, pending or * immediate, replaces the pending create.

  • *

    Scenario-4

    • Pending Action: Create

    • New * Request: Create

    • Result: The new create is added to the pending * create.

      Important: If the new create request is * Apply Immediately - Yes, all creates are performed immediately. If the * new create request is Apply Immediately - No, all creates are * pending.

*/ inline ModifyCacheClusterRequest& WithNewAvailabilityZones(Aws::Vector&& value) { SetNewAvailabilityZones(std::move(value)); return *this;} /** *

This option is only supported on Memcached clusters.

*

The list of Availability Zones where the new Memcached cache nodes are * created.

This parameter is only valid when NumCacheNodes in * the request is greater than the sum of the number of active cache nodes and the * number of cache nodes pending creation (which may be zero). The number of * Availability Zones supplied in this list must match the cache nodes being added * in this request.

Scenarios:

  • Scenario 1: You have * 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 * + 2) and optionally specify two Availability Zones for the two new nodes.

    *
  • Scenario 2: You have 3 active nodes and 2 nodes pending * creation (from the scenario 1 call) and want to add 1 more node. Specify * NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an * Availability Zone for the new node.

  • Scenario 3: You * want to cancel all pending operations. Specify NumCacheNodes=3 to * cancel all pending operations.

The Availability Zone * placement of nodes pending creation cannot be modified. If you wish to cancel * any nodes pending creation, add 0 nodes by setting NumCacheNodes to * the number of current nodes.

If cross-az is specified, * existing Memcached nodes remain in their current Availability Zone. Only newly * created nodes can be located in different Availability Zones. For guidance on * how to move existing Memcached nodes to different Availability Zones, see the * Availability Zone Considerations section of Cache * Node Considerations for Memcached.

Impact of new add/remove * requests upon pending requests

  • Scenario-1

    • *

      Pending Action: Delete

    • New Request: Delete

    • *

      Result: The new delete, pending or immediate, replaces the pending * delete.

  • Scenario-2

    • Pending * Action: Delete

    • New Request: Create

    • Result: * The new create, pending or immediate, replaces the pending delete.

    • *
  • Scenario-3

    • Pending Action: Create

    • *
    • New Request: Delete

    • Result: The new delete, pending or * immediate, replaces the pending create.

  • *

    Scenario-4

    • Pending Action: Create

    • New * Request: Create

    • Result: The new create is added to the pending * create.

      Important: If the new create request is * Apply Immediately - Yes, all creates are performed immediately. If the * new create request is Apply Immediately - No, all creates are * pending.

*/ inline ModifyCacheClusterRequest& AddNewAvailabilityZones(const Aws::String& value) { m_newAvailabilityZonesHasBeenSet = true; m_newAvailabilityZones.push_back(value); return *this; } /** *

This option is only supported on Memcached clusters.

*

The list of Availability Zones where the new Memcached cache nodes are * created.

This parameter is only valid when NumCacheNodes in * the request is greater than the sum of the number of active cache nodes and the * number of cache nodes pending creation (which may be zero). The number of * Availability Zones supplied in this list must match the cache nodes being added * in this request.

Scenarios:

  • Scenario 1: You have * 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 * + 2) and optionally specify two Availability Zones for the two new nodes.

    *
  • Scenario 2: You have 3 active nodes and 2 nodes pending * creation (from the scenario 1 call) and want to add 1 more node. Specify * NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an * Availability Zone for the new node.

  • Scenario 3: You * want to cancel all pending operations. Specify NumCacheNodes=3 to * cancel all pending operations.

The Availability Zone * placement of nodes pending creation cannot be modified. If you wish to cancel * any nodes pending creation, add 0 nodes by setting NumCacheNodes to * the number of current nodes.

If cross-az is specified, * existing Memcached nodes remain in their current Availability Zone. Only newly * created nodes can be located in different Availability Zones. For guidance on * how to move existing Memcached nodes to different Availability Zones, see the * Availability Zone Considerations section of Cache * Node Considerations for Memcached.

Impact of new add/remove * requests upon pending requests

  • Scenario-1

    • *

      Pending Action: Delete

    • New Request: Delete

    • *

      Result: The new delete, pending or immediate, replaces the pending * delete.

  • Scenario-2

    • Pending * Action: Delete

    • New Request: Create

    • Result: * The new create, pending or immediate, replaces the pending delete.

    • *
  • Scenario-3

    • Pending Action: Create

    • *
    • New Request: Delete

    • Result: The new delete, pending or * immediate, replaces the pending create.

  • *

    Scenario-4

    • Pending Action: Create

    • New * Request: Create

    • Result: The new create is added to the pending * create.

      Important: If the new create request is * Apply Immediately - Yes, all creates are performed immediately. If the * new create request is Apply Immediately - No, all creates are * pending.

*/ inline ModifyCacheClusterRequest& AddNewAvailabilityZones(Aws::String&& value) { m_newAvailabilityZonesHasBeenSet = true; m_newAvailabilityZones.push_back(std::move(value)); return *this; } /** *

This option is only supported on Memcached clusters.

*

The list of Availability Zones where the new Memcached cache nodes are * created.

This parameter is only valid when NumCacheNodes in * the request is greater than the sum of the number of active cache nodes and the * number of cache nodes pending creation (which may be zero). The number of * Availability Zones supplied in this list must match the cache nodes being added * in this request.

Scenarios:

  • Scenario 1: You have * 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 * + 2) and optionally specify two Availability Zones for the two new nodes.

    *
  • Scenario 2: You have 3 active nodes and 2 nodes pending * creation (from the scenario 1 call) and want to add 1 more node. Specify * NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an * Availability Zone for the new node.

  • Scenario 3: You * want to cancel all pending operations. Specify NumCacheNodes=3 to * cancel all pending operations.

The Availability Zone * placement of nodes pending creation cannot be modified. If you wish to cancel * any nodes pending creation, add 0 nodes by setting NumCacheNodes to * the number of current nodes.

If cross-az is specified, * existing Memcached nodes remain in their current Availability Zone. Only newly * created nodes can be located in different Availability Zones. For guidance on * how to move existing Memcached nodes to different Availability Zones, see the * Availability Zone Considerations section of Cache * Node Considerations for Memcached.

Impact of new add/remove * requests upon pending requests

  • Scenario-1

    • *

      Pending Action: Delete

    • New Request: Delete

    • *

      Result: The new delete, pending or immediate, replaces the pending * delete.

  • Scenario-2

    • Pending * Action: Delete

    • New Request: Create

    • Result: * The new create, pending or immediate, replaces the pending delete.

    • *
  • Scenario-3

    • Pending Action: Create

    • *
    • New Request: Delete

    • Result: The new delete, pending or * immediate, replaces the pending create.

  • *

    Scenario-4

    • Pending Action: Create

    • New * Request: Create

    • Result: The new create is added to the pending * create.

      Important: If the new create request is * Apply Immediately - Yes, all creates are performed immediately. If the * new create request is Apply Immediately - No, all creates are * pending.

*/ inline ModifyCacheClusterRequest& AddNewAvailabilityZones(const char* value) { m_newAvailabilityZonesHasBeenSet = true; m_newAvailabilityZones.push_back(value); return *this; } /** *

A list of cache security group names to authorize on this cluster. This * change is asynchronously applied as soon as possible.

You can use this * parameter only with clusters that are created outside of an Amazon Virtual * Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 * alphanumeric characters. Must not be "Default".

*/ inline const Aws::Vector& GetCacheSecurityGroupNames() const{ return m_cacheSecurityGroupNames; } /** *

A list of cache security group names to authorize on this cluster. This * change is asynchronously applied as soon as possible.

You can use this * parameter only with clusters that are created outside of an Amazon Virtual * Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 * alphanumeric characters. Must not be "Default".

*/ inline bool CacheSecurityGroupNamesHasBeenSet() const { return m_cacheSecurityGroupNamesHasBeenSet; } /** *

A list of cache security group names to authorize on this cluster. This * change is asynchronously applied as soon as possible.

You can use this * parameter only with clusters that are created outside of an Amazon Virtual * Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 * alphanumeric characters. Must not be "Default".

*/ inline void SetCacheSecurityGroupNames(const Aws::Vector& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames = value; } /** *

A list of cache security group names to authorize on this cluster. This * change is asynchronously applied as soon as possible.

You can use this * parameter only with clusters that are created outside of an Amazon Virtual * Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 * alphanumeric characters. Must not be "Default".

*/ inline void SetCacheSecurityGroupNames(Aws::Vector&& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames = std::move(value); } /** *

A list of cache security group names to authorize on this cluster. This * change is asynchronously applied as soon as possible.

You can use this * parameter only with clusters that are created outside of an Amazon Virtual * Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 * alphanumeric characters. Must not be "Default".

*/ inline ModifyCacheClusterRequest& WithCacheSecurityGroupNames(const Aws::Vector& value) { SetCacheSecurityGroupNames(value); return *this;} /** *

A list of cache security group names to authorize on this cluster. This * change is asynchronously applied as soon as possible.

You can use this * parameter only with clusters that are created outside of an Amazon Virtual * Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 * alphanumeric characters. Must not be "Default".

*/ inline ModifyCacheClusterRequest& WithCacheSecurityGroupNames(Aws::Vector&& value) { SetCacheSecurityGroupNames(std::move(value)); return *this;} /** *

A list of cache security group names to authorize on this cluster. This * change is asynchronously applied as soon as possible.

You can use this * parameter only with clusters that are created outside of an Amazon Virtual * Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 * alphanumeric characters. Must not be "Default".

*/ inline ModifyCacheClusterRequest& AddCacheSecurityGroupNames(const Aws::String& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(value); return *this; } /** *

A list of cache security group names to authorize on this cluster. This * change is asynchronously applied as soon as possible.

You can use this * parameter only with clusters that are created outside of an Amazon Virtual * Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 * alphanumeric characters. Must not be "Default".

*/ inline ModifyCacheClusterRequest& AddCacheSecurityGroupNames(Aws::String&& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(std::move(value)); return *this; } /** *

A list of cache security group names to authorize on this cluster. This * change is asynchronously applied as soon as possible.

You can use this * parameter only with clusters that are created outside of an Amazon Virtual * Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 * alphanumeric characters. Must not be "Default".

*/ inline ModifyCacheClusterRequest& AddCacheSecurityGroupNames(const char* value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(value); return *this; } /** *

Specifies the VPC Security Groups associated with the cluster.

This * parameter can be used only with clusters that are created in an Amazon Virtual * Private Cloud (Amazon VPC).

*/ inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } /** *

Specifies the VPC Security Groups associated with the cluster.

This * parameter can be used only with clusters that are created in an Amazon Virtual * Private Cloud (Amazon VPC).

*/ inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } /** *

Specifies the VPC Security Groups associated with the cluster.

This * parameter can be used only with clusters that are created in an Amazon Virtual * Private Cloud (Amazon VPC).

*/ inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } /** *

Specifies the VPC Security Groups associated with the cluster.

This * parameter can be used only with clusters that are created in an Amazon Virtual * Private Cloud (Amazon VPC).

*/ inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } /** *

Specifies the VPC Security Groups associated with the cluster.

This * parameter can be used only with clusters that are created in an Amazon Virtual * Private Cloud (Amazon VPC).

*/ inline ModifyCacheClusterRequest& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} /** *

Specifies the VPC Security Groups associated with the cluster.

This * parameter can be used only with clusters that are created in an Amazon Virtual * Private Cloud (Amazon VPC).

*/ inline ModifyCacheClusterRequest& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} /** *

Specifies the VPC Security Groups associated with the cluster.

This * parameter can be used only with clusters that are created in an Amazon Virtual * Private Cloud (Amazon VPC).

*/ inline ModifyCacheClusterRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *

Specifies the VPC Security Groups associated with the cluster.

This * parameter can be used only with clusters that are created in an Amazon Virtual * Private Cloud (Amazon VPC).

*/ inline ModifyCacheClusterRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } /** *

Specifies the VPC Security Groups associated with the cluster.

This * parameter can be used only with clusters that are created in an Amazon Virtual * Private Cloud (Amazon VPC).

*/ inline ModifyCacheClusterRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *

Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.

Valid * values for ddd are:

  • sun

  • *
  • mon

  • tue

  • *

    wed

  • thu

  • * fri

  • sat

*

Example: sun:23:00-mon:01:30

*/ inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } /** *

Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.

Valid * values for ddd are:

  • sun

  • *
  • mon

  • tue

  • *

    wed

  • thu

  • * fri

  • sat

*

Example: sun:23:00-mon:01:30

*/ inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } /** *

Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.

Valid * values for ddd are:

  • sun

  • *
  • mon

  • tue

  • *

    wed

  • thu

  • * fri

  • sat

*

Example: sun:23:00-mon:01:30

*/ inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } /** *

Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.

Valid * values for ddd are:

  • sun

  • *
  • mon

  • tue

  • *

    wed

  • thu

  • * fri

  • sat

*

Example: sun:23:00-mon:01:30

*/ inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } /** *

Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.

Valid * values for ddd are:

  • sun

  • *
  • mon

  • tue

  • *

    wed

  • thu

  • * fri

  • sat

*

Example: sun:23:00-mon:01:30

*/ inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } /** *

Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.

Valid * values for ddd are:

  • sun

  • *
  • mon

  • tue

  • *

    wed

  • thu

  • * fri

  • sat

*

Example: sun:23:00-mon:01:30

*/ inline ModifyCacheClusterRequest& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.

Valid * values for ddd are:

  • sun

  • *
  • mon

  • tue

  • *

    wed

  • thu

  • * fri

  • sat

*

Example: sun:23:00-mon:01:30

*/ inline ModifyCacheClusterRequest& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} /** *

Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.

Valid * values for ddd are:

  • sun

  • *
  • mon

  • tue

  • *

    wed

  • thu

  • * fri

  • sat

*

Example: sun:23:00-mon:01:30

*/ inline ModifyCacheClusterRequest& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications * are sent.

The Amazon SNS topic owner must be same as the cluster * owner.

*/ inline const Aws::String& GetNotificationTopicArn() const{ return m_notificationTopicArn; } /** *

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications * are sent.

The Amazon SNS topic owner must be same as the cluster * owner.

*/ inline bool NotificationTopicArnHasBeenSet() const { return m_notificationTopicArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications * are sent.

The Amazon SNS topic owner must be same as the cluster * owner.

*/ inline void SetNotificationTopicArn(const Aws::String& value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn = value; } /** *

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications * are sent.

The Amazon SNS topic owner must be same as the cluster * owner.

*/ inline void SetNotificationTopicArn(Aws::String&& value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications * are sent.

The Amazon SNS topic owner must be same as the cluster * owner.

*/ inline void SetNotificationTopicArn(const char* value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications * are sent.

The Amazon SNS topic owner must be same as the cluster * owner.

*/ inline ModifyCacheClusterRequest& WithNotificationTopicArn(const Aws::String& value) { SetNotificationTopicArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications * are sent.

The Amazon SNS topic owner must be same as the cluster * owner.

*/ inline ModifyCacheClusterRequest& WithNotificationTopicArn(Aws::String&& value) { SetNotificationTopicArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications * are sent.

The Amazon SNS topic owner must be same as the cluster * owner.

*/ inline ModifyCacheClusterRequest& WithNotificationTopicArn(const char* value) { SetNotificationTopicArn(value); return *this;} /** *

The name of the cache parameter group to apply to this cluster. This change * is asynchronously applied as soon as possible for parameters when the * ApplyImmediately parameter is specified as true for * this request.

*/ inline const Aws::String& GetCacheParameterGroupName() const{ return m_cacheParameterGroupName; } /** *

The name of the cache parameter group to apply to this cluster. This change * is asynchronously applied as soon as possible for parameters when the * ApplyImmediately parameter is specified as true for * this request.

*/ inline bool CacheParameterGroupNameHasBeenSet() const { return m_cacheParameterGroupNameHasBeenSet; } /** *

The name of the cache parameter group to apply to this cluster. This change * is asynchronously applied as soon as possible for parameters when the * ApplyImmediately parameter is specified as true for * this request.

*/ inline void SetCacheParameterGroupName(const Aws::String& value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName = value; } /** *

The name of the cache parameter group to apply to this cluster. This change * is asynchronously applied as soon as possible for parameters when the * ApplyImmediately parameter is specified as true for * this request.

*/ inline void SetCacheParameterGroupName(Aws::String&& value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName = std::move(value); } /** *

The name of the cache parameter group to apply to this cluster. This change * is asynchronously applied as soon as possible for parameters when the * ApplyImmediately parameter is specified as true for * this request.

*/ inline void SetCacheParameterGroupName(const char* value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName.assign(value); } /** *

The name of the cache parameter group to apply to this cluster. This change * is asynchronously applied as soon as possible for parameters when the * ApplyImmediately parameter is specified as true for * this request.

*/ inline ModifyCacheClusterRequest& WithCacheParameterGroupName(const Aws::String& value) { SetCacheParameterGroupName(value); return *this;} /** *

The name of the cache parameter group to apply to this cluster. This change * is asynchronously applied as soon as possible for parameters when the * ApplyImmediately parameter is specified as true for * this request.

*/ inline ModifyCacheClusterRequest& WithCacheParameterGroupName(Aws::String&& value) { SetCacheParameterGroupName(std::move(value)); return *this;} /** *

The name of the cache parameter group to apply to this cluster. This change * is asynchronously applied as soon as possible for parameters when the * ApplyImmediately parameter is specified as true for * this request.

*/ inline ModifyCacheClusterRequest& WithCacheParameterGroupName(const char* value) { SetCacheParameterGroupName(value); return *this;} /** *

The status of the Amazon SNS notification topic. Notifications are sent only * if the status is active.

Valid values: active | * inactive

*/ inline const Aws::String& GetNotificationTopicStatus() const{ return m_notificationTopicStatus; } /** *

The status of the Amazon SNS notification topic. Notifications are sent only * if the status is active.

Valid values: active | * inactive

*/ inline bool NotificationTopicStatusHasBeenSet() const { return m_notificationTopicStatusHasBeenSet; } /** *

The status of the Amazon SNS notification topic. Notifications are sent only * if the status is active.

Valid values: active | * inactive

*/ inline void SetNotificationTopicStatus(const Aws::String& value) { m_notificationTopicStatusHasBeenSet = true; m_notificationTopicStatus = value; } /** *

The status of the Amazon SNS notification topic. Notifications are sent only * if the status is active.

Valid values: active | * inactive

*/ inline void SetNotificationTopicStatus(Aws::String&& value) { m_notificationTopicStatusHasBeenSet = true; m_notificationTopicStatus = std::move(value); } /** *

The status of the Amazon SNS notification topic. Notifications are sent only * if the status is active.

Valid values: active | * inactive

*/ inline void SetNotificationTopicStatus(const char* value) { m_notificationTopicStatusHasBeenSet = true; m_notificationTopicStatus.assign(value); } /** *

The status of the Amazon SNS notification topic. Notifications are sent only * if the status is active.

Valid values: active | * inactive

*/ inline ModifyCacheClusterRequest& WithNotificationTopicStatus(const Aws::String& value) { SetNotificationTopicStatus(value); return *this;} /** *

The status of the Amazon SNS notification topic. Notifications are sent only * if the status is active.

Valid values: active | * inactive

*/ inline ModifyCacheClusterRequest& WithNotificationTopicStatus(Aws::String&& value) { SetNotificationTopicStatus(std::move(value)); return *this;} /** *

The status of the Amazon SNS notification topic. Notifications are sent only * if the status is active.

Valid values: active | * inactive

*/ inline ModifyCacheClusterRequest& WithNotificationTopicStatus(const char* value) { SetNotificationTopicStatus(value); return *this;} /** *

If true, this parameter causes the modifications in this request * and any pending modifications to be applied, asynchronously and as soon as * possible, regardless of the PreferredMaintenanceWindow setting for * the cluster.

If false, changes to the cluster are applied on * the next maintenance reboot, or the next failure reboot, whichever occurs * first.

If you perform a ModifyCacheCluster * before a pending modification is applied, the pending modification is replaced * by the newer modification.

Valid values: true | * false

Default: false

*/ inline bool GetApplyImmediately() const{ return m_applyImmediately; } /** *

If true, this parameter causes the modifications in this request * and any pending modifications to be applied, asynchronously and as soon as * possible, regardless of the PreferredMaintenanceWindow setting for * the cluster.

If false, changes to the cluster are applied on * the next maintenance reboot, or the next failure reboot, whichever occurs * first.

If you perform a ModifyCacheCluster * before a pending modification is applied, the pending modification is replaced * by the newer modification.

Valid values: true | * false

Default: false

*/ inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; } /** *

If true, this parameter causes the modifications in this request * and any pending modifications to be applied, asynchronously and as soon as * possible, regardless of the PreferredMaintenanceWindow setting for * the cluster.

If false, changes to the cluster are applied on * the next maintenance reboot, or the next failure reboot, whichever occurs * first.

If you perform a ModifyCacheCluster * before a pending modification is applied, the pending modification is replaced * by the newer modification.

Valid values: true | * false

Default: false

*/ inline void SetApplyImmediately(bool value) { m_applyImmediatelyHasBeenSet = true; m_applyImmediately = value; } /** *

If true, this parameter causes the modifications in this request * and any pending modifications to be applied, asynchronously and as soon as * possible, regardless of the PreferredMaintenanceWindow setting for * the cluster.

If false, changes to the cluster are applied on * the next maintenance reboot, or the next failure reboot, whichever occurs * first.

If you perform a ModifyCacheCluster * before a pending modification is applied, the pending modification is replaced * by the newer modification.

Valid values: true | * false

Default: false

*/ inline ModifyCacheClusterRequest& WithApplyImmediately(bool value) { SetApplyImmediately(value); return *this;} /** *

The upgraded version of the cache engine to be run on the cache nodes.

*

Important: You can upgrade to a newer engine version (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster and create it anew with the earlier engine version.

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

The upgraded version of the cache engine to be run on the cache nodes.

*

Important: You can upgrade to a newer engine version (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster and create it anew with the earlier engine version.

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

The upgraded version of the cache engine to be run on the cache nodes.

*

Important: You can upgrade to a newer engine version (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster and create it anew with the earlier engine version.

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

The upgraded version of the cache engine to be run on the cache nodes.

*

Important: You can upgrade to a newer engine version (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster and create it anew with the earlier engine version.

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

The upgraded version of the cache engine to be run on the cache nodes.

*

Important: You can upgrade to a newer engine version (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster and create it anew with the earlier engine version.

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

The upgraded version of the cache engine to be run on the cache nodes.

*

Important: You can upgrade to a newer engine version (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster and create it anew with the earlier engine version.

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

The upgraded version of the cache engine to be run on the cache nodes.

*

Important: You can upgrade to a newer engine version (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster and create it anew with the earlier engine version.

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

The upgraded version of the cache engine to be run on the cache nodes.

*

Important: You can upgrade to a newer engine version (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster and create it anew with the earlier engine version.

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

 If you are running Redis engine version 6.0 or later, set this parameter to * yes if you want to opt-in to the next auto minor version upgrade campaign. This * parameter is disabled for previous versions. 

*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } /** *

 If you are running Redis engine version 6.0 or later, set this parameter to * yes if you want to opt-in to the next auto minor version upgrade campaign. This * parameter is disabled for previous versions. 

*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *

 If you are running Redis engine version 6.0 or later, set this parameter to * yes if you want to opt-in to the next auto minor version upgrade campaign. This * parameter is disabled for previous versions. 

*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *

 If you are running Redis engine version 6.0 or later, set this parameter to * yes if you want to opt-in to the next auto minor version upgrade campaign. This * parameter is disabled for previous versions. 

*/ inline ModifyCacheClusterRequest& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *

The number of days for which ElastiCache retains automatic cluster snapshots * before deleting them. For example, if you set * SnapshotRetentionLimit to 5, a snapshot that was taken today is * retained for 5 days before being deleted.

If the value of * SnapshotRetentionLimit is set to zero (0), backups are turned * off.

*/ inline int GetSnapshotRetentionLimit() const{ return m_snapshotRetentionLimit; } /** *

The number of days for which ElastiCache retains automatic cluster snapshots * before deleting them. For example, if you set * SnapshotRetentionLimit to 5, a snapshot that was taken today is * retained for 5 days before being deleted.

If the value of * SnapshotRetentionLimit is set to zero (0), backups are turned * off.

*/ inline bool SnapshotRetentionLimitHasBeenSet() const { return m_snapshotRetentionLimitHasBeenSet; } /** *

The number of days for which ElastiCache retains automatic cluster snapshots * before deleting them. For example, if you set * SnapshotRetentionLimit to 5, a snapshot that was taken today is * retained for 5 days before being deleted.

If the value of * SnapshotRetentionLimit is set to zero (0), backups are turned * off.

*/ inline void SetSnapshotRetentionLimit(int value) { m_snapshotRetentionLimitHasBeenSet = true; m_snapshotRetentionLimit = value; } /** *

The number of days for which ElastiCache retains automatic cluster snapshots * before deleting them. For example, if you set * SnapshotRetentionLimit to 5, a snapshot that was taken today is * retained for 5 days before being deleted.

If the value of * SnapshotRetentionLimit is set to zero (0), backups are turned * off.

*/ inline ModifyCacheClusterRequest& WithSnapshotRetentionLimit(int value) { SetSnapshotRetentionLimit(value); return *this;} /** *

The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your cluster.

*/ inline const Aws::String& GetSnapshotWindow() const{ return m_snapshotWindow; } /** *

The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your cluster.

*/ inline bool SnapshotWindowHasBeenSet() const { return m_snapshotWindowHasBeenSet; } /** *

The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your cluster.

*/ inline void SetSnapshotWindow(const Aws::String& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = value; } /** *

The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your cluster.

*/ inline void SetSnapshotWindow(Aws::String&& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = std::move(value); } /** *

The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your cluster.

*/ inline void SetSnapshotWindow(const char* value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow.assign(value); } /** *

The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your cluster.

*/ inline ModifyCacheClusterRequest& WithSnapshotWindow(const Aws::String& value) { SetSnapshotWindow(value); return *this;} /** *

The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your cluster.

*/ inline ModifyCacheClusterRequest& WithSnapshotWindow(Aws::String&& value) { SetSnapshotWindow(std::move(value)); return *this;} /** *

The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your cluster.

*/ inline ModifyCacheClusterRequest& WithSnapshotWindow(const char* value) { SetSnapshotWindow(value); return *this;} /** *

A valid cache node type that you want to scale this cluster up to.

*/ inline const Aws::String& GetCacheNodeType() const{ return m_cacheNodeType; } /** *

A valid cache node type that you want to scale this cluster up to.

*/ inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; } /** *

A valid cache node type that you want to scale this cluster up to.

*/ inline void SetCacheNodeType(const Aws::String& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = value; } /** *

A valid cache node type that you want to scale this cluster up to.

*/ inline void SetCacheNodeType(Aws::String&& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::move(value); } /** *

A valid cache node type that you want to scale this cluster up to.

*/ inline void SetCacheNodeType(const char* value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType.assign(value); } /** *

A valid cache node type that you want to scale this cluster up to.

*/ inline ModifyCacheClusterRequest& WithCacheNodeType(const Aws::String& value) { SetCacheNodeType(value); return *this;} /** *

A valid cache node type that you want to scale this cluster up to.

*/ inline ModifyCacheClusterRequest& WithCacheNodeType(Aws::String&& value) { SetCacheNodeType(std::move(value)); return *this;} /** *

A valid cache node type that you want to scale this cluster up to.

*/ inline ModifyCacheClusterRequest& WithCacheNodeType(const char* value) { SetCacheNodeType(value); return *this;} /** *

Reserved parameter. The password used to access a password protected server. * This parameter must be specified with the auth-token-update * parameter. Password constraints:

  • Must be only printable ASCII * characters

  • Must be at least 16 characters and no more than 128 * characters in length

  • Cannot contain any of the following * characters: '/', '"', or '@', '%'

For more information, see * AUTH password at AUTH.

*/ inline const Aws::String& GetAuthToken() const{ return m_authToken; } /** *

Reserved parameter. The password used to access a password protected server. * This parameter must be specified with the auth-token-update * parameter. Password constraints:

  • Must be only printable ASCII * characters

  • Must be at least 16 characters and no more than 128 * characters in length

  • Cannot contain any of the following * characters: '/', '"', or '@', '%'

For more information, see * AUTH password at AUTH.

*/ inline bool AuthTokenHasBeenSet() const { return m_authTokenHasBeenSet; } /** *

Reserved parameter. The password used to access a password protected server. * This parameter must be specified with the auth-token-update * parameter. Password constraints:

  • Must be only printable ASCII * characters

  • Must be at least 16 characters and no more than 128 * characters in length

  • Cannot contain any of the following * characters: '/', '"', or '@', '%'

For more information, see * AUTH password at AUTH.

*/ inline void SetAuthToken(const Aws::String& value) { m_authTokenHasBeenSet = true; m_authToken = value; } /** *

Reserved parameter. The password used to access a password protected server. * This parameter must be specified with the auth-token-update * parameter. Password constraints:

  • Must be only printable ASCII * characters

  • Must be at least 16 characters and no more than 128 * characters in length

  • Cannot contain any of the following * characters: '/', '"', or '@', '%'

For more information, see * AUTH password at AUTH.

*/ inline void SetAuthToken(Aws::String&& value) { m_authTokenHasBeenSet = true; m_authToken = std::move(value); } /** *

Reserved parameter. The password used to access a password protected server. * This parameter must be specified with the auth-token-update * parameter. Password constraints:

  • Must be only printable ASCII * characters

  • Must be at least 16 characters and no more than 128 * characters in length

  • Cannot contain any of the following * characters: '/', '"', or '@', '%'

For more information, see * AUTH password at AUTH.

*/ inline void SetAuthToken(const char* value) { m_authTokenHasBeenSet = true; m_authToken.assign(value); } /** *

Reserved parameter. The password used to access a password protected server. * This parameter must be specified with the auth-token-update * parameter. Password constraints:

  • Must be only printable ASCII * characters

  • Must be at least 16 characters and no more than 128 * characters in length

  • Cannot contain any of the following * characters: '/', '"', or '@', '%'

For more information, see * AUTH password at AUTH.

*/ inline ModifyCacheClusterRequest& WithAuthToken(const Aws::String& value) { SetAuthToken(value); return *this;} /** *

Reserved parameter. The password used to access a password protected server. * This parameter must be specified with the auth-token-update * parameter. Password constraints:

  • Must be only printable ASCII * characters

  • Must be at least 16 characters and no more than 128 * characters in length

  • Cannot contain any of the following * characters: '/', '"', or '@', '%'

For more information, see * AUTH password at AUTH.

*/ inline ModifyCacheClusterRequest& WithAuthToken(Aws::String&& value) { SetAuthToken(std::move(value)); return *this;} /** *

Reserved parameter. The password used to access a password protected server. * This parameter must be specified with the auth-token-update * parameter. Password constraints:

  • Must be only printable ASCII * characters

  • Must be at least 16 characters and no more than 128 * characters in length

  • Cannot contain any of the following * characters: '/', '"', or '@', '%'

For more information, see * AUTH password at AUTH.

*/ inline ModifyCacheClusterRequest& WithAuthToken(const char* value) { SetAuthToken(value); return *this;} /** *

Specifies the strategy to use to update the AUTH token. This parameter must * be specified with the auth-token parameter. Possible values:

*
  • Rotate

  • Set

For more * information, see Authenticating * Users with Redis AUTH

*/ inline const AuthTokenUpdateStrategyType& GetAuthTokenUpdateStrategy() const{ return m_authTokenUpdateStrategy; } /** *

Specifies the strategy to use to update the AUTH token. This parameter must * be specified with the auth-token parameter. Possible values:

*
  • Rotate

  • Set

For more * information, see Authenticating * Users with Redis AUTH

*/ inline bool AuthTokenUpdateStrategyHasBeenSet() const { return m_authTokenUpdateStrategyHasBeenSet; } /** *

Specifies the strategy to use to update the AUTH token. This parameter must * be specified with the auth-token parameter. Possible values:

*
  • Rotate

  • Set

For more * information, see Authenticating * Users with Redis AUTH

*/ inline void SetAuthTokenUpdateStrategy(const AuthTokenUpdateStrategyType& value) { m_authTokenUpdateStrategyHasBeenSet = true; m_authTokenUpdateStrategy = value; } /** *

Specifies the strategy to use to update the AUTH token. This parameter must * be specified with the auth-token parameter. Possible values:

*
  • Rotate

  • Set

For more * information, see Authenticating * Users with Redis AUTH

*/ inline void SetAuthTokenUpdateStrategy(AuthTokenUpdateStrategyType&& value) { m_authTokenUpdateStrategyHasBeenSet = true; m_authTokenUpdateStrategy = std::move(value); } /** *

Specifies the strategy to use to update the AUTH token. This parameter must * be specified with the auth-token parameter. Possible values:

*
  • Rotate

  • Set

For more * information, see Authenticating * Users with Redis AUTH

*/ inline ModifyCacheClusterRequest& WithAuthTokenUpdateStrategy(const AuthTokenUpdateStrategyType& value) { SetAuthTokenUpdateStrategy(value); return *this;} /** *

Specifies the strategy to use to update the AUTH token. This parameter must * be specified with the auth-token parameter. Possible values:

*
  • Rotate

  • Set

For more * information, see Authenticating * Users with Redis AUTH

*/ inline ModifyCacheClusterRequest& WithAuthTokenUpdateStrategy(AuthTokenUpdateStrategyType&& value) { SetAuthTokenUpdateStrategy(std::move(value)); return *this;} /** *

Specifies the destination, format and type of the logs.

*/ inline const Aws::Vector& GetLogDeliveryConfigurations() const{ return m_logDeliveryConfigurations; } /** *

Specifies the destination, format and type of the logs.

*/ inline bool LogDeliveryConfigurationsHasBeenSet() const { return m_logDeliveryConfigurationsHasBeenSet; } /** *

Specifies the destination, format and type of the logs.

*/ inline void SetLogDeliveryConfigurations(const Aws::Vector& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations = value; } /** *

Specifies the destination, format and type of the logs.

*/ inline void SetLogDeliveryConfigurations(Aws::Vector&& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations = std::move(value); } /** *

Specifies the destination, format and type of the logs.

*/ inline ModifyCacheClusterRequest& WithLogDeliveryConfigurations(const Aws::Vector& value) { SetLogDeliveryConfigurations(value); return *this;} /** *

Specifies the destination, format and type of the logs.

*/ inline ModifyCacheClusterRequest& WithLogDeliveryConfigurations(Aws::Vector&& value) { SetLogDeliveryConfigurations(std::move(value)); return *this;} /** *

Specifies the destination, format and type of the logs.

*/ inline ModifyCacheClusterRequest& AddLogDeliveryConfigurations(const LogDeliveryConfigurationRequest& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations.push_back(value); return *this; } /** *

Specifies the destination, format and type of the logs.

*/ inline ModifyCacheClusterRequest& AddLogDeliveryConfigurations(LogDeliveryConfigurationRequest&& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations.push_back(std::move(value)); return *this; } /** *

The network type you choose when modifying a cluster, either * ipv4 | ipv6. IPv6 is supported for workloads using * Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all * instances built on the Nitro * system.

*/ inline const IpDiscovery& GetIpDiscovery() const{ return m_ipDiscovery; } /** *

The network type you choose when modifying a cluster, either * ipv4 | ipv6. IPv6 is supported for workloads using * Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all * instances built on the Nitro * system.

*/ inline bool IpDiscoveryHasBeenSet() const { return m_ipDiscoveryHasBeenSet; } /** *

The network type you choose when modifying a cluster, either * ipv4 | ipv6. IPv6 is supported for workloads using * Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all * instances built on the Nitro * system.

*/ inline void SetIpDiscovery(const IpDiscovery& value) { m_ipDiscoveryHasBeenSet = true; m_ipDiscovery = value; } /** *

The network type you choose when modifying a cluster, either * ipv4 | ipv6. IPv6 is supported for workloads using * Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all * instances built on the Nitro * system.

*/ inline void SetIpDiscovery(IpDiscovery&& value) { m_ipDiscoveryHasBeenSet = true; m_ipDiscovery = std::move(value); } /** *

The network type you choose when modifying a cluster, either * ipv4 | ipv6. IPv6 is supported for workloads using * Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all * instances built on the Nitro * system.

*/ inline ModifyCacheClusterRequest& WithIpDiscovery(const IpDiscovery& value) { SetIpDiscovery(value); return *this;} /** *

The network type you choose when modifying a cluster, either * ipv4 | ipv6. IPv6 is supported for workloads using * Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all * instances built on the Nitro * system.

*/ inline ModifyCacheClusterRequest& WithIpDiscovery(IpDiscovery&& value) { SetIpDiscovery(std::move(value)); return *this;} private: Aws::String m_cacheClusterId; bool m_cacheClusterIdHasBeenSet = false; int m_numCacheNodes; bool m_numCacheNodesHasBeenSet = false; Aws::Vector m_cacheNodeIdsToRemove; bool m_cacheNodeIdsToRemoveHasBeenSet = false; AZMode m_aZMode; bool m_aZModeHasBeenSet = false; Aws::Vector m_newAvailabilityZones; bool m_newAvailabilityZonesHasBeenSet = false; Aws::Vector m_cacheSecurityGroupNames; bool m_cacheSecurityGroupNamesHasBeenSet = false; Aws::Vector m_securityGroupIds; bool m_securityGroupIdsHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; Aws::String m_notificationTopicArn; bool m_notificationTopicArnHasBeenSet = false; Aws::String m_cacheParameterGroupName; bool m_cacheParameterGroupNameHasBeenSet = false; Aws::String m_notificationTopicStatus; bool m_notificationTopicStatusHasBeenSet = false; bool m_applyImmediately; bool m_applyImmediatelyHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet = false; int m_snapshotRetentionLimit; bool m_snapshotRetentionLimitHasBeenSet = false; Aws::String m_snapshotWindow; bool m_snapshotWindowHasBeenSet = false; Aws::String m_cacheNodeType; bool m_cacheNodeTypeHasBeenSet = false; Aws::String m_authToken; bool m_authTokenHasBeenSet = false; AuthTokenUpdateStrategyType m_authTokenUpdateStrategy; bool m_authTokenUpdateStrategyHasBeenSet = false; Aws::Vector m_logDeliveryConfigurations; bool m_logDeliveryConfigurationsHasBeenSet = false; IpDiscovery m_ipDiscovery; bool m_ipDiscoveryHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws