All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.elasticache.model.ModifyCacheClusterRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon ElastiCache module holds the client classes that are used for communicating with Amazon ElastiCache Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2011-2016 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;

import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;

/**
 * 

* Represents the input of a ModifyCacheCluster action. *

*/ public class ModifyCacheClusterRequest extends AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* 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. *

* *

* 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. *

*/ private com.amazonaws.internal.SdkInternalList cacheNodeIdsToRemove; /** *

* 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. *

* *

* 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. *

*
*/ 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 *

*
    *
  • *

    * Scenario-1 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-2 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-3 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-4 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      * *

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

      *
    • *
    *
  • *
*

* Example: *

*

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

*/ private com.amazonaws.internal.SdkInternalList newAvailabilityZones; /** *

* 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". *

*/ private com.amazonaws.internal.SdkInternalList cacheSecurityGroupNames; /** *

* 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). *

*/ private com.amazonaws.internal.SdkInternalList securityGroupIds; /** *

* 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. *

* *

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

*
*/ 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. *

* *

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

*
*

* Valid values: true | false *

*

* Default: false *

*/ private Boolean applyImmediately; /** *

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

*

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

*/ 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. *

* *

* 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; /** *

* A valid cache node type that you want to scale this cache cluster to. The * value of this parameter must be one of the ScaleUpModifications * values returned by the ListAllowedCacheNodeTypeModification * action. *

*/ private String cacheNodeType; /** * Default constructor for ModifyCacheClusterRequest object. Callers should * use the setter or fluent setter (with...) methods to initialize the * 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. * * @param 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. *

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

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

* * @return The cache cluster identifier. This value is stored as a lowercase * string. */ public String getCacheClusterId() { return this.cacheClusterId; } /** *

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

* * @param cacheClusterId * The cache cluster identifier. This value is stored as a lowercase * string. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withCacheClusterId(String cacheClusterId) { setCacheClusterId(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. *

* *

* 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. *

*
* * @param 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. *

* *

* 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 = 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. *

* *

* 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. *

*
* * @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. *

* *

* 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 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. *

* *

* 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. *

*
* * @param 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. *

* *

* 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. *

* @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withNumCacheNodes(Integer numCacheNodes) { setNumCacheNodes(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. *

* * @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. */ public java.util.List getCacheNodeIdsToRemove() { if (cacheNodeIdsToRemove == null) { cacheNodeIdsToRemove = new com.amazonaws.internal.SdkInternalList(); } return 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. *

* * @param 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 cacheNodeIdsToRemove) { if (cacheNodeIdsToRemove == null) { this.cacheNodeIdsToRemove = null; return; } this.cacheNodeIdsToRemove = new com.amazonaws.internal.SdkInternalList( 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. *

*

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

* * @param 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. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withCacheNodeIdsToRemove( String... cacheNodeIdsToRemove) { if (this.cacheNodeIdsToRemove == null) { setCacheNodeIdsToRemove(new com.amazonaws.internal.SdkInternalList( cacheNodeIdsToRemove.length)); } for (String ele : cacheNodeIdsToRemove) { this.cacheNodeIdsToRemove.add(ele); } 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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withCacheNodeIdsToRemove( java.util.Collection cacheNodeIdsToRemove) { setCacheNodeIdsToRemove(cacheNodeIdsToRemove); 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. *

* *

* 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. *

*
* * @param 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. *

* *

* 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. *

* @see AZMode */ public void setAZMode(String aZMode) { this.aZMode = 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. *

* *

* 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. *

*
* * @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. *

* *

* 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. *

* @see AZMode */ public String getAZMode() { return 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. *

* *

* 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. *

*
* * @param 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. *

* *

* 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. *

* @return Returns a reference to this object so that method calls can be * chained together. * @see AZMode */ public ModifyCacheClusterRequest withAZMode(String aZMode) { setAZMode(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. *

* *

* 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. *

*
* * @param 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. *

* *

* 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. *

* @see AZMode */ public void setAZMode(AZMode aZMode) { this.aZMode = 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. *

* *

* 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. *

*
* * @param 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. *

* *

* 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. *

* @return Returns a reference to this object so that method calls can be * chained together. * @see AZMode */ public ModifyCacheClusterRequest withAZMode(AZMode aZMode) { setAZMode(aZMode); 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 *

*
    *
  • *

    * Scenario-1 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-2 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-3 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-4 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      * *

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

      *
    • *
    *
  • *
*

* Example: *

*

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

* * @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 *

*
    *
  • *

    * Scenario-1 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-2 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-3 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-4 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      * *

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

      *
    • *
    *
  • *
*

* Example: *

*

* NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c */ public java.util.List getNewAvailabilityZones() { if (newAvailabilityZones == null) { newAvailabilityZones = new com.amazonaws.internal.SdkInternalList(); } return 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 *

*
    *
  • *

    * Scenario-1 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-2 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-3 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-4 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      * *

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

      *
    • *
    *
  • *
*

* Example: *

*

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

* * @param 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 *

*
    *
  • *

    * Scenario-1 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-2 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-3 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-4 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      * *

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

      *
    • *
    *
  • *
*

* 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 newAvailabilityZones) { if (newAvailabilityZones == null) { this.newAvailabilityZones = null; return; } this.newAvailabilityZones = new com.amazonaws.internal.SdkInternalList( 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 *

*
    *
  • *

    * Scenario-1 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-2 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-3 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-4 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      * *

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

      *
    • *
    *
  • *
*

* 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 {@link #setNewAvailabilityZones(java.util.Collection)} or * {@link #withNewAvailabilityZones(java.util.Collection)} if you want to * override the existing values. *

* * @param 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 *

*
    *
  • *

    * Scenario-1 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-2 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-3 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-4 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      * *

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

      *
    • *
    *
  • *
*

* Example: *

*

* NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withNewAvailabilityZones( String... newAvailabilityZones) { if (this.newAvailabilityZones == null) { setNewAvailabilityZones(new com.amazonaws.internal.SdkInternalList( newAvailabilityZones.length)); } for (String ele : newAvailabilityZones) { this.newAvailabilityZones.add(ele); } 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 *

*
    *
  • *

    * Scenario-1 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-2 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-3 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-4 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      * *

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

      *
    • *
    *
  • *
*

* Example: *

*

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

* * @param 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 *

*
    *
  • *

    * Scenario-1 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-2 *

    *
      *
    • *

      * Pending Action: Delete *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-3 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Delete *

      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * Scenario-4 *

    *
      *
    • *

      * Pending Action: Create *

      *
    • *
    • *

      * New Request: Create *

      *
    • *
    • *

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

      * *

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

      *
    • *
    *
  • *
*

* Example: *

*

* NewAvailabilityZones.member.1=us-west-2a&NewAvailabilityZones.member.2=us-west-2b&NewAvailabilityZones.member.3=us-west-2c * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withNewAvailabilityZones( java.util.Collection newAvailabilityZones) { setNewAvailabilityZones(newAvailabilityZones); 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". *

* * @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". */ public java.util.List getCacheSecurityGroupNames() { if (cacheSecurityGroupNames == null) { cacheSecurityGroupNames = new com.amazonaws.internal.SdkInternalList(); } return 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". *

* * @param 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 cacheSecurityGroupNames) { if (cacheSecurityGroupNames == null) { this.cacheSecurityGroupNames = null; return; } this.cacheSecurityGroupNames = new com.amazonaws.internal.SdkInternalList( 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". *

*

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

* * @param 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". * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withCacheSecurityGroupNames( String... cacheSecurityGroupNames) { if (this.cacheSecurityGroupNames == null) { setCacheSecurityGroupNames(new com.amazonaws.internal.SdkInternalList( cacheSecurityGroupNames.length)); } for (String ele : cacheSecurityGroupNames) { this.cacheSecurityGroupNames.add(ele); } 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". *

* * @param 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". * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withCacheSecurityGroupNames( java.util.Collection cacheSecurityGroupNames) { setCacheSecurityGroupNames(cacheSecurityGroupNames); 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). *

* * @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). */ public java.util.List getSecurityGroupIds() { if (securityGroupIds == null) { securityGroupIds = new com.amazonaws.internal.SdkInternalList(); } return 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). *

* * @param 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 securityGroupIds) { if (securityGroupIds == null) { this.securityGroupIds = null; return; } this.securityGroupIds = new com.amazonaws.internal.SdkInternalList( 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). *

*

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

* * @param 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). * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withSecurityGroupIds( String... securityGroupIds) { if (this.securityGroupIds == null) { setSecurityGroupIds(new com.amazonaws.internal.SdkInternalList( securityGroupIds.length)); } for (String ele : securityGroupIds) { this.securityGroupIds.add(ele); } 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). *

* * @param 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). * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withSecurityGroupIds( java.util.Collection securityGroupIds) { setSecurityGroupIds(securityGroupIds); 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 *

* * @param 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 = 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 *

* * @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 */ public String getPreferredMaintenanceWindow() { return 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 *

* * @param 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 * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withPreferredMaintenanceWindow( String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** *

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

* *

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

*
* * @param notificationTopicArn * The Amazon Resource Name (ARN) of the Amazon SNS topic to which * notifications will be sent.

*

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

*/ public void setNotificationTopicArn(String notificationTopicArn) { this.notificationTopicArn = notificationTopicArn; } /** *

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

* *

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

*
* * @return The Amazon Resource Name (ARN) of the Amazon SNS topic to which * notifications will be sent.

*

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

*/ public String getNotificationTopicArn() { return this.notificationTopicArn; } /** *

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

* *

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

*
* * @param notificationTopicArn * The Amazon Resource Name (ARN) of the Amazon SNS topic to which * notifications will be sent.

*

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

* @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withNotificationTopicArn( String notificationTopicArn) { setNotificationTopicArn(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. *

* * @param 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 = 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. *

* * @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. */ public String getCacheParameterGroupName() { return 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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withCacheParameterGroupName( String cacheParameterGroupName) { setCacheParameterGroupName(cacheParameterGroupName); return this; } /** *

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

*

* Valid values: active | inactive *

* * @param 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 = notificationTopicStatus; } /** *

* 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 */ public String getNotificationTopicStatus() { return this.notificationTopicStatus; } /** *

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

*

* Valid values: active | inactive *

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

*

* Valid values: active | inactive * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withNotificationTopicStatus( String notificationTopicStatus) { setNotificationTopicStatus(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. *

* *

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

*
*

* Valid values: true | false *

*

* Default: false *

* * @param 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. *

* *

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

*
*

* Valid values: true | false *

*

* Default: false */ public void setApplyImmediately(Boolean applyImmediately) { this.applyImmediately = 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. *

* *

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

*
*

* Valid values: true | false *

*

* Default: false *

* * @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. *

* *

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

*
*

* Valid values: true | false *

*

* Default: false */ public Boolean getApplyImmediately() { return 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. *

* *

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

*
*

* Valid values: true | false *

*

* Default: false *

* * @param 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. *

* *

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

*
*

* Valid values: true | false *

*

* Default: false * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withApplyImmediately( Boolean applyImmediately) { setApplyImmediately(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. *

* *

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

*
*

* Valid values: true | false *

*

* Default: false *

* * @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. *

* *

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

*
*

* Valid values: true | false *

*

* Default: false */ public Boolean isApplyImmediately() { return this.applyImmediately; } /** *

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

*

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

* * @param engineVersion * The upgraded version of the cache engine to be run on the cache * nodes.

*

* Important: You can upgrade to a newer engine version (see * Selecting a Cache Engine and Version), but you cannot * downgrade to an earlier engine version. If you want to use an * earlier engine version, you must delete the existing cache cluster * and create it anew with the earlier engine version. */ public void setEngineVersion(String engineVersion) { this.engineVersion = engineVersion; } /** *

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

*

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

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

*

* Important: You can upgrade to a newer engine version (see * Selecting a Cache Engine and Version), but you cannot * downgrade to an earlier engine version. If you want to use an * earlier engine version, you must delete the existing cache * cluster and create it anew with the earlier engine version. */ public String getEngineVersion() { return this.engineVersion; } /** *

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

*

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

* * @param engineVersion * The upgraded version of the cache engine to be run on the cache * nodes.

*

* Important: You can upgrade to a newer engine version (see * Selecting a Cache Engine and Version), but you cannot * downgrade to an earlier engine version. If you want to use an * earlier engine version, you must delete the existing cache cluster * and create it anew with the earlier engine version. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withEngineVersion(String engineVersion) { setEngineVersion(engineVersion); return this; } /** *

* This parameter is currently disabled. *

* * @param autoMinorVersionUpgrade * This parameter is currently disabled. */ public void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { this.autoMinorVersionUpgrade = autoMinorVersionUpgrade; } /** *

* This parameter is currently disabled. *

* * @return This parameter is currently disabled. */ public Boolean getAutoMinorVersionUpgrade() { return this.autoMinorVersionUpgrade; } /** *

* This parameter is currently disabled. *

* * @param autoMinorVersionUpgrade * This parameter is currently disabled. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withAutoMinorVersionUpgrade( Boolean autoMinorVersionUpgrade) { setAutoMinorVersionUpgrade(autoMinorVersionUpgrade); return this; } /** *

* This parameter is currently disabled. *

* * @return This parameter is currently disabled. */ public Boolean isAutoMinorVersionUpgrade() { return this.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. *

* *

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

*
* * @param 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.

* *

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

*/ public void setSnapshotRetentionLimit(Integer snapshotRetentionLimit) { this.snapshotRetentionLimit = 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. *

* *

* 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.

* *

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

*/ public Integer getSnapshotRetentionLimit() { return 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. *

* *

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

*
* * @param 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.

* *

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

* @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withSnapshotRetentionLimit( Integer snapshotRetentionLimit) { setSnapshotRetentionLimit(snapshotRetentionLimit); return this; } /** *

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

* * @param 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 = snapshotWindow; } /** *

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

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

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

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

* A valid cache node type that you want to scale this cache cluster to. The * value of this parameter must be one of the ScaleUpModifications * values returned by the ListAllowedCacheNodeTypeModification * action. *

* * @param cacheNodeType * A valid cache node type that you want to scale this cache cluster * to. The value of this parameter must be one of the * ScaleUpModifications values returned by the * ListAllowedCacheNodeTypeModification action. */ public void setCacheNodeType(String cacheNodeType) { this.cacheNodeType = cacheNodeType; } /** *

* A valid cache node type that you want to scale this cache cluster to. The * value of this parameter must be one of the ScaleUpModifications * values returned by the ListAllowedCacheNodeTypeModification * action. *

* * @return A valid cache node type that you want to scale this cache cluster * to. The value of this parameter must be one of the * ScaleUpModifications values returned by the * ListAllowedCacheNodeTypeModification action. */ public String getCacheNodeType() { return this.cacheNodeType; } /** *

* A valid cache node type that you want to scale this cache cluster to. The * value of this parameter must be one of the ScaleUpModifications * values returned by the ListAllowedCacheNodeTypeModification * action. *

* * @param cacheNodeType * A valid cache node type that you want to scale this cache cluster * to. The value of this parameter must be one of the * ScaleUpModifications values returned by the * ListAllowedCacheNodeTypeModification action. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyCacheClusterRequest withCacheNodeType(String cacheNodeType) { setCacheNodeType(cacheNodeType); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getCacheClusterId() != null) sb.append("CacheClusterId: " + getCacheClusterId() + ","); if (getNumCacheNodes() != null) sb.append("NumCacheNodes: " + getNumCacheNodes() + ","); if (getCacheNodeIdsToRemove() != null) sb.append("CacheNodeIdsToRemove: " + getCacheNodeIdsToRemove() + ","); if (getAZMode() != null) sb.append("AZMode: " + getAZMode() + ","); if (getNewAvailabilityZones() != null) sb.append("NewAvailabilityZones: " + getNewAvailabilityZones() + ","); if (getCacheSecurityGroupNames() != null) sb.append("CacheSecurityGroupNames: " + getCacheSecurityGroupNames() + ","); if (getSecurityGroupIds() != null) sb.append("SecurityGroupIds: " + getSecurityGroupIds() + ","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: " + getPreferredMaintenanceWindow() + ","); if (getNotificationTopicArn() != null) sb.append("NotificationTopicArn: " + getNotificationTopicArn() + ","); if (getCacheParameterGroupName() != null) sb.append("CacheParameterGroupName: " + getCacheParameterGroupName() + ","); if (getNotificationTopicStatus() != null) sb.append("NotificationTopicStatus: " + getNotificationTopicStatus() + ","); if (getApplyImmediately() != null) sb.append("ApplyImmediately: " + getApplyImmediately() + ","); if (getEngineVersion() != null) sb.append("EngineVersion: " + getEngineVersion() + ","); if (getAutoMinorVersionUpgrade() != null) sb.append("AutoMinorVersionUpgrade: " + getAutoMinorVersionUpgrade() + ","); if (getSnapshotRetentionLimit() != null) sb.append("SnapshotRetentionLimit: " + getSnapshotRetentionLimit() + ","); if (getSnapshotWindow() != null) sb.append("SnapshotWindow: " + getSnapshotWindow() + ","); if (getCacheNodeType() != null) sb.append("CacheNodeType: " + getCacheNodeType()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ModifyCacheClusterRequest == false) return false; ModifyCacheClusterRequest other = (ModifyCacheClusterRequest) obj; if (other.getCacheClusterId() == null ^ this.getCacheClusterId() == null) return false; if (other.getCacheClusterId() != null && other.getCacheClusterId().equals(this.getCacheClusterId()) == false) return false; if (other.getNumCacheNodes() == null ^ this.getNumCacheNodes() == null) return false; if (other.getNumCacheNodes() != null && other.getNumCacheNodes().equals(this.getNumCacheNodes()) == false) return false; if (other.getCacheNodeIdsToRemove() == null ^ this.getCacheNodeIdsToRemove() == null) return false; if (other.getCacheNodeIdsToRemove() != null && other.getCacheNodeIdsToRemove().equals( this.getCacheNodeIdsToRemove()) == false) return false; if (other.getAZMode() == null ^ this.getAZMode() == null) return false; if (other.getAZMode() != null && other.getAZMode().equals(this.getAZMode()) == false) return false; if (other.getNewAvailabilityZones() == null ^ this.getNewAvailabilityZones() == null) return false; if (other.getNewAvailabilityZones() != null && other.getNewAvailabilityZones().equals( this.getNewAvailabilityZones()) == false) return false; if (other.getCacheSecurityGroupNames() == null ^ this.getCacheSecurityGroupNames() == null) return false; if (other.getCacheSecurityGroupNames() != null && other.getCacheSecurityGroupNames().equals( this.getCacheSecurityGroupNames()) == false) return false; if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == null) return false; if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals( this.getSecurityGroupIds()) == false) return false; if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals( this.getPreferredMaintenanceWindow()) == false) return false; if (other.getNotificationTopicArn() == null ^ this.getNotificationTopicArn() == null) return false; if (other.getNotificationTopicArn() != null && other.getNotificationTopicArn().equals( this.getNotificationTopicArn()) == false) return false; if (other.getCacheParameterGroupName() == null ^ this.getCacheParameterGroupName() == null) return false; if (other.getCacheParameterGroupName() != null && other.getCacheParameterGroupName().equals( this.getCacheParameterGroupName()) == false) return false; if (other.getNotificationTopicStatus() == null ^ this.getNotificationTopicStatus() == null) return false; if (other.getNotificationTopicStatus() != null && other.getNotificationTopicStatus().equals( this.getNotificationTopicStatus()) == false) return false; if (other.getApplyImmediately() == null ^ this.getApplyImmediately() == null) return false; if (other.getApplyImmediately() != null && other.getApplyImmediately().equals( this.getApplyImmediately()) == false) return false; if (other.getEngineVersion() == null ^ this.getEngineVersion() == null) return false; if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false) return false; if (other.getAutoMinorVersionUpgrade() == null ^ this.getAutoMinorVersionUpgrade() == null) return false; if (other.getAutoMinorVersionUpgrade() != null && other.getAutoMinorVersionUpgrade().equals( this.getAutoMinorVersionUpgrade()) == false) return false; if (other.getSnapshotRetentionLimit() == null ^ this.getSnapshotRetentionLimit() == null) return false; if (other.getSnapshotRetentionLimit() != null && other.getSnapshotRetentionLimit().equals( this.getSnapshotRetentionLimit()) == false) return false; if (other.getSnapshotWindow() == null ^ this.getSnapshotWindow() == null) return false; if (other.getSnapshotWindow() != null && other.getSnapshotWindow().equals(this.getSnapshotWindow()) == false) return false; if (other.getCacheNodeType() == null ^ this.getCacheNodeType() == null) return false; if (other.getCacheNodeType() != null && other.getCacheNodeType().equals(this.getCacheNodeType()) == false) return false; return true; } @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 + ((getApplyImmediately() == null) ? 0 : getApplyImmediately() .hashCode()); hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion() .hashCode()); hashCode = prime * hashCode + ((getAutoMinorVersionUpgrade() == null) ? 0 : getAutoMinorVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getSnapshotRetentionLimit() == null) ? 0 : getSnapshotRetentionLimit().hashCode()); hashCode = prime * hashCode + ((getSnapshotWindow() == null) ? 0 : getSnapshotWindow() .hashCode()); hashCode = prime * hashCode + ((getCacheNodeType() == null) ? 0 : getCacheNodeType() .hashCode()); return hashCode; } @Override public ModifyCacheClusterRequest clone() { return (ModifyCacheClusterRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy