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 2019-2024 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 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: *

      *

      * M7g node types: cache.m7g.large, cache.m7g.xlarge, * cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, * cache.m7g.12xlarge, cache.m7g.16xlarge *

      * *

      * For region availability, see Supported Node Types *

      *
      *

      * M6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version * 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, * cache.m6g.16xlarge *

      *

      * M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, * cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge *

      *

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

      *

      * T4g node types (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version * 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium *

      *

      * T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium *

      *

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

      *
    • *
    • *

      * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

      *

      * T1 node types: cache.t1.micro *

      *

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

      *

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

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R7g node types: cache.r7g.large, cache.r7g.xlarge, * cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, * cache.r7g.12xlarge, cache.r7g.16xlarge *

      * *

      * For region availability, see Supported Node Types *

      *
      *

      * R6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version * 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, * cache.r6g.16xlarge *

      *

      * R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, * cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge *

      *

      * R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, * cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

      *

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

      *

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

      *
    • *
    *
  • *
*

* Additional node type info *

*
    *
  • *

    * All current generation instance types are created in Amazon VPC by default. *

    *
  • *
  • *

    * Redis OSS append-only files (AOF) are not supported for T1 or T2 instances. *

    *
  • *
  • *

    * Redis OSS Multi-AZ with automatic failover is not supported on T1 instances. *

    *
  • *
  • *

    * Redis OSS configuration variables appendonly and appendfsync are not supported on Redis * OSS version 2.8.22 and later. *

    *
  • *
*/ 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 OSS, this value must be 1. For clusters running Memcached, this value must be between * 1 and 40. *

*/ 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 outpost ARN in which the cache cluster is created. *

*/ private String preferredOutpostArn; /** *

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

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

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

*

* Default: false *

*/ private Boolean authTokenEnabled; /** *

* The date the auth token was last modified *

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

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

*

* Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

*

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

*

* Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

*

* Default: false *

*/ private Boolean atRestEncryptionEnabled; /** *

* The ARN (Amazon Resource Name) of the cache cluster. *

*/ private String aRN; /** *

* A boolean value indicating whether log delivery is enabled for the replication group. *

*/ private Boolean replicationGroupLogDeliveryEnabled; /** *

* Returns the destination, format and type of the logs. *

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

* Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads * using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system. *

*/ private String networkType; /** *

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

*/ private String ipDiscovery; /** *

* A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. *

*/ private String transitEncryptionMode; /** *

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

      *

      * M7g node types: cache.m7g.large, cache.m7g.xlarge, * cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, * cache.m7g.12xlarge, cache.m7g.16xlarge *

      * *

      * For region availability, see Supported Node Types *

      *
      *

      * M6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version * 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, * cache.m6g.16xlarge *

      *

      * M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, * cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge *

      *

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

      *

      * T4g node types (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version * 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium *

      *

      * T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium *

      *

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

      *
    • *
    • *

      * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

      *

      * T1 node types: cache.t1.micro *

      *

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

      *

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

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R7g node types: cache.r7g.large, cache.r7g.xlarge, * cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, * cache.r7g.12xlarge, cache.r7g.16xlarge *

      * *

      * For region availability, see Supported Node Types *

      *
      *

      * R6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version * 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, * cache.r6g.16xlarge *

      *

      * R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, * cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge *

      *

      * R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, * cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

      *

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

      *

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

      *
    • *
    *
  • *
*

* Additional node type info *

*
    *
  • *

    * All current generation instance types are created in Amazon VPC by default. *

    *
  • *
  • *

    * Redis OSS append-only files (AOF) are not supported for T1 or T2 instances. *

    *
  • *
  • *

    * Redis OSS Multi-AZ with automatic failover is not supported on T1 instances. *

    *
  • *
  • *

    * Redis OSS configuration variables appendonly and appendfsync are not supported on Redis * OSS version 2.8.22 and later. *

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

      *

      * M7g node types: cache.m7g.large, cache.m7g.xlarge, * cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, * cache.m7g.12xlarge, cache.m7g.16xlarge *

      * *

      * For region availability, see Supported Node Types *

      *
      *

      * M6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, * cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge *

      *

      * M5 node types: cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, * cache.m5.24xlarge *

      *

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

      *

      * T4g node types (available only for Redis OSS engine version 5.0.6 onward and Memcached engine * version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium *

      *

      * T3 node types: cache.t3.micro, cache.t3.small, * cache.t3.medium *

      *

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

      *
    • *
    • *

      * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.) *

      *

      * T1 node types: cache.t1.micro *

      *

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

      *

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

      *
    • *
    *
  • *
  • *

    * Compute optimized: *

    *
      *
    • *

      * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.) *

      *

      * C1 node types: cache.c1.xlarge *

      *
    • *
    *
  • *
  • *

    * Memory optimized: *

    *
      *
    • *

      * Current generation: *

      *

      * R7g node types: cache.r7g.large, cache.r7g.xlarge, * cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, * cache.r7g.12xlarge, cache.r7g.16xlarge *

      * *

      * For region availability, see Supported Node Types *

      *
      *

      * R6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, * cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge *

      *

      * R5 node types: cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, * cache.r5.24xlarge *

      *

      * R4 node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, * cache.r4.16xlarge *

      *
    • *
    • *

      * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.) *

      *

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

      *

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

      *
    • *
    *
  • *
*

* Additional node type info *

*
    *
  • *

    * All current generation instance types are created in Amazon VPC by default. *

    *
  • *
  • *

    * Redis OSS append-only files (AOF) are not supported for T1 or T2 instances. *

    *
  • *
  • *

    * Redis OSS Multi-AZ with automatic failover is not supported on T1 instances. *

    *
  • *
  • *

    * Redis OSS configuration variables appendonly and appendfsync are not supported * on Redis OSS version 2.8.22 and later. *

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

        *

        * M7g node types: cache.m7g.large, cache.m7g.xlarge, * cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, * cache.m7g.12xlarge, cache.m7g.16xlarge *

        * *

        * For region availability, see Supported Node Types *

        *
        *

        * M6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version * 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, * cache.m6g.16xlarge *

        *

        * M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, * cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge *

        *

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

        *

        * T4g node types (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version * 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium *

        *

        * T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium *

        *

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

        *
      • *
      • *

        * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

        *

        * T1 node types: cache.t1.micro *

        *

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

        *

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

        *
      • *
      *
    • *
    • *

      * Compute optimized: *

      *
        *
      • *

        * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

        *

        * C1 node types: cache.c1.xlarge *

        *
      • *
      *
    • *
    • *

      * Memory optimized: *

      *
        *
      • *

        * Current generation: *

        *

        * R7g node types: cache.r7g.large, cache.r7g.xlarge, * cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, * cache.r7g.12xlarge, cache.r7g.16xlarge *

        * *

        * For region availability, see Supported Node Types *

        *
        *

        * R6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version * 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, * cache.r6g.16xlarge *

        *

        * R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, * cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge *

        *

        * R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, * cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge *

        *
      • *
      • *

        * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

        *

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

        *

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

        *
      • *
      *
    • *
    *

    * Additional node type info *

    *
      *
    • *

      * All current generation instance types are created in Amazon VPC by default. *

      *
    • *
    • *

      * Redis OSS append-only files (AOF) are not supported for T1 or T2 instances. *

      *
    • *
    • *

      * Redis OSS Multi-AZ with automatic failover is not supported on T1 instances. *

      *
    • *
    • *

      * Redis OSS configuration variables appendonly and appendfsync are not supported on Redis * OSS version 2.8.22 and later. *

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

        *

        * M7g node types: cache.m7g.large, cache.m7g.xlarge, * cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, * cache.m7g.12xlarge, cache.m7g.16xlarge *

        * *

        * For region availability, see Supported Node Types *

        *
        *

        * M6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, * cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge *

        *

        * M5 node types: cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, * cache.m5.24xlarge *

        *

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

        *

        * T4g node types (available only for Redis OSS engine version 5.0.6 onward and Memcached engine * version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium *

        *

        * T3 node types: cache.t3.micro, cache.t3.small, * cache.t3.medium *

        *

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

        *
      • *
      • *

        * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.) *

        *

        * T1 node types: cache.t1.micro *

        *

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

        *

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

        *
      • *
      *
    • *
    • *

      * Compute optimized: *

      *
        *
      • *

        * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.) *

        *

        * C1 node types: cache.c1.xlarge *

        *
      • *
      *
    • *
    • *

      * Memory optimized: *

      *
        *
      • *

        * Current generation: *

        *

        * R7g node types: cache.r7g.large, cache.r7g.xlarge, * cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, * cache.r7g.12xlarge, cache.r7g.16xlarge *

        * *

        * For region availability, see Supported Node Types *

        *
        *

        * R6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, * cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge *

        *

        * R5 node types: cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, * cache.r5.24xlarge *

        *

        * R4 node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, * cache.r4.16xlarge *

        *
      • *
      • *

        * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.) *

        *

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

        *

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

        *
      • *
      *
    • *
    *

    * Additional node type info *

    *
      *
    • *

      * All current generation instance types are created in Amazon VPC by default. *

      *
    • *
    • *

      * Redis OSS append-only files (AOF) are not supported for T1 or T2 instances. *

      *
    • *
    • *

      * Redis OSS Multi-AZ with automatic failover is not supported on T1 instances. *

      *
    • *
    • *

      * Redis OSS configuration variables appendonly and appendfsync are not supported * on Redis OSS version 2.8.22 and later. *

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

          *

          * M7g node types: cache.m7g.large, cache.m7g.xlarge, * cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, * cache.m7g.12xlarge, cache.m7g.16xlarge *

          * *

          * For region availability, see Supported Node Types *

          *
          *

          * M6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version * 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, * cache.m6g.16xlarge *

          *

          * M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, * cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge *

          *

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

          *

          * T4g node types (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version * 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium *

          *

          * T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium *

          *

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

          *
        • *
        • *

          * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

          *

          * T1 node types: cache.t1.micro *

          *

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

          *

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

          *
        • *
        *
      • *
      • *

        * Compute optimized: *

        *
          *
        • *

          * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

          *

          * C1 node types: cache.c1.xlarge *

          *
        • *
        *
      • *
      • *

        * Memory optimized: *

        *
          *
        • *

          * Current generation: *

          *

          * R7g node types: cache.r7g.large, cache.r7g.xlarge, * cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, * cache.r7g.12xlarge, cache.r7g.16xlarge *

          * *

          * For region availability, see Supported Node Types *

          *
          *

          * R6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version * 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, * cache.r6g.16xlarge *

          *

          * R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, * cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge *

          *

          * R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, * cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge *

          *
        • *
        • *

          * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not * supported for these types.) *

          *

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

          *

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

          *
        • *
        *
      • *
      *

      * Additional node type info *

      *
        *
      • *

        * All current generation instance types are created in Amazon VPC by default. *

        *
      • *
      • *

        * Redis OSS append-only files (AOF) are not supported for T1 or T2 instances. *

        *
      • *
      • *

        * Redis OSS Multi-AZ with automatic failover is not supported on T1 instances. *

        *
      • *
      • *

        * Redis OSS configuration variables appendonly and appendfsync are not supported on Redis * OSS version 2.8.22 and later. *

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

          *

          * M7g node types: cache.m7g.large, cache.m7g.xlarge, * cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, * cache.m7g.12xlarge, cache.m7g.16xlarge *

          * *

          * For region availability, see Supported Node Types *

          *
          *

          * M6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, * cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge *

          *

          * M5 node types: cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, * cache.m5.24xlarge *

          *

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

          *

          * T4g node types (available only for Redis OSS engine version 5.0.6 onward and Memcached engine * version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium *

          *

          * T3 node types: cache.t3.micro, cache.t3.small, * cache.t3.medium *

          *

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

          *
        • *
        • *

          * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.) *

          *

          * T1 node types: cache.t1.micro *

          *

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

          *

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

          *
        • *
        *
      • *
      • *

        * Compute optimized: *

        *
          *
        • *

          * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.) *

          *

          * C1 node types: cache.c1.xlarge *

          *
        • *
        *
      • *
      • *

        * Memory optimized: *

        *
          *
        • *

          * Current generation: *

          *

          * R7g node types: cache.r7g.large, cache.r7g.xlarge, * cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, * cache.r7g.12xlarge, cache.r7g.16xlarge *

          * *

          * For region availability, see Supported Node Types *

          *
          *

          * R6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, * cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge *

          *

          * R5 node types: cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, * cache.r5.24xlarge *

          *

          * R4 node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, * cache.r4.16xlarge *

          *
        • *
        • *

          * Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.) *

          *

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

          *

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

          *
        • *
        *
      • *
      *

      * Additional node type info *

      *
        *
      • *

        * All current generation instance types are created in Amazon VPC by default. *

        *
      • *
      • *

        * Redis OSS append-only files (AOF) are not supported for T1 or T2 instances. *

        *
      • *
      • *

        * Redis OSS Multi-AZ with automatic failover is not supported on T1 instances. *

        *
      • *
      • *

        * Redis OSS configuration variables appendonly and appendfsync are not supported * on Redis OSS version 2.8.22 and later. *

        *
      • * @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 OSS, this value must be 1. For clusters running Memcached, this value must be between * 1 and 40. *

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

        *

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

        * The number of cache nodes in the cluster. *

        *

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

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

        *

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

        * The number of cache nodes in the cluster. *

        *

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

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

        *

        * For clusters running Redis OSS, this value must be 1. For clusters running Memcached, this value must be * between 1 and 40. * @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 outpost ARN in which the cache cluster is created. *

        * * @param preferredOutpostArn * The outpost ARN in which the cache cluster is created. */ public void setPreferredOutpostArn(String preferredOutpostArn) { this.preferredOutpostArn = preferredOutpostArn; } /** *

        * The outpost ARN in which the cache cluster is created. *

        * * @return The outpost ARN in which the cache cluster is created. */ public String getPreferredOutpostArn() { return this.preferredOutpostArn; } /** *

        * The outpost ARN in which the cache cluster is created. *

        * * @param preferredOutpostArn * The outpost ARN in which the cache cluster is created. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withPreferredOutpostArn(String preferredOutpostArn) { setPreferredOutpostArn(preferredOutpostArn); 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; } /** *

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

        * * @param autoMinorVersionUpgrade *  If you are running Redis OSS engine version 6.0 or later, set this parameter to yes if you want to opt-in * to the next auto minor version upgrade campaign. This parameter is disabled for previous versions.  */ public void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { this.autoMinorVersionUpgrade = autoMinorVersionUpgrade; } /** *

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

        * * @return  If you are running Redis OSS engine version 6.0 or later, set this parameter to yes if you want to * opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous * versions.  */ public Boolean getAutoMinorVersionUpgrade() { return this.autoMinorVersionUpgrade; } /** *

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

        * * @param autoMinorVersionUpgrade *  If you are running Redis OSS engine version 6.0 or later, set this parameter to yes if you want to opt-in * to the next auto minor version upgrade campaign. This parameter is disabled for previous versions.  * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { setAutoMinorVersionUpgrade(autoMinorVersionUpgrade); return this; } /** *

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

        * * @return  If you are running Redis OSS engine version 6.0 or later, set this parameter to yes if you want to * opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous * versions.  */ 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 OSS commands. *

        *

        * Default: false *

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

        *

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

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

        *

        * Default: false *

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

        *

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

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

        *

        * Default: false *

        * * @param authTokenEnabled * A flag that enables using an AuthToken (password) when issuing Redis OSS 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 OSS commands. *

        *

        * Default: false *

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

        *

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

        * The date the auth token was last modified *

        * * @param authTokenLastModifiedDate * The date the auth token was last modified */ public void setAuthTokenLastModifiedDate(java.util.Date authTokenLastModifiedDate) { this.authTokenLastModifiedDate = authTokenLastModifiedDate; } /** *

        * The date the auth token was last modified *

        * * @return The date the auth token was last modified */ public java.util.Date getAuthTokenLastModifiedDate() { return this.authTokenLastModifiedDate; } /** *

        * The date the auth token was last modified *

        * * @param authTokenLastModifiedDate * The date the auth token was last modified * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withAuthTokenLastModifiedDate(java.util.Date authTokenLastModifiedDate) { setAuthTokenLastModifiedDate(authTokenLastModifiedDate); return this; } /** *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

        * Default: false *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

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

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

        * Default: false *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS * version 3.2.6, 4.x or later. *

        *

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

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

        * Default: false *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

        * Default: false *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS * version 3.2.6, 4.x or later. *

        *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS * version 3.2.6, 4.x or later. *

        *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version * 3.2.6, 4.x or later. *

        *

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

        *

        * Required: Only available when creating a replication group in an Amazon VPC using Redis OSS * version 3.2.6, 4.x or later. *

        *

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

        * The ARN (Amazon Resource Name) of the cache cluster. *

        * * @param aRN * The ARN (Amazon Resource Name) of the cache cluster. */ public void setARN(String aRN) { this.aRN = aRN; } /** *

        * The ARN (Amazon Resource Name) of the cache cluster. *

        * * @return The ARN (Amazon Resource Name) of the cache cluster. */ public String getARN() { return this.aRN; } /** *

        * The ARN (Amazon Resource Name) of the cache cluster. *

        * * @param aRN * The ARN (Amazon Resource Name) of the cache cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withARN(String aRN) { setARN(aRN); return this; } /** *

        * A boolean value indicating whether log delivery is enabled for the replication group. *

        * * @param replicationGroupLogDeliveryEnabled * A boolean value indicating whether log delivery is enabled for the replication group. */ public void setReplicationGroupLogDeliveryEnabled(Boolean replicationGroupLogDeliveryEnabled) { this.replicationGroupLogDeliveryEnabled = replicationGroupLogDeliveryEnabled; } /** *

        * A boolean value indicating whether log delivery is enabled for the replication group. *

        * * @return A boolean value indicating whether log delivery is enabled for the replication group. */ public Boolean getReplicationGroupLogDeliveryEnabled() { return this.replicationGroupLogDeliveryEnabled; } /** *

        * A boolean value indicating whether log delivery is enabled for the replication group. *

        * * @param replicationGroupLogDeliveryEnabled * A boolean value indicating whether log delivery is enabled for the replication group. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withReplicationGroupLogDeliveryEnabled(Boolean replicationGroupLogDeliveryEnabled) { setReplicationGroupLogDeliveryEnabled(replicationGroupLogDeliveryEnabled); return this; } /** *

        * A boolean value indicating whether log delivery is enabled for the replication group. *

        * * @return A boolean value indicating whether log delivery is enabled for the replication group. */ public Boolean isReplicationGroupLogDeliveryEnabled() { return this.replicationGroupLogDeliveryEnabled; } /** *

        * Returns the destination, format and type of the logs. *

        * * @return Returns the destination, format and type of the logs. */ public java.util.List getLogDeliveryConfigurations() { if (logDeliveryConfigurations == null) { logDeliveryConfigurations = new com.amazonaws.internal.SdkInternalList(); } return logDeliveryConfigurations; } /** *

        * Returns the destination, format and type of the logs. *

        * * @param logDeliveryConfigurations * Returns the destination, format and type of the logs. */ public void setLogDeliveryConfigurations(java.util.Collection logDeliveryConfigurations) { if (logDeliveryConfigurations == null) { this.logDeliveryConfigurations = null; return; } this.logDeliveryConfigurations = new com.amazonaws.internal.SdkInternalList(logDeliveryConfigurations); } /** *

        * Returns the destination, format and type of the logs. *

        *

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

        * * @param logDeliveryConfigurations * Returns the destination, format and type of the logs. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withLogDeliveryConfigurations(LogDeliveryConfiguration... logDeliveryConfigurations) { if (this.logDeliveryConfigurations == null) { setLogDeliveryConfigurations(new com.amazonaws.internal.SdkInternalList(logDeliveryConfigurations.length)); } for (LogDeliveryConfiguration ele : logDeliveryConfigurations) { this.logDeliveryConfigurations.add(ele); } return this; } /** *

        * Returns the destination, format and type of the logs. *

        * * @param logDeliveryConfigurations * Returns the destination, format and type of the logs. * @return Returns a reference to this object so that method calls can be chained together. */ public CacheCluster withLogDeliveryConfigurations(java.util.Collection logDeliveryConfigurations) { setLogDeliveryConfigurations(logDeliveryConfigurations); return this; } /** *

        * Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads * using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system. *

        * * @param networkType * Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for * workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances * built on the Nitro system. * @see NetworkType */ public void setNetworkType(String networkType) { this.networkType = networkType; } /** *

        * Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads * using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system. *

        * * @return Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for * workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances * built on the Nitro system. * @see NetworkType */ public String getNetworkType() { return this.networkType; } /** *

        * Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads * using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system. *

        * * @param networkType * Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for * workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances * built on the Nitro system. * @return Returns a reference to this object so that method calls can be chained together. * @see NetworkType */ public CacheCluster withNetworkType(String networkType) { setNetworkType(networkType); return this; } /** *

        * Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads * using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system. *

        * * @param networkType * Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for * workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances * built on the Nitro system. * @return Returns a reference to this object so that method calls can be chained together. * @see NetworkType */ public CacheCluster withNetworkType(NetworkType networkType) { this.networkType = networkType.toString(); return this; } /** *

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

        * * @param ipDiscovery * The network type associated with the cluster, either ipv4 | ipv6. IPv6 is * supported for workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all * instances built on the Nitro system. * @see IpDiscovery */ public void setIpDiscovery(String ipDiscovery) { this.ipDiscovery = ipDiscovery; } /** *

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

        * * @return The network type associated with the cluster, either ipv4 | ipv6. IPv6 is * supported for workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on * all instances built on the Nitro system. * @see IpDiscovery */ public String getIpDiscovery() { return this.ipDiscovery; } /** *

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

        * * @param ipDiscovery * The network type associated with the cluster, either ipv4 | ipv6. IPv6 is * supported for workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all * instances built on the Nitro system. * @return Returns a reference to this object so that method calls can be chained together. * @see IpDiscovery */ public CacheCluster withIpDiscovery(String ipDiscovery) { setIpDiscovery(ipDiscovery); return this; } /** *

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

        * * @param ipDiscovery * The network type associated with the cluster, either ipv4 | ipv6. IPv6 is * supported for workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all * instances built on the Nitro system. * @return Returns a reference to this object so that method calls can be chained together. * @see IpDiscovery */ public CacheCluster withIpDiscovery(IpDiscovery ipDiscovery) { this.ipDiscovery = ipDiscovery.toString(); return this; } /** *

        * A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. *

        * * @param transitEncryptionMode * A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. * @see TransitEncryptionMode */ public void setTransitEncryptionMode(String transitEncryptionMode) { this.transitEncryptionMode = transitEncryptionMode; } /** *

        * A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. *

        * * @return A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. * @see TransitEncryptionMode */ public String getTransitEncryptionMode() { return this.transitEncryptionMode; } /** *

        * A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. *

        * * @param transitEncryptionMode * A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. * @return Returns a reference to this object so that method calls can be chained together. * @see TransitEncryptionMode */ public CacheCluster withTransitEncryptionMode(String transitEncryptionMode) { setTransitEncryptionMode(transitEncryptionMode); return this; } /** *

        * A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. *

        * * @param transitEncryptionMode * A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. * @return Returns a reference to this object so that method calls can be chained together. * @see TransitEncryptionMode */ public CacheCluster withTransitEncryptionMode(TransitEncryptionMode transitEncryptionMode) { this.transitEncryptionMode = transitEncryptionMode.toString(); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @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 (getPreferredOutpostArn() != null) sb.append("PreferredOutpostArn: ").append(getPreferredOutpostArn()).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 (getAuthTokenLastModifiedDate() != null) sb.append("AuthTokenLastModifiedDate: ").append(getAuthTokenLastModifiedDate()).append(","); if (getTransitEncryptionEnabled() != null) sb.append("TransitEncryptionEnabled: ").append(getTransitEncryptionEnabled()).append(","); if (getAtRestEncryptionEnabled() != null) sb.append("AtRestEncryptionEnabled: ").append(getAtRestEncryptionEnabled()).append(","); if (getARN() != null) sb.append("ARN: ").append(getARN()).append(","); if (getReplicationGroupLogDeliveryEnabled() != null) sb.append("ReplicationGroupLogDeliveryEnabled: ").append(getReplicationGroupLogDeliveryEnabled()).append(","); if (getLogDeliveryConfigurations() != null) sb.append("LogDeliveryConfigurations: ").append(getLogDeliveryConfigurations()).append(","); if (getNetworkType() != null) sb.append("NetworkType: ").append(getNetworkType()).append(","); if (getIpDiscovery() != null) sb.append("IpDiscovery: ").append(getIpDiscovery()).append(","); if (getTransitEncryptionMode() != null) sb.append("TransitEncryptionMode: ").append(getTransitEncryptionMode()); 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.getPreferredOutpostArn() == null ^ this.getPreferredOutpostArn() == null) return false; if (other.getPreferredOutpostArn() != null && other.getPreferredOutpostArn().equals(this.getPreferredOutpostArn()) == 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.getAuthTokenLastModifiedDate() == null ^ this.getAuthTokenLastModifiedDate() == null) return false; if (other.getAuthTokenLastModifiedDate() != null && other.getAuthTokenLastModifiedDate().equals(this.getAuthTokenLastModifiedDate()) == 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; if (other.getARN() == null ^ this.getARN() == null) return false; if (other.getARN() != null && other.getARN().equals(this.getARN()) == false) return false; if (other.getReplicationGroupLogDeliveryEnabled() == null ^ this.getReplicationGroupLogDeliveryEnabled() == null) return false; if (other.getReplicationGroupLogDeliveryEnabled() != null && other.getReplicationGroupLogDeliveryEnabled().equals(this.getReplicationGroupLogDeliveryEnabled()) == false) return false; if (other.getLogDeliveryConfigurations() == null ^ this.getLogDeliveryConfigurations() == null) return false; if (other.getLogDeliveryConfigurations() != null && other.getLogDeliveryConfigurations().equals(this.getLogDeliveryConfigurations()) == false) return false; if (other.getNetworkType() == null ^ this.getNetworkType() == null) return false; if (other.getNetworkType() != null && other.getNetworkType().equals(this.getNetworkType()) == false) return false; if (other.getIpDiscovery() == null ^ this.getIpDiscovery() == null) return false; if (other.getIpDiscovery() != null && other.getIpDiscovery().equals(this.getIpDiscovery()) == false) return false; if (other.getTransitEncryptionMode() == null ^ this.getTransitEncryptionMode() == null) return false; if (other.getTransitEncryptionMode() != null && other.getTransitEncryptionMode().equals(this.getTransitEncryptionMode()) == 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 + ((getPreferredOutpostArn() == null) ? 0 : getPreferredOutpostArn().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 + ((getAuthTokenLastModifiedDate() == null) ? 0 : getAuthTokenLastModifiedDate().hashCode()); hashCode = prime * hashCode + ((getTransitEncryptionEnabled() == null) ? 0 : getTransitEncryptionEnabled().hashCode()); hashCode = prime * hashCode + ((getAtRestEncryptionEnabled() == null) ? 0 : getAtRestEncryptionEnabled().hashCode()); hashCode = prime * hashCode + ((getARN() == null) ? 0 : getARN().hashCode()); hashCode = prime * hashCode + ((getReplicationGroupLogDeliveryEnabled() == null) ? 0 : getReplicationGroupLogDeliveryEnabled().hashCode()); hashCode = prime * hashCode + ((getLogDeliveryConfigurations() == null) ? 0 : getLogDeliveryConfigurations().hashCode()); hashCode = prime * hashCode + ((getNetworkType() == null) ? 0 : getNetworkType().hashCode()); hashCode = prime * hashCode + ((getIpDiscovery() == null) ? 0 : getIpDiscovery().hashCode()); hashCode = prime * hashCode + ((getTransitEncryptionMode() == null) ? 0 : getTransitEncryptionMode().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