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

com.amazonaws.services.elasticache.model.CacheCluster 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 2012-2018 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 javax.annotation.Generated;

/**
 * 

* Contains all of the attributes of a specific cluster. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CacheCluster implements Serializable, Cloneable { /** *

* The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster. *

*/ private String cacheClusterId; /** *

* Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be used by * an application to connect to any node in the cluster. The configuration endpoint will always have * .cfg in it. *

*

* Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 *

*/ private Endpoint configurationEndpoint; /** *

* The URL of the web page where you can download the latest ElastiCache client library. *

*/ private String clientDownloadLandingPage; /** *

* The name of the compute and memory capacity node type for the cluster. *

*

* The following node types are supported by ElastiCache. Generally speaking, the current generation types provide * more memory and computational power at lower cost when compared to their equivalent previous generation * counterparts. *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: *

      *

      * T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium *

      *

      * M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, * cache.m3.2xlarge *

      *

      * M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, * cache.m4.4xlarge, cache.m4.10xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * T1 node types: cache.t1.micro *

      *

      * M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, * cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC). *

    *
  • *
  • *

    * Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances. *

    *
  • *
  • *

    * Redis (cluster mode enabled): Backup/restore is not supported on T1 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances. *

    *
  • *
*

* For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either * Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. *

*/ private String cacheNodeType; /** *

* The name of the cache engine (memcached or redis) to be used for this cluster. *

*/ private String engine; /** *

* The version of the cache engine that is used in this cluster. *

*/ private String engineVersion; /** *

* The current state of this cluster, one of the following values: available, creating, * deleted, deleting, incompatible-network, modifying, * rebooting cluster nodes, restore-failed, or snapshotting. *

*/ private String cacheClusterStatus; /** *

* The number of cache nodes in the cluster. *

*

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

*/ private Integer numCacheNodes; /** *

* The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are located in * different Availability Zones. *

*/ private String preferredAvailabilityZone; /** *

* The date and time when the cluster was created. *

*/ private java.util.Date cacheClusterCreateTime; /** *

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

*

* Valid values for ddd are: *

*
    *
  • *

    * sun *

    *
  • *
  • *

    * mon *

    *
  • *
  • *

    * tue *

    *
  • *
  • *

    * wed *

    *
  • *
  • *

    * thu *

    *
  • *
  • *

    * fri *

    *
  • *
  • *

    * sat *

    *
  • *
*

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

*/ private String preferredMaintenanceWindow; private PendingModifiedValues pendingModifiedValues; /** *

* Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to * subscribers using Amazon Simple Notification Service (SNS). *

*/ private NotificationConfiguration notificationConfiguration; /** *

* A list of cache security group elements, composed of name and status sub-elements. *

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

* Status of the cache parameter group. *

*/ private CacheParameterGroupStatus cacheParameterGroup; /** *

* The name of the cache subnet group associated with the cluster. *

*/ private String cacheSubnetGroupName; /** *

* A list of cache nodes that are members of the cluster. *

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

* This parameter is currently disabled. *

*/ private Boolean autoMinorVersionUpgrade; /** *

* A list of VPC Security Groups associated with the cluster. *

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

* The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with * any replication group. *

*/ private String replicationGroupId; /** *

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

* *

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

*
*/ private Integer snapshotRetentionLimit; /** *

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

*

* Example: 05:00-09:00 *

*/ private String snapshotWindow; /** *

* A flag that enables using an AuthToken (password) when issuing Redis commands. *

*

* Default: false *

*/ private Boolean authTokenEnabled; /** *

* A flag that enables in-transit encryption when set to true. *

*

* You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable * in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when * you create a cluster. *

*

* Default: false *

*/ private Boolean transitEncryptionEnabled; /** *

* A flag that enables encryption at-rest when set to true. *

*

* You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable * at-rest encryption on a cluster you must set AtRestEncryptionEnabled to true when you * create a cluster. *

*

* Default: false *

*/ private Boolean atRestEncryptionEnabled; /** *

* The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster. *

* * @param cacheClusterId * The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster. */ public void setCacheClusterId(String cacheClusterId) { this.cacheClusterId = cacheClusterId; } /** *

* The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster. *

* * @return The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster. */ public String getCacheClusterId() { return this.cacheClusterId; } /** *

* The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster. *

* * @param cacheClusterId * The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheClusterId(String cacheClusterId) { setCacheClusterId(cacheClusterId); return this; } /** *

* Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be used by * an application to connect to any node in the cluster. The configuration endpoint will always have * .cfg in it. *

*

* Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 *

* * @param configurationEndpoint * Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be * used by an application to connect to any node in the cluster. The configuration endpoint will always have * .cfg in it.

*

* Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 */ public void setConfigurationEndpoint(Endpoint configurationEndpoint) { this.configurationEndpoint = configurationEndpoint; } /** *

* Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be used by * an application to connect to any node in the cluster. The configuration endpoint will always have * .cfg in it. *

*

* Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 *

* * @return Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be * used by an application to connect to any node in the cluster. The configuration endpoint will always have * .cfg in it.

*

* Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 */ public Endpoint getConfigurationEndpoint() { return this.configurationEndpoint; } /** *

* Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be used by * an application to connect to any node in the cluster. The configuration endpoint will always have * .cfg in it. *

*

* Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 *

* * @param configurationEndpoint * Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be * used by an application to connect to any node in the cluster. The configuration endpoint will always have * .cfg in it.

*

* Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withConfigurationEndpoint(Endpoint configurationEndpoint) { setConfigurationEndpoint(configurationEndpoint); return this; } /** *

* The URL of the web page where you can download the latest ElastiCache client library. *

* * @param clientDownloadLandingPage * The URL of the web page where you can download the latest ElastiCache client library. */ public void setClientDownloadLandingPage(String clientDownloadLandingPage) { this.clientDownloadLandingPage = clientDownloadLandingPage; } /** *

* The URL of the web page where you can download the latest ElastiCache client library. *

* * @return The URL of the web page where you can download the latest ElastiCache client library. */ public String getClientDownloadLandingPage() { return this.clientDownloadLandingPage; } /** *

* The URL of the web page where you can download the latest ElastiCache client library. *

* * @param clientDownloadLandingPage * The URL of the web page where you can download the latest ElastiCache client library. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withClientDownloadLandingPage(String clientDownloadLandingPage) { setClientDownloadLandingPage(clientDownloadLandingPage); return this; } /** *

* The name of the compute and memory capacity node type for the cluster. *

*

* The following node types are supported by ElastiCache. Generally speaking, the current generation types provide * more memory and computational power at lower cost when compared to their equivalent previous generation * counterparts. *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: *

      *

      * T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium *

      *

      * M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, * cache.m3.2xlarge *

      *

      * M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, * cache.m4.4xlarge, cache.m4.10xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * T1 node types: cache.t1.micro *

      *

      * M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, * cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC). *

    *
  • *
  • *

    * Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances. *

    *
  • *
  • *

    * Redis (cluster mode enabled): Backup/restore is not supported on T1 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances. *

    *
  • *
*

* For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either * Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. *

* * @param cacheNodeType * The name of the compute and memory capacity node type for the cluster.

*

* The following node types are supported by ElastiCache. Generally speaking, the current generation types * provide more memory and computational power at lower cost when compared to their equivalent previous * generation counterparts. *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: *

      *

      * T2 node types: cache.t2.micro, cache.t2.small, * cache.t2.medium *

      *

      * M3 node types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *

      * M4 node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * T1 node types: cache.t1.micro *

      *

      * M1 node types: cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R3 node types: cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * M2 node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC). *

    *
  • *
  • *

    * Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances. *

    *
  • *
  • *

    * Redis (cluster mode enabled): Backup/restore is not supported on T1 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances. *

    *
  • *
*

* For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and * either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. */ public void setCacheNodeType(String cacheNodeType) { this.cacheNodeType = cacheNodeType; } /** *

* The name of the compute and memory capacity node type for the cluster. *

*

* The following node types are supported by ElastiCache. Generally speaking, the current generation types provide * more memory and computational power at lower cost when compared to their equivalent previous generation * counterparts. *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: *

      *

      * T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium *

      *

      * M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, * cache.m3.2xlarge *

      *

      * M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, * cache.m4.4xlarge, cache.m4.10xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * T1 node types: cache.t1.micro *

      *

      * M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, * cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC). *

    *
  • *
  • *

    * Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances. *

    *
  • *
  • *

    * Redis (cluster mode enabled): Backup/restore is not supported on T1 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances. *

    *
  • *
*

* For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either * Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. *

* * @return The name of the compute and memory capacity node type for the cluster.

*

* The following node types are supported by ElastiCache. Generally speaking, the current generation types * provide more memory and computational power at lower cost when compared to their equivalent previous * generation counterparts. *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: *

      *

      * T2 node types: cache.t2.micro, cache.t2.small, * cache.t2.medium *

      *

      * M3 node types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *

      * M4 node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * T1 node types: cache.t1.micro *

      *

      * M1 node types: cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R3 node types: cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * M2 node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC). *

    *
  • *
  • *

    * Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances. *

    *
  • *
  • *

    * Redis (cluster mode enabled): Backup/restore is not supported on T1 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances. *

    *
  • *
*

* For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and * either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. */ public String getCacheNodeType() { return this.cacheNodeType; } /** *

* The name of the compute and memory capacity node type for the cluster. *

*

* The following node types are supported by ElastiCache. Generally speaking, the current generation types provide * more memory and computational power at lower cost when compared to their equivalent previous generation * counterparts. *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: *

      *

      * T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium *

      *

      * M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, * cache.m3.2xlarge *

      *

      * M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, * cache.m4.4xlarge, cache.m4.10xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * T1 node types: cache.t1.micro *

      *

      * M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, * cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, * cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC). *

    *
  • *
  • *

    * Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances. *

    *
  • *
  • *

    * Redis (cluster mode enabled): Backup/restore is not supported on T1 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances. *

    *
  • *
*

* For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either * Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. *

* * @param cacheNodeType * The name of the compute and memory capacity node type for the cluster.

*

* The following node types are supported by ElastiCache. Generally speaking, the current generation types * provide more memory and computational power at lower cost when compared to their equivalent previous * generation counterparts. *

*
    *
  • *

    * General purpose: *

    *
      *
    • *

      * Current generation: *

      *

      * T2 node types: cache.t2.micro, cache.t2.small, * cache.t2.medium *

      *

      * M3 node types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge *

      *

      * M4 node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * T1 node types: cache.t1.micro *

      *

      * M1 node types: cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge *

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R3 node types: cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended) *

      *

      * M2 node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge *

      *
    • *
    *
  • *
*

* Notes: *

*
    *
  • *

    * All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC). *

    *
  • *
  • *

    * Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances. *

    *
  • *
  • *

    * Redis (cluster mode enabled): Backup/restore is not supported on T1 instances. *

    *
  • *
  • *

    * Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances. *

    *
  • *
*

* For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and * either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheNodeType(String cacheNodeType) { setCacheNodeType(cacheNodeType); return this; } /** *

* The name of the cache engine (memcached or redis) to be used for this cluster. *

* * @param engine * The name of the cache engine (memcached or redis) to be used for this cluster. */ public void setEngine(String engine) { this.engine = engine; } /** *

* The name of the cache engine (memcached or redis) to be used for this cluster. *

* * @return The name of the cache engine (memcached or redis) to be used for this cluster. */ public String getEngine() { return this.engine; } /** *

* The name of the cache engine (memcached or redis) to be used for this cluster. *

* * @param engine * The name of the cache engine (memcached or redis) to be used for this cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withEngine(String engine) { setEngine(engine); return this; } /** *

* The version of the cache engine that is used in this cluster. *

* * @param engineVersion * The version of the cache engine that is used in this cluster. */ public void setEngineVersion(String engineVersion) { this.engineVersion = engineVersion; } /** *

* The version of the cache engine that is used in this cluster. *

* * @return The version of the cache engine that is used in this cluster. */ public String getEngineVersion() { return this.engineVersion; } /** *

* The version of the cache engine that is used in this cluster. *

* * @param engineVersion * The version of the cache engine that is used in this cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withEngineVersion(String engineVersion) { setEngineVersion(engineVersion); return this; } /** *

* The current state of this cluster, one of the following values: available, creating, * deleted, deleting, incompatible-network, modifying, * rebooting cluster nodes, restore-failed, or snapshotting. *

* * @param cacheClusterStatus * The current state of this cluster, one of the following values: available, * creating, deleted, deleting, incompatible-network, * modifying, rebooting cluster nodes, restore-failed, or * snapshotting. */ public void setCacheClusterStatus(String cacheClusterStatus) { this.cacheClusterStatus = cacheClusterStatus; } /** *

* The current state of this cluster, one of the following values: available, creating, * deleted, deleting, incompatible-network, modifying, * rebooting cluster nodes, restore-failed, or snapshotting. *

* * @return The current state of this cluster, one of the following values: available, * creating, deleted, deleting, incompatible-network, * modifying, rebooting cluster nodes, restore-failed, or * snapshotting. */ public String getCacheClusterStatus() { return this.cacheClusterStatus; } /** *

* The current state of this cluster, one of the following values: available, creating, * deleted, deleting, incompatible-network, modifying, * rebooting cluster nodes, restore-failed, or snapshotting. *

* * @param cacheClusterStatus * The current state of this cluster, one of the following values: available, * creating, deleted, deleting, incompatible-network, * modifying, rebooting cluster nodes, restore-failed, or * snapshotting. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheClusterStatus(String cacheClusterStatus) { setCacheClusterStatus(cacheClusterStatus); return this; } /** *

* The number of cache nodes in the cluster. *

*

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

* * @param numCacheNodes * The number of cache nodes in the cluster.

*

* For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be * between 1 and 20. */ public void setNumCacheNodes(Integer numCacheNodes) { this.numCacheNodes = numCacheNodes; } /** *

* The number of cache nodes in the cluster. *

*

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

* * @return The number of cache nodes in the cluster.

*

* For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be * between 1 and 20. */ public Integer getNumCacheNodes() { return this.numCacheNodes; } /** *

* The number of cache nodes in the cluster. *

*

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

* * @param numCacheNodes * The number of cache nodes in the cluster.

*

* For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be * between 1 and 20. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withNumCacheNodes(Integer numCacheNodes) { setNumCacheNodes(numCacheNodes); return this; } /** *

* The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are located in * different Availability Zones. *

* * @param preferredAvailabilityZone * The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are * located in different Availability Zones. */ public void setPreferredAvailabilityZone(String preferredAvailabilityZone) { this.preferredAvailabilityZone = preferredAvailabilityZone; } /** *

* The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are located in * different Availability Zones. *

* * @return The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are * located in different Availability Zones. */ public String getPreferredAvailabilityZone() { return this.preferredAvailabilityZone; } /** *

* The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are located in * different Availability Zones. *

* * @param preferredAvailabilityZone * The name of the Availability Zone in which the cluster is located or "Multiple" if the cache nodes are * located in different Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withPreferredAvailabilityZone(String preferredAvailabilityZone) { setPreferredAvailabilityZone(preferredAvailabilityZone); return this; } /** *

* The date and time when the cluster was created. *

* * @param cacheClusterCreateTime * The date and time when the cluster was created. */ public void setCacheClusterCreateTime(java.util.Date cacheClusterCreateTime) { this.cacheClusterCreateTime = cacheClusterCreateTime; } /** *

* The date and time when the cluster was created. *

* * @return The date and time when the cluster was created. */ public java.util.Date getCacheClusterCreateTime() { return this.cacheClusterCreateTime; } /** *

* The date and time when the cluster was created. *

* * @param cacheClusterCreateTime * The date and time when the cluster was created. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheClusterCreateTime(java.util.Date cacheClusterCreateTime) { setCacheClusterCreateTime(cacheClusterCreateTime); return this; } /** *

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

*

* Valid values for ddd are: *

*
    *
  • *

    * sun *

    *
  • *
  • *

    * mon *

    *
  • *
  • *

    * tue *

    *
  • *
  • *

    * wed *

    *
  • *
  • *

    * thu *

    *
  • *
  • *

    * fri *

    *
  • *
  • *

    * sat *

    *
  • *
*

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

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

*

* Valid values for ddd are: *

*
    *
  • *

    * sun *

    *
  • *
  • *

    * mon *

    *
  • *
  • *

    * tue *

    *
  • *
  • *

    * wed *

    *
  • *
  • *

    * thu *

    *
  • *
  • *

    * fri *

    *
  • *
  • *

    * sat *

    *
  • *
*

* Example: sun:23:00-mon:01:30 */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** *

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

*

* Valid values for ddd are: *

*
    *
  • *

    * sun *

    *
  • *
  • *

    * mon *

    *
  • *
  • *

    * tue *

    *
  • *
  • *

    * wed *

    *
  • *
  • *

    * thu *

    *
  • *
  • *

    * fri *

    *
  • *
  • *

    * sat *

    *
  • *
*

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

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

*

* Valid values for ddd are: *

*
    *
  • *

    * sun *

    *
  • *
  • *

    * mon *

    *
  • *
  • *

    * tue *

    *
  • *
  • *

    * wed *

    *
  • *
  • *

    * thu *

    *
  • *
  • *

    * fri *

    *
  • *
  • *

    * sat *

    *
  • *
*

* Example: sun:23:00-mon:01:30 */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** *

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

*

* Valid values for ddd are: *

*
    *
  • *

    * sun *

    *
  • *
  • *

    * mon *

    *
  • *
  • *

    * tue *

    *
  • *
  • *

    * wed *

    *
  • *
  • *

    * thu *

    *
  • *
  • *

    * fri *

    *
  • *
  • *

    * sat *

    *
  • *
*

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

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

*

* Valid values for ddd are: *

*
    *
  • *

    * sun *

    *
  • *
  • *

    * mon *

    *
  • *
  • *

    * tue *

    *
  • *
  • *

    * wed *

    *
  • *
  • *

    * thu *

    *
  • *
  • *

    * fri *

    *
  • *
  • *

    * sat *

    *
  • *
*

* Example: sun:23:00-mon:01:30 * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withPreferredMaintenanceWindow(String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** * @param pendingModifiedValues */ public void setPendingModifiedValues(PendingModifiedValues pendingModifiedValues) { this.pendingModifiedValues = pendingModifiedValues; } /** * @return */ public PendingModifiedValues getPendingModifiedValues() { return this.pendingModifiedValues; } /** * @param pendingModifiedValues * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withPendingModifiedValues(PendingModifiedValues pendingModifiedValues) { setPendingModifiedValues(pendingModifiedValues); return this; } /** *

* Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to * subscribers using Amazon Simple Notification Service (SNS). *

* * @param notificationConfiguration * Describes a notification topic and its status. Notification topics are used for publishing ElastiCache * events to subscribers using Amazon Simple Notification Service (SNS). */ public void setNotificationConfiguration(NotificationConfiguration notificationConfiguration) { this.notificationConfiguration = notificationConfiguration; } /** *

* Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to * subscribers using Amazon Simple Notification Service (SNS). *

* * @return Describes a notification topic and its status. Notification topics are used for publishing ElastiCache * events to subscribers using Amazon Simple Notification Service (SNS). */ public NotificationConfiguration getNotificationConfiguration() { return this.notificationConfiguration; } /** *

* Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to * subscribers using Amazon Simple Notification Service (SNS). *

* * @param notificationConfiguration * Describes a notification topic and its status. Notification topics are used for publishing ElastiCache * events to subscribers using Amazon Simple Notification Service (SNS). * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withNotificationConfiguration(NotificationConfiguration notificationConfiguration) { setNotificationConfiguration(notificationConfiguration); return this; } /** *

* A list of cache security group elements, composed of name and status sub-elements. *

* * @return A list of cache security group elements, composed of name and status sub-elements. */ public java.util.List getCacheSecurityGroups() { if (cacheSecurityGroups == null) { cacheSecurityGroups = new com.amazonaws.internal.SdkInternalList(); } return cacheSecurityGroups; } /** *

* A list of cache security group elements, composed of name and status sub-elements. *

* * @param cacheSecurityGroups * A list of cache security group elements, composed of name and status sub-elements. */ public void setCacheSecurityGroups(java.util.Collection cacheSecurityGroups) { if (cacheSecurityGroups == null) { this.cacheSecurityGroups = null; return; } this.cacheSecurityGroups = new com.amazonaws.internal.SdkInternalList(cacheSecurityGroups); } /** *

* A list of cache security group elements, composed of name and status sub-elements. *

*

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

* * @param cacheSecurityGroups * A list of cache security group elements, composed of name and status sub-elements. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheSecurityGroups(CacheSecurityGroupMembership... cacheSecurityGroups) { if (this.cacheSecurityGroups == null) { setCacheSecurityGroups(new com.amazonaws.internal.SdkInternalList(cacheSecurityGroups.length)); } for (CacheSecurityGroupMembership ele : cacheSecurityGroups) { this.cacheSecurityGroups.add(ele); } return this; } /** *

* A list of cache security group elements, composed of name and status sub-elements. *

* * @param cacheSecurityGroups * A list of cache security group elements, composed of name and status sub-elements. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheSecurityGroups(java.util.Collection cacheSecurityGroups) { setCacheSecurityGroups(cacheSecurityGroups); return this; } /** *

* Status of the cache parameter group. *

* * @param cacheParameterGroup * Status of the cache parameter group. */ public void setCacheParameterGroup(CacheParameterGroupStatus cacheParameterGroup) { this.cacheParameterGroup = cacheParameterGroup; } /** *

* Status of the cache parameter group. *

* * @return Status of the cache parameter group. */ public CacheParameterGroupStatus getCacheParameterGroup() { return this.cacheParameterGroup; } /** *

* Status of the cache parameter group. *

* * @param cacheParameterGroup * Status of the cache parameter group. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheParameterGroup(CacheParameterGroupStatus cacheParameterGroup) { setCacheParameterGroup(cacheParameterGroup); return this; } /** *

* The name of the cache subnet group associated with the cluster. *

* * @param cacheSubnetGroupName * The name of the cache subnet group associated with the cluster. */ public void setCacheSubnetGroupName(String cacheSubnetGroupName) { this.cacheSubnetGroupName = cacheSubnetGroupName; } /** *

* The name of the cache subnet group associated with the cluster. *

* * @return The name of the cache subnet group associated with the cluster. */ public String getCacheSubnetGroupName() { return this.cacheSubnetGroupName; } /** *

* The name of the cache subnet group associated with the cluster. *

* * @param cacheSubnetGroupName * The name of the cache subnet group associated with the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheSubnetGroupName(String cacheSubnetGroupName) { setCacheSubnetGroupName(cacheSubnetGroupName); return this; } /** *

* A list of cache nodes that are members of the cluster. *

* * @return A list of cache nodes that are members of the cluster. */ public java.util.List getCacheNodes() { if (cacheNodes == null) { cacheNodes = new com.amazonaws.internal.SdkInternalList(); } return cacheNodes; } /** *

* A list of cache nodes that are members of the cluster. *

* * @param cacheNodes * A list of cache nodes that are members of the cluster. */ public void setCacheNodes(java.util.Collection cacheNodes) { if (cacheNodes == null) { this.cacheNodes = null; return; } this.cacheNodes = new com.amazonaws.internal.SdkInternalList(cacheNodes); } /** *

* A list of cache nodes that are members of the cluster. *

*

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

* * @param cacheNodes * A list of cache nodes that are members of the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheNodes(CacheNode... cacheNodes) { if (this.cacheNodes == null) { setCacheNodes(new com.amazonaws.internal.SdkInternalList(cacheNodes.length)); } for (CacheNode ele : cacheNodes) { this.cacheNodes.add(ele); } return this; } /** *

* A list of cache nodes that are members of the cluster. *

* * @param cacheNodes * A list of cache nodes that are members of the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withCacheNodes(java.util.Collection cacheNodes) { setCacheNodes(cacheNodes); 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 CacheCluster withAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { setAutoMinorVersionUpgrade(autoMinorVersionUpgrade); return this; } /** *

* This parameter is currently disabled. *

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

* A list of VPC Security Groups associated with the cluster. *

* * @return A list of VPC Security Groups associated with the cluster. */ public java.util.List getSecurityGroups() { if (securityGroups == null) { securityGroups = new com.amazonaws.internal.SdkInternalList(); } return securityGroups; } /** *

* A list of VPC Security Groups associated with the cluster. *

* * @param securityGroups * A list of VPC Security Groups associated with the cluster. */ public void setSecurityGroups(java.util.Collection securityGroups) { if (securityGroups == null) { this.securityGroups = null; return; } this.securityGroups = new com.amazonaws.internal.SdkInternalList(securityGroups); } /** *

* A list of VPC Security Groups associated with the cluster. *

*

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

* * @param securityGroups * A list of VPC Security Groups associated with the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withSecurityGroups(SecurityGroupMembership... securityGroups) { if (this.securityGroups == null) { setSecurityGroups(new com.amazonaws.internal.SdkInternalList(securityGroups.length)); } for (SecurityGroupMembership ele : securityGroups) { this.securityGroups.add(ele); } return this; } /** *

* A list of VPC Security Groups associated with the cluster. *

* * @param securityGroups * A list of VPC Security Groups associated with the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withSecurityGroups(java.util.Collection securityGroups) { setSecurityGroups(securityGroups); return this; } /** *

* The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with * any replication group. *

* * @param replicationGroupId * The replication group to which this cluster belongs. If this field is empty, the cluster is not associated * with any replication group. */ public void setReplicationGroupId(String replicationGroupId) { this.replicationGroupId = replicationGroupId; } /** *

* The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with * any replication group. *

* * @return The replication group to which this cluster belongs. If this field is empty, the cluster is not * associated with any replication group. */ public String getReplicationGroupId() { return this.replicationGroupId; } /** *

* The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with * any replication group. *

* * @param replicationGroupId * The replication group to which this cluster belongs. If this field is empty, the cluster is not associated * with any replication group. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withReplicationGroupId(String replicationGroupId) { setReplicationGroupId(replicationGroupId); return this; } /** *

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

* *

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

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

*

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

*/ public void setSnapshotRetentionLimit(Integer snapshotRetentionLimit) { this.snapshotRetentionLimit = snapshotRetentionLimit; } /** *

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

* *

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

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

*

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

*/ public Integer getSnapshotRetentionLimit() { return this.snapshotRetentionLimit; } /** *

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

* *

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

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

*

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

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

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

*

* Example: 05:00-09:00 *

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

*

* Example: 05:00-09:00 */ public void setSnapshotWindow(String snapshotWindow) { this.snapshotWindow = snapshotWindow; } /** *

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

*

* Example: 05:00-09:00 *

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

*

* Example: 05:00-09:00 */ public String getSnapshotWindow() { return this.snapshotWindow; } /** *

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

*

* Example: 05:00-09:00 *

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

*

* Example: 05:00-09:00 * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withSnapshotWindow(String snapshotWindow) { setSnapshotWindow(snapshotWindow); return this; } /** *

* A flag that enables using an AuthToken (password) when issuing Redis commands. *

*

* Default: false *

* * @param authTokenEnabled * A flag that enables using an AuthToken (password) when issuing Redis commands.

*

* Default: false */ public void setAuthTokenEnabled(Boolean authTokenEnabled) { this.authTokenEnabled = authTokenEnabled; } /** *

* A flag that enables using an AuthToken (password) when issuing Redis commands. *

*

* Default: false *

* * @return A flag that enables using an AuthToken (password) when issuing Redis commands.

*

* Default: false */ public Boolean getAuthTokenEnabled() { return this.authTokenEnabled; } /** *

* A flag that enables using an AuthToken (password) when issuing Redis commands. *

*

* Default: false *

* * @param authTokenEnabled * A flag that enables using an AuthToken (password) when issuing Redis commands.

*

* Default: false * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withAuthTokenEnabled(Boolean authTokenEnabled) { setAuthTokenEnabled(authTokenEnabled); return this; } /** *

* A flag that enables using an AuthToken (password) when issuing Redis commands. *

*

* Default: false *

* * @return A flag that enables using an AuthToken (password) when issuing Redis commands.

*

* Default: false */ public Boolean isAuthTokenEnabled() { return this.authTokenEnabled; } /** *

* A flag that enables in-transit encryption when set to true. *

*

* You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable * in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when * you create a cluster. *

*

* Default: false *

* * @param transitEncryptionEnabled * A flag that enables in-transit encryption when set to true.

*

* You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To * enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to * true when you create a cluster. *

*

* Default: false */ public void setTransitEncryptionEnabled(Boolean transitEncryptionEnabled) { this.transitEncryptionEnabled = transitEncryptionEnabled; } /** *

* A flag that enables in-transit encryption when set to true. *

*

* You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable * in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when * you create a cluster. *

*

* Default: false *

* * @return A flag that enables in-transit encryption when set to true.

*

* You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To * enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to * true when you create a cluster. *

*

* Default: false */ public Boolean getTransitEncryptionEnabled() { return this.transitEncryptionEnabled; } /** *

* A flag that enables in-transit encryption when set to true. *

*

* You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable * in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when * you create a cluster. *

*

* Default: false *

* * @param transitEncryptionEnabled * A flag that enables in-transit encryption when set to true.

*

* You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To * enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to * true when you create a cluster. *

*

* Default: false * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withTransitEncryptionEnabled(Boolean transitEncryptionEnabled) { setTransitEncryptionEnabled(transitEncryptionEnabled); return this; } /** *

* A flag that enables in-transit encryption when set to true. *

*

* You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable * in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when * you create a cluster. *

*

* Default: false *

* * @return A flag that enables in-transit encryption when set to true.

*

* You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To * enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to * true when you create a cluster. *

*

* Default: false */ public Boolean isTransitEncryptionEnabled() { return this.transitEncryptionEnabled; } /** *

* A flag that enables encryption at-rest when set to true. *

*

* You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable * at-rest encryption on a cluster you must set AtRestEncryptionEnabled to true when you * create a cluster. *

*

* Default: false *

* * @param atRestEncryptionEnabled * A flag that enables encryption at-rest when set to true.

*

* You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To * enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled to * true when you create a cluster. *

*

* Default: false */ public void setAtRestEncryptionEnabled(Boolean atRestEncryptionEnabled) { this.atRestEncryptionEnabled = atRestEncryptionEnabled; } /** *

* A flag that enables encryption at-rest when set to true. *

*

* You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable * at-rest encryption on a cluster you must set AtRestEncryptionEnabled to true when you * create a cluster. *

*

* Default: false *

* * @return A flag that enables encryption at-rest when set to true.

*

* You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To * enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled to * true when you create a cluster. *

*

* Default: false */ public Boolean getAtRestEncryptionEnabled() { return this.atRestEncryptionEnabled; } /** *

* A flag that enables encryption at-rest when set to true. *

*

* You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable * at-rest encryption on a cluster you must set AtRestEncryptionEnabled to true when you * create a cluster. *

*

* Default: false *

* * @param atRestEncryptionEnabled * A flag that enables encryption at-rest when set to true.

*

* You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To * enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled to * true when you create a cluster. *

*

* Default: false * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withAtRestEncryptionEnabled(Boolean atRestEncryptionEnabled) { setAtRestEncryptionEnabled(atRestEncryptionEnabled); return this; } /** *

* A flag that enables encryption at-rest when set to true. *

*

* You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable * at-rest encryption on a cluster you must set AtRestEncryptionEnabled to true when you * create a cluster. *

*

* Default: false *

* * @return A flag that enables encryption at-rest when set to true.

*

* You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To * enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled to * true when you create a cluster. *

*

* Default: false */ public Boolean isAtRestEncryptionEnabled() { return this.atRestEncryptionEnabled; } /** * 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: ").append(getCacheClusterId()).append(","); if (getConfigurationEndpoint() != null) sb.append("ConfigurationEndpoint: ").append(getConfigurationEndpoint()).append(","); if (getClientDownloadLandingPage() != null) sb.append("ClientDownloadLandingPage: ").append(getClientDownloadLandingPage()).append(","); if (getCacheNodeType() != null) sb.append("CacheNodeType: ").append(getCacheNodeType()).append(","); if (getEngine() != null) sb.append("Engine: ").append(getEngine()).append(","); if (getEngineVersion() != null) sb.append("EngineVersion: ").append(getEngineVersion()).append(","); if (getCacheClusterStatus() != null) sb.append("CacheClusterStatus: ").append(getCacheClusterStatus()).append(","); if (getNumCacheNodes() != null) sb.append("NumCacheNodes: ").append(getNumCacheNodes()).append(","); if (getPreferredAvailabilityZone() != null) sb.append("PreferredAvailabilityZone: ").append(getPreferredAvailabilityZone()).append(","); if (getCacheClusterCreateTime() != null) sb.append("CacheClusterCreateTime: ").append(getCacheClusterCreateTime()).append(","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(","); if (getPendingModifiedValues() != null) sb.append("PendingModifiedValues: ").append(getPendingModifiedValues()).append(","); if (getNotificationConfiguration() != null) sb.append("NotificationConfiguration: ").append(getNotificationConfiguration()).append(","); if (getCacheSecurityGroups() != null) sb.append("CacheSecurityGroups: ").append(getCacheSecurityGroups()).append(","); if (getCacheParameterGroup() != null) sb.append("CacheParameterGroup: ").append(getCacheParameterGroup()).append(","); if (getCacheSubnetGroupName() != null) sb.append("CacheSubnetGroupName: ").append(getCacheSubnetGroupName()).append(","); if (getCacheNodes() != null) sb.append("CacheNodes: ").append(getCacheNodes()).append(","); if (getAutoMinorVersionUpgrade() != null) sb.append("AutoMinorVersionUpgrade: ").append(getAutoMinorVersionUpgrade()).append(","); if (getSecurityGroups() != null) sb.append("SecurityGroups: ").append(getSecurityGroups()).append(","); if (getReplicationGroupId() != null) sb.append("ReplicationGroupId: ").append(getReplicationGroupId()).append(","); if (getSnapshotRetentionLimit() != null) sb.append("SnapshotRetentionLimit: ").append(getSnapshotRetentionLimit()).append(","); if (getSnapshotWindow() != null) sb.append("SnapshotWindow: ").append(getSnapshotWindow()).append(","); if (getAuthTokenEnabled() != null) sb.append("AuthTokenEnabled: ").append(getAuthTokenEnabled()).append(","); if (getTransitEncryptionEnabled() != null) sb.append("TransitEncryptionEnabled: ").append(getTransitEncryptionEnabled()).append(","); if (getAtRestEncryptionEnabled() != null) sb.append("AtRestEncryptionEnabled: ").append(getAtRestEncryptionEnabled()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CacheCluster == false) return false; CacheCluster other = (CacheCluster) obj; if (other.getCacheClusterId() == null ^ this.getCacheClusterId() == null) return false; if (other.getCacheClusterId() != null && other.getCacheClusterId().equals(this.getCacheClusterId()) == false) return false; if (other.getConfigurationEndpoint() == null ^ this.getConfigurationEndpoint() == null) return false; if (other.getConfigurationEndpoint() != null && other.getConfigurationEndpoint().equals(this.getConfigurationEndpoint()) == false) return false; if (other.getClientDownloadLandingPage() == null ^ this.getClientDownloadLandingPage() == null) return false; if (other.getClientDownloadLandingPage() != null && other.getClientDownloadLandingPage().equals(this.getClientDownloadLandingPage()) == false) return false; if (other.getCacheNodeType() == null ^ this.getCacheNodeType() == null) return false; if (other.getCacheNodeType() != null && other.getCacheNodeType().equals(this.getCacheNodeType()) == false) return false; if (other.getEngine() == null ^ this.getEngine() == null) return false; if (other.getEngine() != null && other.getEngine().equals(this.getEngine()) == 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.getCacheClusterStatus() == null ^ this.getCacheClusterStatus() == null) return false; if (other.getCacheClusterStatus() != null && other.getCacheClusterStatus().equals(this.getCacheClusterStatus()) == 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.getPreferredAvailabilityZone() == null ^ this.getPreferredAvailabilityZone() == null) return false; if (other.getPreferredAvailabilityZone() != null && other.getPreferredAvailabilityZone().equals(this.getPreferredAvailabilityZone()) == false) return false; if (other.getCacheClusterCreateTime() == null ^ this.getCacheClusterCreateTime() == null) return false; if (other.getCacheClusterCreateTime() != null && other.getCacheClusterCreateTime().equals(this.getCacheClusterCreateTime()) == 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.getPendingModifiedValues() == null ^ this.getPendingModifiedValues() == null) return false; if (other.getPendingModifiedValues() != null && other.getPendingModifiedValues().equals(this.getPendingModifiedValues()) == false) return false; if (other.getNotificationConfiguration() == null ^ this.getNotificationConfiguration() == null) return false; if (other.getNotificationConfiguration() != null && other.getNotificationConfiguration().equals(this.getNotificationConfiguration()) == false) return false; if (other.getCacheSecurityGroups() == null ^ this.getCacheSecurityGroups() == null) return false; if (other.getCacheSecurityGroups() != null && other.getCacheSecurityGroups().equals(this.getCacheSecurityGroups()) == false) return false; if (other.getCacheParameterGroup() == null ^ this.getCacheParameterGroup() == null) return false; if (other.getCacheParameterGroup() != null && other.getCacheParameterGroup().equals(this.getCacheParameterGroup()) == false) return false; if (other.getCacheSubnetGroupName() == null ^ this.getCacheSubnetGroupName() == null) return false; if (other.getCacheSubnetGroupName() != null && other.getCacheSubnetGroupName().equals(this.getCacheSubnetGroupName()) == false) return false; if (other.getCacheNodes() == null ^ this.getCacheNodes() == null) return false; if (other.getCacheNodes() != null && other.getCacheNodes().equals(this.getCacheNodes()) == 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.getSecurityGroups() == null ^ this.getSecurityGroups() == null) return false; if (other.getSecurityGroups() != null && other.getSecurityGroups().equals(this.getSecurityGroups()) == false) return false; if (other.getReplicationGroupId() == null ^ this.getReplicationGroupId() == null) return false; if (other.getReplicationGroupId() != null && other.getReplicationGroupId().equals(this.getReplicationGroupId()) == 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.getAuthTokenEnabled() == null ^ this.getAuthTokenEnabled() == null) return false; if (other.getAuthTokenEnabled() != null && other.getAuthTokenEnabled().equals(this.getAuthTokenEnabled()) == false) return false; if (other.getTransitEncryptionEnabled() == null ^ this.getTransitEncryptionEnabled() == null) return false; if (other.getTransitEncryptionEnabled() != null && other.getTransitEncryptionEnabled().equals(this.getTransitEncryptionEnabled()) == false) return false; if (other.getAtRestEncryptionEnabled() == null ^ this.getAtRestEncryptionEnabled() == null) return false; if (other.getAtRestEncryptionEnabled() != null && other.getAtRestEncryptionEnabled().equals(this.getAtRestEncryptionEnabled()) == 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 + ((getConfigurationEndpoint() == null) ? 0 : getConfigurationEndpoint().hashCode()); hashCode = prime * hashCode + ((getClientDownloadLandingPage() == null) ? 0 : getClientDownloadLandingPage().hashCode()); hashCode = prime * hashCode + ((getCacheNodeType() == null) ? 0 : getCacheNodeType().hashCode()); hashCode = prime * hashCode + ((getEngine() == null) ? 0 : getEngine().hashCode()); hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode()); hashCode = prime * hashCode + ((getCacheClusterStatus() == null) ? 0 : getCacheClusterStatus().hashCode()); hashCode = prime * hashCode + ((getNumCacheNodes() == null) ? 0 : getNumCacheNodes().hashCode()); hashCode = prime * hashCode + ((getPreferredAvailabilityZone() == null) ? 0 : getPreferredAvailabilityZone().hashCode()); hashCode = prime * hashCode + ((getCacheClusterCreateTime() == null) ? 0 : getCacheClusterCreateTime().hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getPendingModifiedValues() == null) ? 0 : getPendingModifiedValues().hashCode()); hashCode = prime * hashCode + ((getNotificationConfiguration() == null) ? 0 : getNotificationConfiguration().hashCode()); hashCode = prime * hashCode + ((getCacheSecurityGroups() == null) ? 0 : getCacheSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getCacheParameterGroup() == null) ? 0 : getCacheParameterGroup().hashCode()); hashCode = prime * hashCode + ((getCacheSubnetGroupName() == null) ? 0 : getCacheSubnetGroupName().hashCode()); hashCode = prime * hashCode + ((getCacheNodes() == null) ? 0 : getCacheNodes().hashCode()); hashCode = prime * hashCode + ((getAutoMinorVersionUpgrade() == null) ? 0 : getAutoMinorVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getSecurityGroups() == null) ? 0 : getSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getReplicationGroupId() == null) ? 0 : getReplicationGroupId().hashCode()); hashCode = prime * hashCode + ((getSnapshotRetentionLimit() == null) ? 0 : getSnapshotRetentionLimit().hashCode()); hashCode = prime * hashCode + ((getSnapshotWindow() == null) ? 0 : getSnapshotWindow().hashCode()); hashCode = prime * hashCode + ((getAuthTokenEnabled() == null) ? 0 : getAuthTokenEnabled().hashCode()); hashCode = prime * hashCode + ((getTransitEncryptionEnabled() == null) ? 0 : getTransitEncryptionEnabled().hashCode()); hashCode = prime * hashCode + ((getAtRestEncryptionEnabled() == null) ? 0 : getAtRestEncryptionEnabled().hashCode()); return hashCode; } @Override public CacheCluster clone() { try { return (CacheCluster) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy