Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   /*
    * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
    * 
    * Licensed under the Apache License, Version 2.0 (the "License").
    * You may not use this file except in compliance with the License.
    * A copy of the License is located at
    * 
    *  http://aws.amazon.com/apache2.0
    * 
   * or in the "license" file accompanying this file. This file is distributed
   * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
   * express or implied. See the License for the specific language governing
   * permissions and limitations under the License.
   */
  package com.amazonaws.services.elasticache.model;
  
  
Container for the parameters to the ModifyCacheCluster operation.

The ModifyCacheCluster action modifies the settings for a cache cluster. You can use this action to change one or more cluster configuration parameters by specifying the parameters and the new values.

  
  public class ModifyCacheClusterRequest extends AmazonWebServiceRequest implements SerializableCloneable {

    
The cache cluster identifier. This value is stored as a lowercase string.
  
      private String cacheClusterId;

    
The number of cache nodes that the cache 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), then more nodes will be added. If the value is less than the number of existing cache nodes, then nodes will be removed. If the value is equal to the number of current cache nodes, then 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 20.

Note:
Adding or removing Memcached cache nodes can be applied immediately or as a pending action. See ApplyImmediately.
A pending action 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 actions to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending action to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending action 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 action to add nodes. The customer can modify the previous pending action to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending actions 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 cache cluster.

  
      private Integer numCacheNodes;

    
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 ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

  
Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

Constraints:
Allowed Values: single-az, cross-az

 
     private String aZMode;

    
The list of Availability Zones where the new Memcached cache nodes will be 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.

This option is only supported on Memcached clusters.

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 actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

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

ScenariosPending actionNew RequestResults
Scenario-1DeleteDeleteThe new delete, pending or immediate, replaces the pending delete.
Scenario-2DeleteCreateThe new create, pending or immediate, replaces the pending delete.
Scenario-3CreateDeleteThe new delete, pending or immediate, replaces the pending create.
Scenario-4CreateCreateThe 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.

Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c

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

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

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

 
Specifies the VPC Security Groups associated with the cache cluster.

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

 
Specifies the weekly time range during which maintenance on the cache 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:05:00-sun:09:00

 
     private String preferredMaintenanceWindow;

    
The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. <note>The Amazon SNS topic owner must be same as the cache cluster owner. </note>
 
     private String notificationTopicArn;

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

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

Valid values: active | inactive

 
     private String notificationTopicStatus;

    
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 cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. <important>If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.</important>

Valid values: true | false

Default: false

 
     private Boolean applyImmediately;

    
The upgraded version of the cache engine to be run on the cache nodes.
 
     private String engineVersion;

    
This parameter is currently disabled.
 
     private Boolean autoMinorVersionUpgrade;

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

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

 
     private Integer snapshotRetentionLimit;

    
The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.
 
     private String snapshotWindow;

    
Default constructor for a new ModifyCacheClusterRequest object. Callers should use the setter or fluent setter (with...) methods to initialize this object after creating it.
 
     public ModifyCacheClusterRequest() {}
    
    
Constructs a new ModifyCacheClusterRequest object. Callers should use the setter or fluent setter (with...) methods to initialize any additional object members.

Parameters:
cacheClusterId The cache cluster identifier. This value is stored as a lowercase string.
 
     public ModifyCacheClusterRequest(String cacheClusterId) {
         setCacheClusterId(cacheClusterId);
     }

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

Returns:
The cache cluster identifier. This value is stored as a lowercase string.
 
     public String getCacheClusterId() {
         return ;
     }
    
    
The cache cluster identifier. This value is stored as a lowercase string.

Parameters:
cacheClusterId The cache cluster identifier. This value is stored as a lowercase string.
 
     public void setCacheClusterId(String cacheClusterId) {
         this. = cacheClusterId;
     }
    
    
The cache cluster identifier. This value is stored as a lowercase string.

Returns a reference to this object so that method calls can be chained together.

Parameters:
cacheClusterId The cache cluster identifier. This value is stored as a lowercase string.
Returns:
A reference to this updated object so that method calls can be chained together.
 
     public ModifyCacheClusterRequest withCacheClusterId(String cacheClusterId) {
         this. = cacheClusterId;
         return this;
     }

    
The number of cache nodes that the cache 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), then more nodes will be added. If the value is less than the number of existing cache nodes, then nodes will be removed. If the value is equal to the number of current cache nodes, then 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 20.

Note:
Adding or removing Memcached cache nodes can be applied immediately or as a pending action. See ApplyImmediately.
A pending action 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 actions to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending action to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending action 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 action to add nodes. The customer can modify the previous pending action to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending actions 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 cache cluster.

Returns:
The number of cache nodes that the cache 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), then more nodes will be added. If the value is less than the number of existing cache nodes, then nodes will be removed. If the value is equal to the number of current cache nodes, then 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 20.

Note:
Adding or removing Memcached cache nodes can be applied immediately or as a pending action. See ApplyImmediately.
A pending action 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 actions to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending action to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending action 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 action to add nodes. The customer can modify the previous pending action to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending actions 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 cache cluster.

 
     public Integer getNumCacheNodes() {
         return ;
     }
    
    
The number of cache nodes that the cache 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), then more nodes will be added. If the value is less than the number of existing cache nodes, then nodes will be removed. If the value is equal to the number of current cache nodes, then 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 20.

Note:
Adding or removing Memcached cache nodes can be applied immediately or as a pending action. See ApplyImmediately.
A pending action 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 actions to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending action to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending action 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 action to add nodes. The customer can modify the previous pending action to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending actions 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 cache cluster.

Parameters:
numCacheNodes The number of cache nodes that the cache 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), then more nodes will be added. If the value is less than the number of existing cache nodes, then nodes will be removed. If the value is equal to the number of current cache nodes, then 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 20.

Note:
Adding or removing Memcached cache nodes can be applied immediately or as a pending action. See ApplyImmediately.
A pending action 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 actions to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending action to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending action 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 action to add nodes. The customer can modify the previous pending action to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending actions 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 cache cluster.

 
     public void setNumCacheNodes(Integer numCacheNodes) {
         this. = numCacheNodes;
     }
    
    
The number of cache nodes that the cache 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), then more nodes will be added. If the value is less than the number of existing cache nodes, then nodes will be removed. If the value is equal to the number of current cache nodes, then 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 20.

Note:
Adding or removing Memcached cache nodes can be applied immediately or as a pending action. See ApplyImmediately.
A pending action 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 actions to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending action to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending action 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 action to add nodes. The customer can modify the previous pending action to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending actions 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 cache cluster.

Returns a reference to this object so that method calls can be chained together.

Parameters:
numCacheNodes The number of cache nodes that the cache 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), then more nodes will be added. If the value is less than the number of existing cache nodes, then nodes will be removed. If the value is equal to the number of current cache nodes, then 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 20.

Note:
Adding or removing Memcached cache nodes can be applied immediately or as a pending action. See ApplyImmediately.
A pending action 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 actions to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending action to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending action 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 action to add nodes. The customer can modify the previous pending action to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending actions 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 cache cluster.

Returns:
A reference to this updated object so that method calls can be chained together.
 
     public ModifyCacheClusterRequest withNumCacheNodes(Integer numCacheNodes) {
         this. = numCacheNodes;
         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 ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

Returns:
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 ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

 
         if ( == null) {
               .setAutoConstruct(true);
         }
         return ;
     }
    
    
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 ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

Parameters:
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 ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

 
     public void setCacheNodeIdsToRemove(java.util.Collection<StringcacheNodeIdsToRemove) {
         if (cacheNodeIdsToRemove == null) {
             this. = null;
             return;
         }
         com.amazonaws.internal.ListWithAutoConstructFlag<StringcacheNodeIdsToRemoveCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(cacheNodeIdsToRemove.size());
         cacheNodeIdsToRemoveCopy.addAll(cacheNodeIdsToRemove);
         this. = cacheNodeIdsToRemoveCopy;
     }
    
    
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 ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

NOTE: This method appends the values to the existing list (if any). Use setCacheNodeIdsToRemove(java.util.Collection) or withCacheNodeIdsToRemove(java.util.Collection) if you want to override the existing values.

Returns a reference to this object so that method calls can be chained together.

Parameters:
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 ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

Returns:
A reference to this updated object so that method calls can be chained together.
 
     public ModifyCacheClusterRequest withCacheNodeIdsToRemove(String... cacheNodeIdsToRemove) {
         if (getCacheNodeIdsToRemove() == nullsetCacheNodeIdsToRemove(new java.util.ArrayList<String>(cacheNodeIdsToRemove.length));
         for (String value : cacheNodeIdsToRemove) {
             getCacheNodeIdsToRemove().add(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 ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

Returns a reference to this object so that method calls can be chained together.

Parameters:
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 ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

Returns:
A reference to this updated object so that method calls can be chained together.
 
     public ModifyCacheClusterRequest withCacheNodeIdsToRemove(java.util.Collection<StringcacheNodeIdsToRemove) {
         if (cacheNodeIdsToRemove == null) {
             this. = null;
         } else {
             com.amazonaws.internal.ListWithAutoConstructFlag<StringcacheNodeIdsToRemoveCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(cacheNodeIdsToRemove.size());
             cacheNodeIdsToRemoveCopy.addAll(cacheNodeIdsToRemove);
             this. = cacheNodeIdsToRemoveCopy;
         }
 
         return this;
     }

    
Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

Constraints:
Allowed Values: single-az, cross-az

Returns:
Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

See also:
AZMode
 
     public String getAZMode() {
         return ;
     }
    
    
Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

Constraints:
Allowed Values: single-az, cross-az

Parameters:
aZMode Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

See also:
AZMode
 
     public void setAZMode(String aZMode) {
         this. = aZMode;
     }
    
    
Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

Returns a reference to this object so that method calls can be chained together.

Constraints:
Allowed Values: single-az, cross-az

Parameters:
aZMode Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

Returns:
A reference to this updated object so that method calls can be chained together.
See also:
AZMode
 
     public ModifyCacheClusterRequest withAZMode(String aZMode) {
         this. = aZMode;
         return this;
     }

    
Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

Constraints:
Allowed Values: single-az, cross-az

Parameters:
aZMode Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

See also:
AZMode
 
     public void setAZMode(AZMode aZMode) {
         this. = aZMode.toString();
     }
    
    
Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

Returns a reference to this object so that method calls can be chained together.

Constraints:
Allowed Values: single-az, cross-az

Parameters:
aZMode Specifies whether the new nodes in this Memcached cache 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 cache clusters. <note>

You cannot specify single-az if the Memcached cache 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 will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. </note>

Returns:
A reference to this updated object so that method calls can be chained together.
See also:
AZMode
 
     public ModifyCacheClusterRequest withAZMode(AZMode aZMode) {
         this. = aZMode.toString();
         return this;
     }

    
The list of Availability Zones where the new Memcached cache nodes will be 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.

This option is only supported on Memcached clusters.

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 actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

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

ScenariosPending actionNew RequestResults
Scenario-1DeleteDeleteThe new delete, pending or immediate, replaces the pending delete.
Scenario-2DeleteCreateThe new create, pending or immediate, replaces the pending delete.
Scenario-3CreateDeleteThe new delete, pending or immediate, replaces the pending create.
Scenario-4CreateCreateThe 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.

Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c

Returns:
The list of Availability Zones where the new Memcached cache nodes will be 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.

This option is only supported on Memcached clusters.

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 actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

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

ScenariosPending actionNew RequestResults
Scenario-1DeleteDeleteThe new delete, pending or immediate, replaces the pending delete.
Scenario-2DeleteCreateThe new create, pending or immediate, replaces the pending delete.
Scenario-3CreateDeleteThe new delete, pending or immediate, replaces the pending create.
Scenario-4CreateCreateThe 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.

Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c

 
         if ( == null) {
               .setAutoConstruct(true);
         }
         return ;
     }
    
    
The list of Availability Zones where the new Memcached cache nodes will be 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.

This option is only supported on Memcached clusters.

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 actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

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

ScenariosPending actionNew RequestResults
Scenario-1DeleteDeleteThe new delete, pending or immediate, replaces the pending delete.
Scenario-2DeleteCreateThe new create, pending or immediate, replaces the pending delete.
Scenario-3CreateDeleteThe new delete, pending or immediate, replaces the pending create.
Scenario-4CreateCreateThe 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.

Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c

Parameters:
newAvailabilityZones The list of Availability Zones where the new Memcached cache nodes will be 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.

This option is only supported on Memcached clusters.

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 actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

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

ScenariosPending actionNew RequestResults
Scenario-1DeleteDeleteThe new delete, pending or immediate, replaces the pending delete.
Scenario-2DeleteCreateThe new create, pending or immediate, replaces the pending delete.
Scenario-3CreateDeleteThe new delete, pending or immediate, replaces the pending create.
Scenario-4CreateCreateThe 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.

Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c

    public void setNewAvailabilityZones(java.util.Collection<StringnewAvailabilityZones) {
        if (newAvailabilityZones == null) {
            this. = null;
            return;
        }
        com.amazonaws.internal.ListWithAutoConstructFlag<StringnewAvailabilityZonesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(newAvailabilityZones.size());
        newAvailabilityZonesCopy.addAll(newAvailabilityZones);
        this. = newAvailabilityZonesCopy;
    }
    
    
The list of Availability Zones where the new Memcached cache nodes will be 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.

This option is only supported on Memcached clusters.

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 actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

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

ScenariosPending actionNew RequestResults
Scenario-1DeleteDeleteThe new delete, pending or immediate, replaces the pending delete.
Scenario-2DeleteCreateThe new create, pending or immediate, replaces the pending delete.
Scenario-3CreateDeleteThe new delete, pending or immediate, replaces the pending create.
Scenario-4CreateCreateThe 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.

Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c

NOTE: This method appends the values to the existing list (if any). Use setNewAvailabilityZones(java.util.Collection) or withNewAvailabilityZones(java.util.Collection) if you want to override the existing values.

Returns a reference to this object so that method calls can be chained together.

Parameters:
newAvailabilityZones The list of Availability Zones where the new Memcached cache nodes will be 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.

This option is only supported on Memcached clusters.

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 actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

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

ScenariosPending actionNew RequestResults
Scenario-1DeleteDeleteThe new delete, pending or immediate, replaces the pending delete.
Scenario-2DeleteCreateThe new create, pending or immediate, replaces the pending delete.
Scenario-3CreateDeleteThe new delete, pending or immediate, replaces the pending create.
Scenario-4CreateCreateThe 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.

Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c

Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withNewAvailabilityZones(String... newAvailabilityZones) {
        if (getNewAvailabilityZones() == nullsetNewAvailabilityZones(new java.util.ArrayList<String>(newAvailabilityZones.length));
        for (String value : newAvailabilityZones) {
            getNewAvailabilityZones().add(value);
        }
        return this;
    }
    
    
The list of Availability Zones where the new Memcached cache nodes will be 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.

This option is only supported on Memcached clusters.

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 actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

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

ScenariosPending actionNew RequestResults
Scenario-1DeleteDeleteThe new delete, pending or immediate, replaces the pending delete.
Scenario-2DeleteCreateThe new create, pending or immediate, replaces the pending delete.
Scenario-3CreateDeleteThe new delete, pending or immediate, replaces the pending create.
Scenario-4CreateCreateThe 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.

Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c

Returns a reference to this object so that method calls can be chained together.

Parameters:
newAvailabilityZones The list of Availability Zones where the new Memcached cache nodes will be 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.

This option is only supported on Memcached clusters.

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 actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

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

ScenariosPending actionNew RequestResults
Scenario-1DeleteDeleteThe new delete, pending or immediate, replaces the pending delete.
Scenario-2DeleteCreateThe new create, pending or immediate, replaces the pending delete.
Scenario-3CreateDeleteThe new delete, pending or immediate, replaces the pending create.
Scenario-4CreateCreateThe 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.

Example: NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c

Returns:
A reference to this updated object so that method calls can be chained together.
        if (newAvailabilityZones == null) {
            this. = null;
        } else {
            com.amazonaws.internal.ListWithAutoConstructFlag<StringnewAvailabilityZonesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(newAvailabilityZones.size());
            newAvailabilityZonesCopy.addAll(newAvailabilityZones);
            this. = newAvailabilityZonesCopy;
        }
        return this;
    }

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

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

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

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

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

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

        if ( == null) {
              .setAutoConstruct(true);
        }
        return ;
    }
    
    
A list of cache security group names to authorize on this cache cluster. This change is asynchronously applied as soon as possible.

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

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

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

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

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

    public void setCacheSecurityGroupNames(java.util.Collection<StringcacheSecurityGroupNames) {
        if (cacheSecurityGroupNames == null) {
            this. = null;
            return;
        }
        com.amazonaws.internal.ListWithAutoConstructFlag<StringcacheSecurityGroupNamesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(cacheSecurityGroupNames.size());
        cacheSecurityGroupNamesCopy.addAll(cacheSecurityGroupNames);
        this. = cacheSecurityGroupNamesCopy;
    }
    
    
A list of cache security group names to authorize on this cache cluster. This change is asynchronously applied as soon as possible.

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

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

NOTE: This method appends the values to the existing list (if any). Use setCacheSecurityGroupNames(java.util.Collection) or withCacheSecurityGroupNames(java.util.Collection) if you want to override the existing values.

Returns a reference to this object so that method calls can be chained together.

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

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

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

Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withCacheSecurityGroupNames(String... cacheSecurityGroupNames) {
        if (getCacheSecurityGroupNames() == nullsetCacheSecurityGroupNames(new java.util.ArrayList<String>(cacheSecurityGroupNames.length));
        for (String value : cacheSecurityGroupNames) {
            getCacheSecurityGroupNames().add(value);
        }
        return this;
    }
    
    
A list of cache security group names to authorize on this cache cluster. This change is asynchronously applied as soon as possible.

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

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

Returns a reference to this object so that method calls can be chained together.

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

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

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

Returns:
A reference to this updated object so that method calls can be chained together.
        if (cacheSecurityGroupNames == null) {
            this. = null;
        } else {
            com.amazonaws.internal.ListWithAutoConstructFlag<StringcacheSecurityGroupNamesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(cacheSecurityGroupNames.size());
            cacheSecurityGroupNamesCopy.addAll(cacheSecurityGroupNames);
            this. = cacheSecurityGroupNamesCopy;
        }
        return this;
    }

    
Specifies the VPC Security Groups associated with the cache cluster.

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

Returns:
Specifies the VPC Security Groups associated with the cache cluster.

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

        if ( == null) {
              .setAutoConstruct(true);
        }
        return ;
    }
    
    
Specifies the VPC Security Groups associated with the cache cluster.

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

Parameters:
securityGroupIds Specifies the VPC Security Groups associated with the cache cluster.

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

    public void setSecurityGroupIds(java.util.Collection<StringsecurityGroupIds) {
        if (securityGroupIds == null) {
            this. = null;
            return;
        }
        com.amazonaws.internal.ListWithAutoConstructFlag<StringsecurityGroupIdsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(securityGroupIds.size());
        securityGroupIdsCopy.addAll(securityGroupIds);
        this. = securityGroupIdsCopy;
    }
    
    
Specifies the VPC Security Groups associated with the cache cluster.

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

NOTE: This method appends the values to the existing list (if any). Use setSecurityGroupIds(java.util.Collection) or withSecurityGroupIds(java.util.Collection) if you want to override the existing values.

Returns a reference to this object so that method calls can be chained together.

Parameters:
securityGroupIds Specifies the VPC Security Groups associated with the cache cluster.

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

Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withSecurityGroupIds(String... securityGroupIds) {
        if (getSecurityGroupIds() == nullsetSecurityGroupIds(new java.util.ArrayList<String>(securityGroupIds.length));
        for (String value : securityGroupIds) {
            getSecurityGroupIds().add(value);
        }
        return this;
    }
    
    
Specifies the VPC Security Groups associated with the cache cluster.

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

Returns a reference to this object so that method calls can be chained together.

Parameters:
securityGroupIds Specifies the VPC Security Groups associated with the cache cluster.

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

Returns:
A reference to this updated object so that method calls can be chained together.
        if (securityGroupIds == null) {
            this. = null;
        } else {
            com.amazonaws.internal.ListWithAutoConstructFlag<StringsecurityGroupIdsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(securityGroupIds.size());
            securityGroupIdsCopy.addAll(securityGroupIds);
            this. = securityGroupIdsCopy;
        }
        return this;
    }

    
Specifies the weekly time range during which maintenance on the cache 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:05:00-sun:09:00

Returns:
Specifies the weekly time range during which maintenance on the cache 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:05:00-sun:09:00

        return ;
    }
    
    
Specifies the weekly time range during which maintenance on the cache 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:05:00-sun:09:00

Parameters:
preferredMaintenanceWindow Specifies the weekly time range during which maintenance on the cache 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:05:00-sun:09:00

    public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
        this. = preferredMaintenanceWindow;
    }
    
    
Specifies the weekly time range during which maintenance on the cache 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:05:00-sun:09:00

Returns a reference to this object so that method calls can be chained together.

Parameters:
preferredMaintenanceWindow Specifies the weekly time range during which maintenance on the cache 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:05:00-sun:09:00

Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
        this. = preferredMaintenanceWindow;
        return this;
    }

    
The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. <note>The Amazon SNS topic owner must be same as the cache cluster owner. </note>

Returns:
The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. <note>The Amazon SNS topic owner must be same as the cache cluster owner. </note>
    public String getNotificationTopicArn() {
        return ;
    }
    
    
The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. <note>The Amazon SNS topic owner must be same as the cache cluster owner. </note>

Parameters:
notificationTopicArn The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. <note>The Amazon SNS topic owner must be same as the cache cluster owner. </note>
    public void setNotificationTopicArn(String notificationTopicArn) {
        this. = notificationTopicArn;
    }
    
    
The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. <note>The Amazon SNS topic owner must be same as the cache cluster owner. </note>

Returns a reference to this object so that method calls can be chained together.

Parameters:
notificationTopicArn The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. <note>The Amazon SNS topic owner must be same as the cache cluster owner. </note>
Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withNotificationTopicArn(String notificationTopicArn) {
        this. = notificationTopicArn;
        return this;
    }

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

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

Parameters:
cacheParameterGroupName The name of the cache parameter group to apply to this cache cluster. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.
    public void setCacheParameterGroupName(String cacheParameterGroupName) {
        this. = cacheParameterGroupName;
    }
    
    
The name of the cache parameter group to apply to this cache cluster. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.

Returns a reference to this object so that method calls can be chained together.

Parameters:
cacheParameterGroupName The name of the cache parameter group to apply to this cache cluster. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.
Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withCacheParameterGroupName(String cacheParameterGroupName) {
        this. = cacheParameterGroupName;
        return this;
    }

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

Valid values: active | inactive

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

Valid values: active | inactive

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

Valid values: active | inactive

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

Valid values: active | inactive

    public void setNotificationTopicStatus(String notificationTopicStatus) {
        this. = notificationTopicStatus;
    }
    
    
The status of the Amazon SNS notification topic. Notifications are sent only if the status is active.

Valid values: active | inactive

Returns a reference to this object so that method calls can be chained together.

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

Valid values: active | inactive

Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withNotificationTopicStatus(String notificationTopicStatus) {
        this. = notificationTopicStatus;
        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 cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. <important>If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.</important>

Valid values: true | false

Default: false

Returns:
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 cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. <important>If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.</important>

Valid values: true | false

Default: false

    public Boolean isApplyImmediately() {
        return ;
    }
    
    
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 cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. <important>If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.</important>

Valid values: true | false

Default: false

Parameters:
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 cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. <important>If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.</important>

Valid values: true | false

Default: false

    public void setApplyImmediately(Boolean applyImmediately) {
        this. = 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 cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. <important>If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.</important>

Valid values: true | false

Default: false

Returns a reference to this object so that method calls can be chained together.

Parameters:
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 cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. <important>If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.</important>

Valid values: true | false

Default: false

Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withApplyImmediately(Boolean applyImmediately) {
        this. = applyImmediately;
        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 cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. <important>If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.</important>

Valid values: true | false

Default: false

Returns:
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 cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. <important>If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.</important>

Valid values: true | false

Default: false

    public Boolean getApplyImmediately() {
        return ;
    }

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

Returns:
The upgraded version of the cache engine to be run on the cache nodes.
    public String getEngineVersion() {
        return ;
    }
    
    
The upgraded version of the cache engine to be run on the cache nodes.

Parameters:
engineVersion The upgraded version of the cache engine to be run on the cache nodes.
    public void setEngineVersion(String engineVersion) {
        this. = engineVersion;
    }
    
    
The upgraded version of the cache engine to be run on the cache nodes.

Returns a reference to this object so that method calls can be chained together.

Parameters:
engineVersion The upgraded version of the cache engine to be run on the cache nodes.
Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withEngineVersion(String engineVersion) {
        this. = engineVersion;
        return this;
    }

    
This parameter is currently disabled.

Returns:
This parameter is currently disabled.
        return ;
    }
    
    
This parameter is currently disabled.

Parameters:
autoMinorVersionUpgrade This parameter is currently disabled.
    public void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) {
        this. = autoMinorVersionUpgrade;
    }
    
    
This parameter is currently disabled.

Returns a reference to this object so that method calls can be chained together.

Parameters:
autoMinorVersionUpgrade This parameter is currently disabled.
Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) {
        this. = autoMinorVersionUpgrade;
        return this;
    }

    
This parameter is currently disabled.

Returns:
This parameter is currently disabled.
        return ;
    }

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

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

Returns:
The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

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

        return ;
    }
    
    
The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

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

Parameters:
snapshotRetentionLimit The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

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

    public void setSnapshotRetentionLimit(Integer snapshotRetentionLimit) {
        this. = snapshotRetentionLimit;
    }
    
    
The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

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

Returns a reference to this object so that method calls can be chained together.

Parameters:
snapshotRetentionLimit The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

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

Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withSnapshotRetentionLimit(Integer snapshotRetentionLimit) {
        this. = snapshotRetentionLimit;
        return this;
    }

    
The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.

Returns:
The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.
    public String getSnapshotWindow() {
        return ;
    }
    
    
The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.

Parameters:
snapshotWindow The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.
    public void setSnapshotWindow(String snapshotWindow) {
        this. = snapshotWindow;
    }
    
    
The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.

Returns a reference to this object so that method calls can be chained together.

Parameters:
snapshotWindow The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.
Returns:
A reference to this updated object so that method calls can be chained together.
    public ModifyCacheClusterRequest withSnapshotWindow(String snapshotWindow) {
        this. = snapshotWindow;
        return this;
    }

    
Returns a string representation of this object; useful for testing and debugging.

Returns:
A string representation of this object.
See also:
java.lang.Object.toString()
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getCacheClusterId() != nullsb.append("CacheClusterId: " + getCacheClusterId() + ",");
        if (getNumCacheNodes() != nullsb.append("NumCacheNodes: " + getNumCacheNodes() + ",");
        if (getCacheNodeIdsToRemove() != nullsb.append("CacheNodeIdsToRemove: " + getCacheNodeIdsToRemove() + ",");
        if (getAZMode() != nullsb.append("AZMode: " + getAZMode() + ",");
        if (getNewAvailabilityZones() != nullsb.append("NewAvailabilityZones: " + getNewAvailabilityZones() + ",");
        if (getCacheSecurityGroupNames() != nullsb.append("CacheSecurityGroupNames: " + getCacheSecurityGroupNames() + ",");
        if (getSecurityGroupIds() != nullsb.append("SecurityGroupIds: " + getSecurityGroupIds() + ",");
        if (getPreferredMaintenanceWindow() != nullsb.append("PreferredMaintenanceWindow: " + getPreferredMaintenanceWindow() + ",");
        if (getNotificationTopicArn() != nullsb.append("NotificationTopicArn: " + getNotificationTopicArn() + ",");
        if (getCacheParameterGroupName() != nullsb.append("CacheParameterGroupName: " + getCacheParameterGroupName() + ",");
        if (getNotificationTopicStatus() != nullsb.append("NotificationTopicStatus: " + getNotificationTopicStatus() + ",");
        if (isApplyImmediately() != nullsb.append("ApplyImmediately: " + isApplyImmediately() + ",");
        if (getEngineVersion() != nullsb.append("EngineVersion: " + getEngineVersion() + ",");
        if (isAutoMinorVersionUpgrade() != nullsb.append("AutoMinorVersionUpgrade: " + isAutoMinorVersionUpgrade() + ",");
        if (getSnapshotRetentionLimit() != nullsb.append("SnapshotRetentionLimit: " + getSnapshotRetentionLimit() + ",");
        if (getSnapshotWindow() != nullsb.append("SnapshotWindow: " + getSnapshotWindow() );
        sb.append("}");
        return sb.toString();
    }
    
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        
        hashCode = prime * hashCode + ((getCacheClusterId() == null) ? 0 : getCacheClusterId().hashCode()); 
        hashCode = prime * hashCode + ((getNumCacheNodes() == null) ? 0 : getNumCacheNodes().hashCode()); 
        hashCode = prime * hashCode + ((getCacheNodeIdsToRemove() == null) ? 0 : getCacheNodeIdsToRemove().hashCode()); 
        hashCode = prime * hashCode + ((getAZMode() == null) ? 0 : getAZMode().hashCode()); 
        hashCode = prime * hashCode + ((getNewAvailabilityZones() == null) ? 0 : getNewAvailabilityZones().hashCode()); 
        hashCode = prime * hashCode + ((getCacheSecurityGroupNames() == null) ? 0 : getCacheSecurityGroupNames().hashCode()); 
        hashCode = prime * hashCode + ((getSecurityGroupIds() == null) ? 0 : getSecurityGroupIds().hashCode()); 
        hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); 
        hashCode = prime * hashCode + ((getNotificationTopicArn() == null) ? 0 : getNotificationTopicArn().hashCode()); 
        hashCode = prime * hashCode + ((getCacheParameterGroupName() == null) ? 0 : getCacheParameterGroupName().hashCode()); 
        hashCode = prime * hashCode + ((getNotificationTopicStatus() == null) ? 0 : getNotificationTopicStatus().hashCode()); 
        hashCode = prime * hashCode + ((isApplyImmediately() == null) ? 0 : isApplyImmediately().hashCode()); 
        hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode()); 
        hashCode = prime * hashCode + ((isAutoMinorVersionUpgrade() == null) ? 0 : isAutoMinorVersionUpgrade().hashCode()); 
        hashCode = prime * hashCode + ((getSnapshotRetentionLimit() == null) ? 0 : getSnapshotRetentionLimit().hashCode()); 
        hashCode = prime * hashCode + ((getSnapshotWindow() == null) ? 0 : getSnapshotWindow().hashCode()); 
        return hashCode;
    }
    
    @Override
    public boolean equals(Object obj) {
        if (this == objreturn true;
        if (obj == nullreturn false;
        if (obj instanceof ModifyCacheClusterRequest == falsereturn false;
        
        if (other.getCacheClusterId() == null ^ this.getCacheClusterId() == nullreturn false;
        if (other.getCacheClusterId() != null && other.getCacheClusterId().equals(this.getCacheClusterId()) == falsereturn false
        if (other.getNumCacheNodes() == null ^ this.getNumCacheNodes() == nullreturn false;
        if (other.getNumCacheNodes() != null && other.getNumCacheNodes().equals(this.getNumCacheNodes()) == falsereturn false
        if (other.getCacheNodeIdsToRemove() == null ^ this.getCacheNodeIdsToRemove() == nullreturn false;
        if (other.getCacheNodeIdsToRemove() != null && other.getCacheNodeIdsToRemove().equals(this.getCacheNodeIdsToRemove()) == falsereturn false
        if (other.getAZMode() == null ^ this.getAZMode() == nullreturn false;
        if (other.getAZMode() != null && other.getAZMode().equals(this.getAZMode()) == falsereturn false
        if (other.getNewAvailabilityZones() == null ^ this.getNewAvailabilityZones() == nullreturn false;
        if (other.getNewAvailabilityZones() != null && other.getNewAvailabilityZones().equals(this.getNewAvailabilityZones()) == falsereturn false
        if (other.getCacheSecurityGroupNames() == null ^ this.getCacheSecurityGroupNames() == nullreturn false;
        if (other.getCacheSecurityGroupNames() != null && other.getCacheSecurityGroupNames().equals(this.getCacheSecurityGroupNames()) == falsereturn false
        if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == nullreturn false;
        if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals(this.getSecurityGroupIds()) == falsereturn false
        if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == nullreturn false;
        if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == falsereturn false
        if (other.getNotificationTopicArn() == null ^ this.getNotificationTopicArn() == nullreturn false;
        if (other.getNotificationTopicArn() != null && other.getNotificationTopicArn().equals(this.getNotificationTopicArn()) == falsereturn false
        if (other.getCacheParameterGroupName() == null ^ this.getCacheParameterGroupName() == nullreturn false;
        if (other.getCacheParameterGroupName() != null && other.getCacheParameterGroupName().equals(this.getCacheParameterGroupName()) == falsereturn false
        if (other.getNotificationTopicStatus() == null ^ this.getNotificationTopicStatus() == nullreturn false;
        if (other.getNotificationTopicStatus() != null && other.getNotificationTopicStatus().equals(this.getNotificationTopicStatus()) == falsereturn false
        if (other.isApplyImmediately() == null ^ this.isApplyImmediately() == nullreturn false;
        if (other.isApplyImmediately() != null && other.isApplyImmediately().equals(this.isApplyImmediately()) == falsereturn false
        if (other.getEngineVersion() == null ^ this.getEngineVersion() == nullreturn false;
        if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == falsereturn false
        if (other.isAutoMinorVersionUpgrade() == null ^ this.isAutoMinorVersionUpgrade() == nullreturn false;
        if (other.isAutoMinorVersionUpgrade() != null && other.isAutoMinorVersionUpgrade().equals(this.isAutoMinorVersionUpgrade()) == falsereturn false
        if (other.getSnapshotRetentionLimit() == null ^ this.getSnapshotRetentionLimit() == nullreturn false;
        if (other.getSnapshotRetentionLimit() != null && other.getSnapshotRetentionLimit().equals(this.getSnapshotRetentionLimit()) == falsereturn false
        if (other.getSnapshotWindow() == null ^ this.getSnapshotWindow() == nullreturn false;
        if (other.getSnapshotWindow() != null && other.getSnapshotWindow().equals(this.getSnapshotWindow()) == falsereturn false
        return true;
    }
    
    @Override
    public ModifyCacheClusterRequest clone() {
        
            return (ModifyCacheClusterRequestsuper.clone();
    }
}
    
New to GrepCode? Check out our FAQ X