Start line:  
End line:  

Snippet Preview

Snippet HTML Code

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

The CreateCacheCluster action creates a cache cluster. All nodes in the cache cluster run the same protocol-compliant cache engine software, either Memcached or Redis.

  
  public class CreateCacheClusterRequest extends AmazonWebServiceRequest implements SerializableCloneable {

    
The node group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.
  
      private String cacheClusterId;

    
The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster will be added to the specified replication group as a read replica; otherwise, the cache cluster will be a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the availability zone is not specified, the cache cluster will be created in availability zones that provide the best spread of read replicas across availability zones.

Note: This parameter is only valid if the Engine parameter is redis.

  
      private String replicationGroupId;

    
Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

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

  
      private String aZMode;

    
The EC2 Availability Zone in which the cache cluster will be created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

  
      private String preferredAvailabilityZone;

    
A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached. <note>

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes. </note>

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a

  
The initial number of cache nodes that the cache cluster will have.

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

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

 
     private Integer numCacheNodes;

    
The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

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

 
     private String cacheNodeType;

    
The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

 
     private String engine;

    
The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions action.
 
     private String engineVersion;

    
The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.
 
     private String cacheParameterGroupName;

    
The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

 
     private String cacheSubnetGroupName;

    
A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

 
One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

 
A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.
 
A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

 
The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

Note: This parameter is only valid if the Engine parameter is redis.

 
     private String snapshotName;

    
Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:
  • sun
  • mon
  • tue
  • wed
  • thu
  • fri
  • sat

Example: sun:05:00-sun:09:00

 
     private String preferredMaintenanceWindow;

    
The port number on which each of the cache nodes will accept connections.
 
     private Integer port;

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

    
This parameter is currently disabled.
 
     private Boolean autoMinorVersionUpgrade;

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

Note: This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

 
     private Integer snapshotRetentionLimit;

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

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

 
     private String snapshotWindow;

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

Parameters:
cacheClusterId The node group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.
numCacheNodes The initial number of cache nodes that the cache cluster will have.

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

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

cacheNodeType The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

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

engine The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

cacheSecurityGroupNames A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

 
     public CreateCacheClusterRequest(String cacheClusterIdInteger numCacheNodesString cacheNodeTypeString enginejava.util.List<StringcacheSecurityGroupNames) {
         setCacheClusterId(cacheClusterId);
         setNumCacheNodes(numCacheNodes);
         setCacheNodeType(cacheNodeType);
         setEngine(engine);
         setCacheSecurityGroupNames(cacheSecurityGroupNames);
     }

    
The node group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.

Returns:
The node group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.
 
     public String getCacheClusterId() {
         return ;
     }
    
    
The node group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.

Parameters:
cacheClusterId The node group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.
 
     public void setCacheClusterId(String cacheClusterId) {
         this. = cacheClusterId;
     }
    
    
The node group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.

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

Parameters:
cacheClusterId The node group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.
Returns:
A reference to this updated object so that method calls can be chained together.
 
     public CreateCacheClusterRequest withCacheClusterId(String cacheClusterId) {
         this. = cacheClusterId;
         return this;
     }

    
The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster will be added to the specified replication group as a read replica; otherwise, the cache cluster will be a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the availability zone is not specified, the cache cluster will be created in availability zones that provide the best spread of read replicas across availability zones.

Note: This parameter is only valid if the Engine parameter is redis.

Returns:
The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster will be added to the specified replication group as a read replica; otherwise, the cache cluster will be a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the availability zone is not specified, the cache cluster will be created in availability zones that provide the best spread of read replicas across availability zones.

Note: This parameter is only valid if the Engine parameter is redis.

 
     public String getReplicationGroupId() {
         return ;
     }
    
    
The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster will be added to the specified replication group as a read replica; otherwise, the cache cluster will be a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the availability zone is not specified, the cache cluster will be created in availability zones that provide the best spread of read replicas across availability zones.

Note: This parameter is only valid if the Engine parameter is redis.

Parameters:
replicationGroupId The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster will be added to the specified replication group as a read replica; otherwise, the cache cluster will be a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the availability zone is not specified, the cache cluster will be created in availability zones that provide the best spread of read replicas across availability zones.

Note: This parameter is only valid if the Engine parameter is redis.

 
     public void setReplicationGroupId(String replicationGroupId) {
         this. = replicationGroupId;
     }
    
    
The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster will be added to the specified replication group as a read replica; otherwise, the cache cluster will be a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the availability zone is not specified, the cache cluster will be created in availability zones that provide the best spread of read replicas across availability zones.

Note: This parameter is only valid if the Engine parameter is redis.

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

Parameters:
replicationGroupId The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster will be added to the specified replication group as a read replica; otherwise, the cache cluster will be a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the availability zone is not specified, the cache cluster will be created in availability zones that provide the best spread of read replicas across availability zones.

Note: This parameter is only valid if the Engine parameter is redis.

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

    
Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

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

Returns:
Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

See also:
AZMode
 
     public String getAZMode() {
         return ;
     }
    
    
Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

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

Parameters:
aZMode Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

See also:
AZMode
 
     public void setAZMode(String aZMode) {
         this. = aZMode;
     }
    
    
Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

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

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

Parameters:
aZMode Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

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

    
Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

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

Parameters:
aZMode Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

See also:
AZMode
 
     public void setAZMode(AZMode aZMode) {
         this. = aZMode.toString();
     }
    
    
Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

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

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

Parameters:
aZMode Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

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

    
The EC2 Availability Zone in which the cache cluster will be created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

Returns:
The EC2 Availability Zone in which the cache cluster will be created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

 
     public String getPreferredAvailabilityZone() {
         return ;
     }
    
    
The EC2 Availability Zone in which the cache cluster will be created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

Parameters:
preferredAvailabilityZone The EC2 Availability Zone in which the cache cluster will be created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

 
     public void setPreferredAvailabilityZone(String preferredAvailabilityZone) {
         this. = preferredAvailabilityZone;
     }
    
    
The EC2 Availability Zone in which the cache cluster will be created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

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

Parameters:
preferredAvailabilityZone The EC2 Availability Zone in which the cache cluster will be created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

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

    
A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached. <note>

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes. </note>

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a

Returns:
A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached. <note>

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes. </note>

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a

 
         if ( == null) {
               .setAutoConstruct(true);
         }
         return ;
     }
    
    
A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached. <note>

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes. </note>

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a

Parameters:
preferredAvailabilityZones A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached. <note>

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes. </note>

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a

 
     public void setPreferredAvailabilityZones(java.util.Collection<StringpreferredAvailabilityZones) {
         if (preferredAvailabilityZones == null) {
             this. = null;
             return;
         }
         com.amazonaws.internal.ListWithAutoConstructFlag<StringpreferredAvailabilityZonesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(preferredAvailabilityZones.size());
         preferredAvailabilityZonesCopy.addAll(preferredAvailabilityZones);
         this. = preferredAvailabilityZonesCopy;
     }
    
    
A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached. <note>

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes. </note>

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a

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

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

Parameters:
preferredAvailabilityZones A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached. <note>

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes. </note>

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a

Returns:
A reference to this updated object so that method calls can be chained together.
 
     public CreateCacheClusterRequest withPreferredAvailabilityZones(String... preferredAvailabilityZones) {
         if (getPreferredAvailabilityZones() == nullsetPreferredAvailabilityZones(new java.util.ArrayList<String>(preferredAvailabilityZones.length));
         for (String value : preferredAvailabilityZones) {
             getPreferredAvailabilityZones().add(value);
         }
         return this;
     }
    
    
A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached. <note>

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes. </note>

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a

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

Parameters:
preferredAvailabilityZones A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached. <note>

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes. </note>

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a

Returns:
A reference to this updated object so that method calls can be chained together.
 
     public CreateCacheClusterRequest withPreferredAvailabilityZones(java.util.Collection<StringpreferredAvailabilityZones) {
         if (preferredAvailabilityZones == null) {
             this. = null;
         } else {
             com.amazonaws.internal.ListWithAutoConstructFlag<StringpreferredAvailabilityZonesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(preferredAvailabilityZones.size());
             preferredAvailabilityZonesCopy.addAll(preferredAvailabilityZones);
             this. = preferredAvailabilityZonesCopy;
         }
 
         return this;
     }

    
The initial number of cache nodes that the cache cluster will have.

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

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

Returns:
The initial number of cache nodes that the cache cluster will have.

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

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

 
     public Integer getNumCacheNodes() {
         return ;
     }
    
    
The initial number of cache nodes that the cache cluster will have.

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

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

Parameters:
numCacheNodes The initial number of cache nodes that the cache cluster will have.

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

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

 
     public void setNumCacheNodes(Integer numCacheNodes) {
         this. = numCacheNodes;
     }
    
    
The initial number of cache nodes that the cache cluster will have.

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

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

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

Parameters:
numCacheNodes The initial number of cache nodes that the cache cluster will have.

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

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

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

    
The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

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

Returns:
The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

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

 
     public String getCacheNodeType() {
         return ;
     }
    
    
The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

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

Parameters:
cacheNodeType The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

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

    public void setCacheNodeType(String cacheNodeType) {
        this. = cacheNodeType;
    }
    
    
The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

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

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

Parameters:
cacheNodeType The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

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

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

    
The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

Returns:
The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

    public String getEngine() {
        return ;
    }
    
    
The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

Parameters:
engine The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

    public void setEngine(String engine) {
        this. = engine;
    }
    
    
The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

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

Parameters:
engine The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

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

    
The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions action.

Returns:
The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions action.
    public String getEngineVersion() {
        return ;
    }
    
    
The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions action.

Parameters:
engineVersion The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions action.
    public void setEngineVersion(String engineVersion) {
        this. = engineVersion;
    }
    
    
The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions action.

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

Parameters:
engineVersion The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions action.
Returns:
A reference to this updated object so that method calls can be chained together.
    public CreateCacheClusterRequest withEngineVersion(String engineVersion) {
        this. = engineVersion;
        return this;
    }

    
The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.

Returns:
The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.
        return ;
    }
    
    
The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.

Parameters:
cacheParameterGroupName The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.
    public void setCacheParameterGroupName(String cacheParameterGroupName) {
        this. = cacheParameterGroupName;
    }
    
    
The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.

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

Parameters:
cacheParameterGroupName The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.
Returns:
A reference to this updated object so that method calls can be chained together.
    public CreateCacheClusterRequest withCacheParameterGroupName(String cacheParameterGroupName) {
        this. = cacheParameterGroupName;
        return this;
    }

    
The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

Returns:
The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

    public String getCacheSubnetGroupName() {
        return ;
    }
    
    
The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

Parameters:
cacheSubnetGroupName The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

    public void setCacheSubnetGroupName(String cacheSubnetGroupName) {
        this. = cacheSubnetGroupName;
    }
    
    
The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

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

Parameters:
cacheSubnetGroupName The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

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

    
A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

Returns:
A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

        if ( == null) {
              .setAutoConstruct(true);
        }
        return ;
    }
    
    
A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

Parameters:
cacheSecurityGroupNames A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

    public void setCacheSecurityGroupNames(java.util.Collection<StringcacheSecurityGroupNames) {
        if (cacheSecurityGroupNames == null) {
            this. = null;
            return;
        }
        com.amazonaws.internal.ListWithAutoConstructFlag<StringcacheSecurityGroupNamesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<String>(cacheSecurityGroupNames.size());
        cacheSecurityGroupNamesCopy.addAll(cacheSecurityGroupNames);
        this. = cacheSecurityGroupNamesCopy;
    }
    
    
A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

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

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

Parameters:
cacheSecurityGroupNames A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

Returns:
A reference to this updated object so that method calls can be chained together.
    public CreateCacheClusterRequest withCacheSecurityGroupNames(String... cacheSecurityGroupNames) {
        if (getCacheSecurityGroupNames() == nullsetCacheSecurityGroupNames(new java.util.ArrayList<String>(cacheSecurityGroupNames.length));
        for (String value : cacheSecurityGroupNames) {
            getCacheSecurityGroupNames().add(value);
        }
        return this;
    }
    
    
A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

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

Parameters:
cacheSecurityGroupNames A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

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

    
One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

Returns:
One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

        if ( == null) {
              .setAutoConstruct(true);
        }
        return ;
    }
    
    
One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

Parameters:
securityGroupIds One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

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

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

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

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

Parameters:
securityGroupIds One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

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

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

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

Parameters:
securityGroupIds One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

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

    
A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.

Returns:
A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.
    public java.util.List<TaggetTags() {
        if ( == null) {
               = new com.amazonaws.internal.ListWithAutoConstructFlag<Tag>();
              .setAutoConstruct(true);
        }
        return ;
    }
    
    
A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.

Parameters:
tags A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.
    public void setTags(java.util.Collection<Tagtags) {
        if (tags == null) {
            this. = null;
            return;
        }
        tagsCopy.addAll(tags);
        this. = tagsCopy;
    }
    
    
A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.

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

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

Parameters:
tags A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.
Returns:
A reference to this updated object so that method calls can be chained together.
    public CreateCacheClusterRequest withTags(Tag... tags) {
        if (getTags() == nullsetTags(new java.util.ArrayList<Tag>(tags.length));
        for (Tag value : tags) {
            getTags().add(value);
        }
        return this;
    }
    
    
A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.

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

Parameters:
tags A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.
Returns:
A reference to this updated object so that method calls can be chained together.
        if (tags == null) {
            this. = null;
        } else {
            tagsCopy.addAll(tags);
            this. = tagsCopy;
        }
        return this;
    }

    
A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

Returns:
A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

    public java.util.List<StringgetSnapshotArns() {
        if ( == null) {
               = new com.amazonaws.internal.ListWithAutoConstructFlag<String>();
              .setAutoConstruct(true);
        }
        return ;
    }
    
    
A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

Parameters:
snapshotArns A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

    public void setSnapshotArns(java.util.Collection<StringsnapshotArns) {
        if (snapshotArns == null) {
            this. = null;
            return;
        }
        snapshotArnsCopy.addAll(snapshotArns);
        this. = snapshotArnsCopy;
    }
    
    
A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

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

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

Parameters:
snapshotArns A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

Returns:
A reference to this updated object so that method calls can be chained together.
    public CreateCacheClusterRequest withSnapshotArns(String... snapshotArns) {
        if (getSnapshotArns() == nullsetSnapshotArns(new java.util.ArrayList<String>(snapshotArns.length));
        for (String value : snapshotArns) {
            getSnapshotArns().add(value);
        }
        return this;
    }
    
    
A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

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

Parameters:
snapshotArns A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

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

    
The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

Note: This parameter is only valid if the Engine parameter is redis.

Returns:
The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

Note: This parameter is only valid if the Engine parameter is redis.

    public String getSnapshotName() {
        return ;
    }
    
    
The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

Note: This parameter is only valid if the Engine parameter is redis.

Parameters:
snapshotName The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

Note: This parameter is only valid if the Engine parameter is redis.

    public void setSnapshotName(String snapshotName) {
        this. = snapshotName;
    }
    
    
The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

Note: This parameter is only valid if the Engine parameter is redis.

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

Parameters:
snapshotName The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

Note: This parameter is only valid if the Engine parameter is redis.

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

    
Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:
  • sun
  • mon
  • tue
  • wed
  • thu
  • fri
  • sat

Example: sun:05:00-sun:09:00

Returns:
Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:
  • sun
  • mon
  • tue
  • wed
  • thu
  • fri
  • sat

Example: sun:05:00-sun:09:00

        return ;
    }
    
    
Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:
  • sun
  • mon
  • tue
  • wed
  • thu
  • fri
  • sat

Example: sun:05:00-sun:09:00

Parameters:
preferredMaintenanceWindow Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:
  • sun
  • mon
  • tue
  • wed
  • thu
  • fri
  • sat

Example: sun:05:00-sun:09:00

    public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
        this. = preferredMaintenanceWindow;
    }
    
    
Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:
  • sun
  • mon
  • tue
  • wed
  • thu
  • fri
  • sat

Example: sun:05:00-sun:09:00

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

Parameters:
preferredMaintenanceWindow Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:
  • sun
  • mon
  • tue
  • wed
  • thu
  • fri
  • sat

Example: sun:05:00-sun:09:00

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

    
The port number on which each of the cache nodes will accept connections.

Returns:
The port number on which each of the cache nodes will accept connections.
    public Integer getPort() {
        return ;
    }
    
    
The port number on which each of the cache nodes will accept connections.

Parameters:
port The port number on which each of the cache nodes will accept connections.
    public void setPort(Integer port) {
        this. = port;
    }
    
    
The port number on which each of the cache nodes will accept connections.

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

Parameters:
port The port number on which each of the cache nodes will accept connections.
Returns:
A reference to this updated object so that method calls can be chained together.
        this. = port;
        return this;
    }

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

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

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

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

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

    
This parameter is currently disabled.

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

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

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

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

    
This parameter is currently disabled.

Returns:
This parameter is currently disabled.
        return ;
    }

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

Note: This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

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

Note: This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

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

Note: This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

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

Note: This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

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

Note: This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

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

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

Note: This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

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

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

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

Returns:
The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your node group.

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

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

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

Parameters:
snapshotWindow The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your node group.

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

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

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

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

Parameters:
snapshotWindow The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your node group.

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

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

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

Returns:
A string representation of this object.
See also:
java.lang.Object.toString()
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getCacheClusterId() != nullsb.append("CacheClusterId: " + getCacheClusterId() + ",");
        if (getReplicationGroupId() != nullsb.append("ReplicationGroupId: " + getReplicationGroupId() + ",");
        if (getAZMode() != nullsb.append("AZMode: " + getAZMode() + ",");
        if (getPreferredAvailabilityZone() != nullsb.append("PreferredAvailabilityZone: " + getPreferredAvailabilityZone() + ",");
        if (getPreferredAvailabilityZones() != nullsb.append("PreferredAvailabilityZones: " + getPreferredAvailabilityZones() + ",");
        if (getNumCacheNodes() != nullsb.append("NumCacheNodes: " + getNumCacheNodes() + ",");
        if (getCacheNodeType() != nullsb.append("CacheNodeType: " + getCacheNodeType() + ",");
        if (getEngine() != nullsb.append("Engine: " + getEngine() + ",");
        if (getEngineVersion() != nullsb.append("EngineVersion: " + getEngineVersion() + ",");
        if (getCacheParameterGroupName() != nullsb.append("CacheParameterGroupName: " + getCacheParameterGroupName() + ",");
        if (getCacheSubnetGroupName() != nullsb.append("CacheSubnetGroupName: " + getCacheSubnetGroupName() + ",");
        if (getCacheSecurityGroupNames() != nullsb.append("CacheSecurityGroupNames: " + getCacheSecurityGroupNames() + ",");
        if (getSecurityGroupIds() != nullsb.append("SecurityGroupIds: " + getSecurityGroupIds() + ",");
        if (getTags() != nullsb.append("Tags: " + getTags() + ",");
        if (getSnapshotArns() != nullsb.append("SnapshotArns: " + getSnapshotArns() + ",");
        if (getSnapshotName() != nullsb.append("SnapshotName: " + getSnapshotName() + ",");
        if (getPreferredMaintenanceWindow() != nullsb.append("PreferredMaintenanceWindow: " + getPreferredMaintenanceWindow() + ",");
        if (getPort() != nullsb.append("Port: " + getPort() + ",");
        if (getNotificationTopicArn() != nullsb.append("NotificationTopicArn: " + getNotificationTopicArn() + ",");
        if (isAutoMinorVersionUpgrade() != nullsb.append("AutoMinorVersionUpgrade: " + isAutoMinorVersionUpgrade() + ",");
        if (getSnapshotRetentionLimit() != nullsb.append("SnapshotRetentionLimit: " + getSnapshotRetentionLimit() + ",");
        if (getSnapshotWindow() != nullsb.append("SnapshotWindow: " + getSnapshotWindow() );
        sb.append("}");
        return sb.toString();
    }
    
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        
        hashCode = prime * hashCode + ((getCacheClusterId() == null) ? 0 : getCacheClusterId().hashCode()); 
        hashCode = prime * hashCode + ((getReplicationGroupId() == null) ? 0 : getReplicationGroupId().hashCode()); 
        hashCode = prime * hashCode + ((getAZMode() == null) ? 0 : getAZMode().hashCode()); 
        hashCode = prime * hashCode + ((getPreferredAvailabilityZone() == null) ? 0 : getPreferredAvailabilityZone().hashCode()); 
        hashCode = prime * hashCode + ((getPreferredAvailabilityZones() == null) ? 0 : getPreferredAvailabilityZones().hashCode()); 
        hashCode = prime * hashCode + ((getNumCacheNodes() == null) ? 0 : getNumCacheNodes().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 + ((getCacheParameterGroupName() == null) ? 0 : getCacheParameterGroupName().hashCode()); 
        hashCode = prime * hashCode + ((getCacheSubnetGroupName() == null) ? 0 : getCacheSubnetGroupName().hashCode()); 
        hashCode = prime * hashCode + ((getCacheSecurityGroupNames() == null) ? 0 : getCacheSecurityGroupNames().hashCode()); 
        hashCode = prime * hashCode + ((getSecurityGroupIds() == null) ? 0 : getSecurityGroupIds().hashCode()); 
        hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); 
        hashCode = prime * hashCode + ((getSnapshotArns() == null) ? 0 : getSnapshotArns().hashCode()); 
        hashCode = prime * hashCode + ((getSnapshotName() == null) ? 0 : getSnapshotName().hashCode()); 
        hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); 
        hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode()); 
        hashCode = prime * hashCode + ((getNotificationTopicArn() == null) ? 0 : getNotificationTopicArn().hashCode()); 
        hashCode = prime * hashCode + ((isAutoMinorVersionUpgrade() == null) ? 0 : isAutoMinorVersionUpgrade().hashCode()); 
        hashCode = prime * hashCode + ((getSnapshotRetentionLimit() == null) ? 0 : getSnapshotRetentionLimit().hashCode()); 
        hashCode = prime * hashCode + ((getSnapshotWindow() == null) ? 0 : getSnapshotWindow().hashCode()); 
        return hashCode;
    }
    
    @Override
    public boolean equals(Object obj) {
        if (this == objreturn true;
        if (obj == nullreturn false;
        if (obj instanceof CreateCacheClusterRequest == falsereturn false;
        
        if (other.getCacheClusterId() == null ^ this.getCacheClusterId() == nullreturn false;
        if (other.getCacheClusterId() != null && other.getCacheClusterId().equals(this.getCacheClusterId()) == falsereturn false
        if (other.getReplicationGroupId() == null ^ this.getReplicationGroupId() == nullreturn false;
        if (other.getReplicationGroupId() != null && other.getReplicationGroupId().equals(this.getReplicationGroupId()) == falsereturn false
        if (other.getAZMode() == null ^ this.getAZMode() == nullreturn false;
        if (other.getAZMode() != null && other.getAZMode().equals(this.getAZMode()) == falsereturn false
        if (other.getPreferredAvailabilityZone() == null ^ this.getPreferredAvailabilityZone() == nullreturn false;
        if (other.getPreferredAvailabilityZone() != null && other.getPreferredAvailabilityZone().equals(this.getPreferredAvailabilityZone()) == falsereturn false
        if (other.getPreferredAvailabilityZones() == null ^ this.getPreferredAvailabilityZones() == nullreturn false;
        if (other.getPreferredAvailabilityZones() != null && other.getPreferredAvailabilityZones().equals(this.getPreferredAvailabilityZones()) == falsereturn false
        if (other.getNumCacheNodes() == null ^ this.getNumCacheNodes() == nullreturn false;
        if (other.getNumCacheNodes() != null && other.getNumCacheNodes().equals(this.getNumCacheNodes()) == falsereturn false
        if (other.getCacheNodeType() == null ^ this.getCacheNodeType() == nullreturn false;
        if (other.getCacheNodeType() != null && other.getCacheNodeType().equals(this.getCacheNodeType()) == falsereturn false
        if (other.getEngine() == null ^ this.getEngine() == nullreturn false;
        if (other.getEngine() != null && other.getEngine().equals(this.getEngine()) == falsereturn false
        if (other.getEngineVersion() == null ^ this.getEngineVersion() == nullreturn false;
        if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == falsereturn false
        if (other.getCacheParameterGroupName() == null ^ this.getCacheParameterGroupName() == nullreturn false;
        if (other.getCacheParameterGroupName() != null && other.getCacheParameterGroupName().equals(this.getCacheParameterGroupName()) == falsereturn false
        if (other.getCacheSubnetGroupName() == null ^ this.getCacheSubnetGroupName() == nullreturn false;
        if (other.getCacheSubnetGroupName() != null && other.getCacheSubnetGroupName().equals(this.getCacheSubnetGroupName()) == falsereturn false
        if (other.getCacheSecurityGroupNames() == null ^ this.getCacheSecurityGroupNames() == nullreturn false;
        if (other.getCacheSecurityGroupNames() != null && other.getCacheSecurityGroupNames().equals(this.getCacheSecurityGroupNames()) == falsereturn false
        if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == nullreturn false;
        if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals(this.getSecurityGroupIds()) == falsereturn false
        if (other.getTags() == null ^ this.getTags() == nullreturn false;
        if (other.getTags() != null && other.getTags().equals(this.getTags()) == falsereturn false
        if (other.getSnapshotArns() == null ^ this.getSnapshotArns() == nullreturn false;
        if (other.getSnapshotArns() != null && other.getSnapshotArns().equals(this.getSnapshotArns()) == falsereturn false
        if (other.getSnapshotName() == null ^ this.getSnapshotName() == nullreturn false;
        if (other.getSnapshotName() != null && other.getSnapshotName().equals(this.getSnapshotName()) == falsereturn false
        if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == nullreturn false;
        if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == falsereturn false
        if (other.getPort() == null ^ this.getPort() == nullreturn false;
        if (other.getPort() != null && other.getPort().equals(this.getPort()) == falsereturn false
        if (other.getNotificationTopicArn() == null ^ this.getNotificationTopicArn() == nullreturn false;
        if (other.getNotificationTopicArn() != null && other.getNotificationTopicArn().equals(this.getNotificationTopicArn()) == falsereturn false
        if (other.isAutoMinorVersionUpgrade() == null ^ this.isAutoMinorVersionUpgrade() == nullreturn false;
        if (other.isAutoMinorVersionUpgrade() != null && other.isAutoMinorVersionUpgrade().equals(this.isAutoMinorVersionUpgrade()) == falsereturn false
        if (other.getSnapshotRetentionLimit() == null ^ this.getSnapshotRetentionLimit() == nullreturn false;
        if (other.getSnapshotRetentionLimit() != null && other.getSnapshotRetentionLimit().equals(this.getSnapshotRetentionLimit()) == falsereturn false
        if (other.getSnapshotWindow() == null ^ this.getSnapshotWindow() == nullreturn false;
        if (other.getSnapshotWindow() != null && other.getSnapshotWindow().equals(this.getSnapshotWindow()) == falsereturn false
        return true;
    }
    
    @Override
    public CreateCacheClusterRequest clone() {
        
            return (CreateCacheClusterRequestsuper.clone();
    }
}
    
New to GrepCode? Check out our FAQ X