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

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

Go to download

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

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

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

/**
 * 

* Represents the input of a CreateReplicationGroup action. *

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

* The replication 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 replicationGroupId; /** *

* A user-created description for the replication group. *

*/ private String replicationGroupDescription; /** *

* The identifier of the cache cluster that will serve as the primary for * this replication group. This cache cluster must already exist and have a * status of available. *

*

* This parameter is not required if NumCacheClusters is specified. *

*/ private String primaryClusterId; /** *

* Specifies whether a read-only replica will be automatically promoted to * read/write primary if the existing primary fails. *

*

* If true, Multi-AZ is enabled for this replication group. If * false, Multi-AZ is disabled for this replication group. *

*

* Default: false *

* *

* ElastiCache Multi-AZ replication groups is not supported on: *

*
    *
  • *

    * Redis versions earlier than 2.8.6. *

    *
  • *
  • *

    * T1 and T2 cache node types. *

    *
  • *
*
*/ private Boolean automaticFailoverEnabled; /** *

* The number of cache clusters this replication group will initially have. *

*

* If Multi-AZ is enabled, the value of this parameter * must be at least 2. *

*

* The maximum permitted value for NumCacheClusters is 6 (primary * plus 5 replicas). If you need to exceed this limit, please fill out the * ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request. *

*/ private Integer numCacheClusters; /** *

* A list of EC2 availability zones in which the replication group's cache * clusters will be created. The order of the availability zones in the list * is not important. *

* *

* If you are creating your replication group in an Amazon VPC * (recommended), you can only locate cache clusters in availability zones * associated with the subnets in the selected subnet group. *

*

* The number of availability zones listed must equal the value of * NumCacheClusters. *

*
*

* Default: system chosen availability zones. *

*

* Example: One Redis cache cluster in each of three availability zones. *

*

* PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c *

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

* 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 the cache clusters in this * replication group. *

*

* Default: redis *

*/ private String engine; /** *

* The version number of the cache engine to be used for the cache clusters * in this replication group. To view the supported cache engine versions, * use the DescribeCacheEngineVersions action. *

*

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

*/ private String engineVersion; /** *

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

*/ private String cacheParameterGroupName; /** *

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

*/ private String cacheSubnetGroupName; /** *

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

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

* One or more Amazon VPC security groups associated with this replication * group. *

*

* Use this parameter only when you are creating a replication group in an * Amazon Virtual Private Cloud (VPC). *

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

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

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

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

* *

* This parameter is only valid if the Engine parameter is * redis. *

*
*

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

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

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

* *

* 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 member of the replication group 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. *

* *

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

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

* *

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

* *

* This parameter is only valid if the Engine parameter is * redis. *

*
*/ private String snapshotWindow; /** *

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

    *
  • *
* * @param replicationGroupId * The replication 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 setReplicationGroupId(String replicationGroupId) { this.replicationGroupId = replicationGroupId; } /** *

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

      *
    • *
    * * @return The replication 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 getReplicationGroupId() { return this.replicationGroupId; } /** *

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

        *
      • *
      * * @param replicationGroupId * The replication 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. *

        *
      • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withReplicationGroupId( String replicationGroupId) { setReplicationGroupId(replicationGroupId); return this; } /** *

        * A user-created description for the replication group. *

        * * @param replicationGroupDescription * A user-created description for the replication group. */ public void setReplicationGroupDescription( String replicationGroupDescription) { this.replicationGroupDescription = replicationGroupDescription; } /** *

        * A user-created description for the replication group. *

        * * @return A user-created description for the replication group. */ public String getReplicationGroupDescription() { return this.replicationGroupDescription; } /** *

        * A user-created description for the replication group. *

        * * @param replicationGroupDescription * A user-created description for the replication group. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withReplicationGroupDescription( String replicationGroupDescription) { setReplicationGroupDescription(replicationGroupDescription); return this; } /** *

        * The identifier of the cache cluster that will serve as the primary for * this replication group. This cache cluster must already exist and have a * status of available. *

        *

        * This parameter is not required if NumCacheClusters is specified. *

        * * @param primaryClusterId * The identifier of the cache cluster that will serve as the primary * for this replication group. This cache cluster must already exist * and have a status of available.

        *

        * This parameter is not required if NumCacheClusters is * specified. */ public void setPrimaryClusterId(String primaryClusterId) { this.primaryClusterId = primaryClusterId; } /** *

        * The identifier of the cache cluster that will serve as the primary for * this replication group. This cache cluster must already exist and have a * status of available. *

        *

        * This parameter is not required if NumCacheClusters is specified. *

        * * @return The identifier of the cache cluster that will serve as the * primary for this replication group. This cache cluster must * already exist and have a status of available.

        *

        * This parameter is not required if NumCacheClusters is * specified. */ public String getPrimaryClusterId() { return this.primaryClusterId; } /** *

        * The identifier of the cache cluster that will serve as the primary for * this replication group. This cache cluster must already exist and have a * status of available. *

        *

        * This parameter is not required if NumCacheClusters is specified. *

        * * @param primaryClusterId * The identifier of the cache cluster that will serve as the primary * for this replication group. This cache cluster must already exist * and have a status of available.

        *

        * This parameter is not required if NumCacheClusters is * specified. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withPrimaryClusterId( String primaryClusterId) { setPrimaryClusterId(primaryClusterId); return this; } /** *

        * Specifies whether a read-only replica will be automatically promoted to * read/write primary if the existing primary fails. *

        *

        * If true, Multi-AZ is enabled for this replication group. If * false, Multi-AZ is disabled for this replication group. *

        *

        * Default: false *

        * *

        * ElastiCache Multi-AZ replication groups is not supported on: *

        *
          *
        • *

          * Redis versions earlier than 2.8.6. *

          *
        • *
        • *

          * T1 and T2 cache node types. *

          *
        • *
        *
        * * @param automaticFailoverEnabled * Specifies whether a read-only replica will be automatically * promoted to read/write primary if the existing primary fails.

        *

        * If true, Multi-AZ is enabled for this replication * group. If false, Multi-AZ is disabled for this * replication group. *

        *

        * Default: false *

        * *

        * ElastiCache Multi-AZ replication groups is not supported on: *

        *
          *
        • *

          * Redis versions earlier than 2.8.6. *

          *
        • *
        • *

          * T1 and T2 cache node types. *

          *
        • *
        */ public void setAutomaticFailoverEnabled(Boolean automaticFailoverEnabled) { this.automaticFailoverEnabled = automaticFailoverEnabled; } /** *

        * Specifies whether a read-only replica will be automatically promoted to * read/write primary if the existing primary fails. *

        *

        * If true, Multi-AZ is enabled for this replication group. If * false, Multi-AZ is disabled for this replication group. *

        *

        * Default: false *

        * *

        * ElastiCache Multi-AZ replication groups is not supported on: *

        *
          *
        • *

          * Redis versions earlier than 2.8.6. *

          *
        • *
        • *

          * T1 and T2 cache node types. *

          *
        • *
        *
        * * @return Specifies whether a read-only replica will be automatically * promoted to read/write primary if the existing primary fails.

        *

        * If true, Multi-AZ is enabled for this replication * group. If false, Multi-AZ is disabled for this * replication group. *

        *

        * Default: false *

        * *

        * ElastiCache Multi-AZ replication groups is not supported on: *

        *
          *
        • *

          * Redis versions earlier than 2.8.6. *

          *
        • *
        • *

          * T1 and T2 cache node types. *

          *
        • *
        */ public Boolean getAutomaticFailoverEnabled() { return this.automaticFailoverEnabled; } /** *

        * Specifies whether a read-only replica will be automatically promoted to * read/write primary if the existing primary fails. *

        *

        * If true, Multi-AZ is enabled for this replication group. If * false, Multi-AZ is disabled for this replication group. *

        *

        * Default: false *

        * *

        * ElastiCache Multi-AZ replication groups is not supported on: *

        *
          *
        • *

          * Redis versions earlier than 2.8.6. *

          *
        • *
        • *

          * T1 and T2 cache node types. *

          *
        • *
        *
        * * @param automaticFailoverEnabled * Specifies whether a read-only replica will be automatically * promoted to read/write primary if the existing primary fails.

        *

        * If true, Multi-AZ is enabled for this replication * group. If false, Multi-AZ is disabled for this * replication group. *

        *

        * Default: false *

        * *

        * ElastiCache Multi-AZ replication groups is not supported on: *

        *
          *
        • *

          * Redis versions earlier than 2.8.6. *

          *
        • *
        • *

          * T1 and T2 cache node types. *

          *
        • *
        * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withAutomaticFailoverEnabled( Boolean automaticFailoverEnabled) { setAutomaticFailoverEnabled(automaticFailoverEnabled); return this; } /** *

        * Specifies whether a read-only replica will be automatically promoted to * read/write primary if the existing primary fails. *

        *

        * If true, Multi-AZ is enabled for this replication group. If * false, Multi-AZ is disabled for this replication group. *

        *

        * Default: false *

        * *

        * ElastiCache Multi-AZ replication groups is not supported on: *

        *
          *
        • *

          * Redis versions earlier than 2.8.6. *

          *
        • *
        • *

          * T1 and T2 cache node types. *

          *
        • *
        *
        * * @return Specifies whether a read-only replica will be automatically * promoted to read/write primary if the existing primary fails.

        *

        * If true, Multi-AZ is enabled for this replication * group. If false, Multi-AZ is disabled for this * replication group. *

        *

        * Default: false *

        * *

        * ElastiCache Multi-AZ replication groups is not supported on: *

        *
          *
        • *

          * Redis versions earlier than 2.8.6. *

          *
        • *
        • *

          * T1 and T2 cache node types. *

          *
        • *
        */ public Boolean isAutomaticFailoverEnabled() { return this.automaticFailoverEnabled; } /** *

        * The number of cache clusters this replication group will initially have. *

        *

        * If Multi-AZ is enabled, the value of this parameter * must be at least 2. *

        *

        * The maximum permitted value for NumCacheClusters is 6 (primary * plus 5 replicas). If you need to exceed this limit, please fill out the * ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request. *

        * * @param numCacheClusters * The number of cache clusters this replication group will initially * have.

        *

        * If Multi-AZ is enabled, the value of this * parameter must be at least 2. *

        *

        * The maximum permitted value for NumCacheClusters is 6 * (primary plus 5 replicas). If you need to exceed this limit, * please fill out the ElastiCache Limit Increase Request form at http * ://aws.amazon.com/contact-us/elasticache-node-limit-request. */ public void setNumCacheClusters(Integer numCacheClusters) { this.numCacheClusters = numCacheClusters; } /** *

        * The number of cache clusters this replication group will initially have. *

        *

        * If Multi-AZ is enabled, the value of this parameter * must be at least 2. *

        *

        * The maximum permitted value for NumCacheClusters is 6 (primary * plus 5 replicas). If you need to exceed this limit, please fill out the * ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request. *

        * * @return The number of cache clusters this replication group will * initially have.

        *

        * If Multi-AZ is enabled, the value of this * parameter must be at least 2. *

        *

        * The maximum permitted value for NumCacheClusters is 6 * (primary plus 5 replicas). If you need to exceed this limit, * please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request< * /a>. */ public Integer getNumCacheClusters() { return this.numCacheClusters; } /** *

        * The number of cache clusters this replication group will initially have. *

        *

        * If Multi-AZ is enabled, the value of this parameter * must be at least 2. *

        *

        * The maximum permitted value for NumCacheClusters is 6 (primary * plus 5 replicas). If you need to exceed this limit, please fill out the * ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request. *

        * * @param numCacheClusters * The number of cache clusters this replication group will initially * have.

        *

        * If Multi-AZ is enabled, the value of this * parameter must be at least 2. *

        *

        * The maximum permitted value for NumCacheClusters is 6 * (primary plus 5 replicas). If you need to exceed this limit, * please fill out the ElastiCache Limit Increase Request form at http * ://aws.amazon.com/contact-us/elasticache-node-limit-request. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withNumCacheClusters( Integer numCacheClusters) { setNumCacheClusters(numCacheClusters); return this; } /** *

        * A list of EC2 availability zones in which the replication group's cache * clusters will be created. The order of the availability zones in the list * is not important. *

        * *

        * If you are creating your replication group in an Amazon VPC * (recommended), you can only locate cache clusters in availability zones * associated with the subnets in the selected subnet group. *

        *

        * The number of availability zones listed must equal the value of * NumCacheClusters. *

        *
        *

        * Default: system chosen availability zones. *

        *

        * Example: One Redis cache cluster in each of three availability zones. *

        *

        * PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c *

        * * @return A list of EC2 availability zones in which the replication group's * cache clusters will be created. The order of the availability * zones in the list is not important.

        *

        * If you are creating your replication group in an Amazon VPC * (recommended), you can only locate cache clusters in availability * zones associated with the subnets in the selected subnet group. *

        *

        * The number of availability zones listed must equal the value of * NumCacheClusters. *

        *
        *

        * Default: system chosen availability zones. *

        *

        * Example: One Redis cache cluster in each of three availability * zones. *

        *

        * PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c */ public java.util.List getPreferredCacheClusterAZs() { if (preferredCacheClusterAZs == null) { preferredCacheClusterAZs = new com.amazonaws.internal.SdkInternalList(); } return preferredCacheClusterAZs; } /** *

        * A list of EC2 availability zones in which the replication group's cache * clusters will be created. The order of the availability zones in the list * is not important. *

        * *

        * If you are creating your replication group in an Amazon VPC * (recommended), you can only locate cache clusters in availability zones * associated with the subnets in the selected subnet group. *

        *

        * The number of availability zones listed must equal the value of * NumCacheClusters. *

        *
        *

        * Default: system chosen availability zones. *

        *

        * Example: One Redis cache cluster in each of three availability zones. *

        *

        * PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c *

        * * @param preferredCacheClusterAZs * A list of EC2 availability zones in which the replication group's * cache clusters will be created. The order of the availability * zones in the list is not important.

        *

        * If you are creating your replication group in an Amazon VPC * (recommended), you can only locate cache clusters in availability * zones associated with the subnets in the selected subnet group. *

        *

        * The number of availability zones listed must equal the value of * NumCacheClusters. *

        *
        *

        * Default: system chosen availability zones. *

        *

        * Example: One Redis cache cluster in each of three availability * zones. *

        *

        * PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c */ public void setPreferredCacheClusterAZs( java.util.Collection preferredCacheClusterAZs) { if (preferredCacheClusterAZs == null) { this.preferredCacheClusterAZs = null; return; } this.preferredCacheClusterAZs = new com.amazonaws.internal.SdkInternalList( preferredCacheClusterAZs); } /** *

        * A list of EC2 availability zones in which the replication group's cache * clusters will be created. The order of the availability zones in the list * is not important. *

        * *

        * If you are creating your replication group in an Amazon VPC * (recommended), you can only locate cache clusters in availability zones * associated with the subnets in the selected subnet group. *

        *

        * The number of availability zones listed must equal the value of * NumCacheClusters. *

        *
        *

        * Default: system chosen availability zones. *

        *

        * Example: One Redis cache cluster in each of three availability zones. *

        *

        * PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c *

        *

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

        * * @param preferredCacheClusterAZs * A list of EC2 availability zones in which the replication group's * cache clusters will be created. The order of the availability * zones in the list is not important.

        *

        * If you are creating your replication group in an Amazon VPC * (recommended), you can only locate cache clusters in availability * zones associated with the subnets in the selected subnet group. *

        *

        * The number of availability zones listed must equal the value of * NumCacheClusters. *

        *
        *

        * Default: system chosen availability zones. *

        *

        * Example: One Redis cache cluster in each of three availability * zones. *

        *

        * PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withPreferredCacheClusterAZs( String... preferredCacheClusterAZs) { if (this.preferredCacheClusterAZs == null) { setPreferredCacheClusterAZs(new com.amazonaws.internal.SdkInternalList( preferredCacheClusterAZs.length)); } for (String ele : preferredCacheClusterAZs) { this.preferredCacheClusterAZs.add(ele); } return this; } /** *

        * A list of EC2 availability zones in which the replication group's cache * clusters will be created. The order of the availability zones in the list * is not important. *

        * *

        * If you are creating your replication group in an Amazon VPC * (recommended), you can only locate cache clusters in availability zones * associated with the subnets in the selected subnet group. *

        *

        * The number of availability zones listed must equal the value of * NumCacheClusters. *

        *
        *

        * Default: system chosen availability zones. *

        *

        * Example: One Redis cache cluster in each of three availability zones. *

        *

        * PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c *

        * * @param preferredCacheClusterAZs * A list of EC2 availability zones in which the replication group's * cache clusters will be created. The order of the availability * zones in the list is not important.

        *

        * If you are creating your replication group in an Amazon VPC * (recommended), you can only locate cache clusters in availability * zones associated with the subnets in the selected subnet group. *

        *

        * The number of availability zones listed must equal the value of * NumCacheClusters. *

        *
        *

        * Default: system chosen availability zones. *

        *

        * Example: One Redis cache cluster in each of three availability * zones. *

        *

        * PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withPreferredCacheClusterAZs( java.util.Collection preferredCacheClusterAZs) { setPreferredCacheClusterAZs(preferredCacheClusterAZs); 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. *

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

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

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

        * The name of the cache engine to be used for the cache clusters in this * replication group. *

        *

        * Default: redis *

        * * @param engine * The name of the cache engine to be used for the cache clusters in * this replication group.

        *

        * Default: redis */ public void setEngine(String engine) { this.engine = engine; } /** *

        * The name of the cache engine to be used for the cache clusters in this * replication group. *

        *

        * Default: redis *

        * * @return The name of the cache engine to be used for the cache clusters in * this replication group.

        *

        * Default: redis */ public String getEngine() { return this.engine; } /** *

        * The name of the cache engine to be used for the cache clusters in this * replication group. *

        *

        * Default: redis *

        * * @param engine * The name of the cache engine to be used for the cache clusters in * this replication group.

        *

        * Default: redis * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withEngine(String engine) { setEngine(engine); return this; } /** *

        * The version number of the cache engine to be used for the cache clusters * in this replication group. To view the supported cache engine versions, * use the DescribeCacheEngineVersions action. *

        *

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

        * * @param engineVersion * The version number of the cache engine to be used for the cache * clusters in this replication group. To view the supported cache * engine versions, use the DescribeCacheEngineVersions * action.

        *

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

        * The version number of the cache engine to be used for the cache clusters * in this replication group. To view the supported cache engine versions, * use the DescribeCacheEngineVersions action. *

        *

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

        * * @return The version number of the cache engine to be used for the cache * clusters in this replication group. To view the supported cache * engine versions, use the DescribeCacheEngineVersions * action.

        *

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

        * The version number of the cache engine to be used for the cache clusters * in this replication group. To view the supported cache engine versions, * use the DescribeCacheEngineVersions action. *

        *

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

        * * @param engineVersion * The version number of the cache engine to be used for the cache * clusters in this replication group. To view the supported cache * engine versions, use the DescribeCacheEngineVersions * action.

        *

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

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

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

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

        * * @return The name of the parameter group to associate with this * replication group. If this argument is omitted, the default cache * parameter group for the specified engine is used. */ public String getCacheParameterGroupName() { return this.cacheParameterGroupName; } /** *

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

        * * @param cacheParameterGroupName * The name of the parameter group to associate with this replication * group. If this argument is omitted, the default cache parameter * group for the specified engine is used. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withCacheParameterGroupName( String cacheParameterGroupName) { setCacheParameterGroupName(cacheParameterGroupName); return this; } /** *

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

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

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

        * * @return The name of the cache subnet group to be used for the replication * group. */ public String getCacheSubnetGroupName() { return this.cacheSubnetGroupName; } /** *

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

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

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

        * * @return A list of cache security group names to associate with this * replication group. */ public java.util.List getCacheSecurityGroupNames() { if (cacheSecurityGroupNames == null) { cacheSecurityGroupNames = new com.amazonaws.internal.SdkInternalList(); } return cacheSecurityGroupNames; } /** *

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

        * * @param cacheSecurityGroupNames * A list of cache security group names to associate with this * replication group. */ public void setCacheSecurityGroupNames( java.util.Collection cacheSecurityGroupNames) { if (cacheSecurityGroupNames == null) { this.cacheSecurityGroupNames = null; return; } this.cacheSecurityGroupNames = new com.amazonaws.internal.SdkInternalList( cacheSecurityGroupNames); } /** *

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

        *

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

        * * @param cacheSecurityGroupNames * A list of cache security group names to associate with this * replication group. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withCacheSecurityGroupNames( String... cacheSecurityGroupNames) { if (this.cacheSecurityGroupNames == null) { setCacheSecurityGroupNames(new com.amazonaws.internal.SdkInternalList( cacheSecurityGroupNames.length)); } for (String ele : cacheSecurityGroupNames) { this.cacheSecurityGroupNames.add(ele); } return this; } /** *

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

        * * @param cacheSecurityGroupNames * A list of cache security group names to associate with this * replication group. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withCacheSecurityGroupNames( java.util.Collection cacheSecurityGroupNames) { setCacheSecurityGroupNames(cacheSecurityGroupNames); return this; } /** *

        * One or more Amazon VPC security groups associated with this replication * group. *

        *

        * Use this parameter only when you are creating a replication group in an * Amazon Virtual Private Cloud (VPC). *

        * * @return One or more Amazon VPC security groups associated with this * replication group.

        *

        * Use this parameter only when you are creating a replication group * in an Amazon Virtual Private Cloud (VPC). */ public java.util.List getSecurityGroupIds() { if (securityGroupIds == null) { securityGroupIds = new com.amazonaws.internal.SdkInternalList(); } return securityGroupIds; } /** *

        * One or more Amazon VPC security groups associated with this replication * group. *

        *

        * Use this parameter only when you are creating a replication group in an * Amazon Virtual Private Cloud (VPC). *

        * * @param securityGroupIds * One or more Amazon VPC security groups associated with this * replication group.

        *

        * Use this parameter only when you are creating a replication group * in an Amazon Virtual Private Cloud (VPC). */ public void setSecurityGroupIds( java.util.Collection securityGroupIds) { if (securityGroupIds == null) { this.securityGroupIds = null; return; } this.securityGroupIds = new com.amazonaws.internal.SdkInternalList( securityGroupIds); } /** *

        * One or more Amazon VPC security groups associated with this replication * group. *

        *

        * Use this parameter only when you are creating a replication group in an * Amazon Virtual Private Cloud (VPC). *

        *

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

        * * @param securityGroupIds * One or more Amazon VPC security groups associated with this * replication group.

        *

        * Use this parameter only when you are creating a replication group * in an Amazon Virtual Private Cloud (VPC). * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withSecurityGroupIds( String... securityGroupIds) { if (this.securityGroupIds == null) { setSecurityGroupIds(new com.amazonaws.internal.SdkInternalList( securityGroupIds.length)); } for (String ele : securityGroupIds) { this.securityGroupIds.add(ele); } return this; } /** *

        * One or more Amazon VPC security groups associated with this replication * group. *

        *

        * Use this parameter only when you are creating a replication group in an * Amazon Virtual Private Cloud (VPC). *

        * * @param securityGroupIds * One or more Amazon VPC security groups associated with this * replication group.

        *

        * Use this parameter only when you are creating a replication group * in an Amazon Virtual Private Cloud (VPC). * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withSecurityGroupIds( java.util.Collection securityGroupIds) { setSecurityGroupIds(securityGroupIds); 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. *

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

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

        *

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

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

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

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

        *
        *

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

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

        *

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

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

        *
        *

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

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

        *

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

        * *

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

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

        *

        * This parameter is only valid if the Engine parameter * is redis. *

        *
        *

        * Example of an Amazon S3 ARN: * arn:aws:s3:::my_bucket/snapshot1.rdb * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withSnapshotArns( String... snapshotArns) { if (this.snapshotArns == null) { setSnapshotArns(new com.amazonaws.internal.SdkInternalList( snapshotArns.length)); } for (String ele : snapshotArns) { this.snapshotArns.add(ele); } 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. *

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

        *
        *

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

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

        *

        * This parameter is only valid if the Engine parameter * is redis. *

        *
        *

        * Example of an Amazon S3 ARN: * arn:aws:s3:::my_bucket/snapshot1.rdb * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withSnapshotArns( java.util.Collection snapshotArns) { setSnapshotArns(snapshotArns); 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. *

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

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

        *

        * This parameter is only valid if the Engine parameter * is redis. *

        */ public void setSnapshotName(String snapshotName) { this.snapshotName = 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. *

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

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

        *

        * This parameter is only valid if the Engine parameter * is redis. *

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

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

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

        *

        * This parameter is only valid if the Engine parameter * is redis. *

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

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

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

        * Example: sun:05:00-sun:09:00 */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** *

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

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

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

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

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

        * Example: sun:05:00-sun:09:00 */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** *

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

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

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

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

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

        * Example: sun:05:00-sun:09:00 * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withPreferredMaintenanceWindow( String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** *

        * The port number on which each member of the replication group will accept * connections. *

        * * @param port * The port number on which each member of the replication group will * accept connections. */ public void setPort(Integer port) { this.port = port; } /** *

        * The port number on which each member of the replication group will accept * connections. *

        * * @return The port number on which each member of the replication group * will accept connections. */ public Integer getPort() { return this.port; } /** *

        * The port number on which each member of the replication group will accept * connections. *

        * * @param port * The port number on which each member of the replication group will * accept connections. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withPort(Integer port) { setPort(port); return this; } /** *

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

        * *

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

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

        * *

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

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

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

        * *

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

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

        * *

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

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

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

        * *

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

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

        * *

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

        * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withNotificationTopicArn( String notificationTopicArn) { setNotificationTopicArn(notificationTopicArn); return this; } /** *

        * This parameter is currently disabled. *

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

        * This parameter is currently disabled. *

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

        * This parameter is currently disabled. *

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

        * This parameter is currently disabled. *

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

        * The number of days for which ElastiCache will retain automatic 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. *

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

        *
        *

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

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

        * *

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

        * *

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

        *

        * This parameter is only valid if the Engine parameter * is redis. *

        *
        *

        * Default: 0 (i.e., automatic backups are disabled for this cache * cluster). */ public Integer getSnapshotRetentionLimit() { return 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. *

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

        *
        *

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

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

        * *

        * This parameter is only valid if the Engine parameter * is redis. *

        *
        *

        * Default: 0 (i.e., automatic backups are disabled for this cache * cluster). * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withSnapshotRetentionLimit( Integer snapshotRetentionLimit) { setSnapshotRetentionLimit(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. *

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

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

        * *

        * This parameter is only valid if the Engine parameter * is redis. *

        */ public void setSnapshotWindow(String snapshotWindow) { this.snapshotWindow = snapshotWindow; } /** *

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

        *

        * Example: 05:00-09:00 *

        *

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

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

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

        * *

        * This parameter is only valid if the Engine parameter * is redis. *

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

        * *

        * This parameter is only valid if the Engine parameter is * redis. *

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

        * *

        * This parameter is only valid if the Engine parameter * is redis. *

        * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateReplicationGroupRequest withSnapshotWindow( String snapshotWindow) { setSnapshotWindow(snapshotWindow); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getReplicationGroupId() != null) sb.append("ReplicationGroupId: " + getReplicationGroupId() + ","); if (getReplicationGroupDescription() != null) sb.append("ReplicationGroupDescription: " + getReplicationGroupDescription() + ","); if (getPrimaryClusterId() != null) sb.append("PrimaryClusterId: " + getPrimaryClusterId() + ","); if (getAutomaticFailoverEnabled() != null) sb.append("AutomaticFailoverEnabled: " + getAutomaticFailoverEnabled() + ","); if (getNumCacheClusters() != null) sb.append("NumCacheClusters: " + getNumCacheClusters() + ","); if (getPreferredCacheClusterAZs() != null) sb.append("PreferredCacheClusterAZs: " + getPreferredCacheClusterAZs() + ","); if (getCacheNodeType() != null) sb.append("CacheNodeType: " + getCacheNodeType() + ","); if (getEngine() != null) sb.append("Engine: " + getEngine() + ","); if (getEngineVersion() != null) sb.append("EngineVersion: " + getEngineVersion() + ","); if (getCacheParameterGroupName() != null) sb.append("CacheParameterGroupName: " + getCacheParameterGroupName() + ","); if (getCacheSubnetGroupName() != null) sb.append("CacheSubnetGroupName: " + getCacheSubnetGroupName() + ","); if (getCacheSecurityGroupNames() != null) sb.append("CacheSecurityGroupNames: " + getCacheSecurityGroupNames() + ","); if (getSecurityGroupIds() != null) sb.append("SecurityGroupIds: " + getSecurityGroupIds() + ","); if (getTags() != null) sb.append("Tags: " + getTags() + ","); if (getSnapshotArns() != null) sb.append("SnapshotArns: " + getSnapshotArns() + ","); if (getSnapshotName() != null) sb.append("SnapshotName: " + getSnapshotName() + ","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: " + getPreferredMaintenanceWindow() + ","); if (getPort() != null) sb.append("Port: " + getPort() + ","); if (getNotificationTopicArn() != null) sb.append("NotificationTopicArn: " + getNotificationTopicArn() + ","); if (getAutoMinorVersionUpgrade() != null) sb.append("AutoMinorVersionUpgrade: " + getAutoMinorVersionUpgrade() + ","); if (getSnapshotRetentionLimit() != null) sb.append("SnapshotRetentionLimit: " + getSnapshotRetentionLimit() + ","); if (getSnapshotWindow() != null) sb.append("SnapshotWindow: " + getSnapshotWindow()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateReplicationGroupRequest == false) return false; CreateReplicationGroupRequest other = (CreateReplicationGroupRequest) obj; if (other.getReplicationGroupId() == null ^ this.getReplicationGroupId() == null) return false; if (other.getReplicationGroupId() != null && other.getReplicationGroupId().equals( this.getReplicationGroupId()) == false) return false; if (other.getReplicationGroupDescription() == null ^ this.getReplicationGroupDescription() == null) return false; if (other.getReplicationGroupDescription() != null && other.getReplicationGroupDescription().equals( this.getReplicationGroupDescription()) == false) return false; if (other.getPrimaryClusterId() == null ^ this.getPrimaryClusterId() == null) return false; if (other.getPrimaryClusterId() != null && other.getPrimaryClusterId().equals( this.getPrimaryClusterId()) == false) return false; if (other.getAutomaticFailoverEnabled() == null ^ this.getAutomaticFailoverEnabled() == null) return false; if (other.getAutomaticFailoverEnabled() != null && other.getAutomaticFailoverEnabled().equals( this.getAutomaticFailoverEnabled()) == false) return false; if (other.getNumCacheClusters() == null ^ this.getNumCacheClusters() == null) return false; if (other.getNumCacheClusters() != null && other.getNumCacheClusters().equals( this.getNumCacheClusters()) == false) return false; if (other.getPreferredCacheClusterAZs() == null ^ this.getPreferredCacheClusterAZs() == null) return false; if (other.getPreferredCacheClusterAZs() != null && other.getPreferredCacheClusterAZs().equals( this.getPreferredCacheClusterAZs()) == 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.getCacheParameterGroupName() == null ^ this.getCacheParameterGroupName() == null) return false; if (other.getCacheParameterGroupName() != null && other.getCacheParameterGroupName().equals( this.getCacheParameterGroupName()) == 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.getCacheSecurityGroupNames() == null ^ this.getCacheSecurityGroupNames() == null) return false; if (other.getCacheSecurityGroupNames() != null && other.getCacheSecurityGroupNames().equals( this.getCacheSecurityGroupNames()) == false) return false; if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == null) return false; if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals( this.getSecurityGroupIds()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getSnapshotArns() == null ^ this.getSnapshotArns() == null) return false; if (other.getSnapshotArns() != null && other.getSnapshotArns().equals(this.getSnapshotArns()) == false) return false; if (other.getSnapshotName() == null ^ this.getSnapshotName() == null) return false; if (other.getSnapshotName() != null && other.getSnapshotName().equals(this.getSnapshotName()) == 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.getPort() == null ^ this.getPort() == null) return false; if (other.getPort() != null && other.getPort().equals(this.getPort()) == false) return false; if (other.getNotificationTopicArn() == null ^ this.getNotificationTopicArn() == null) return false; if (other.getNotificationTopicArn() != null && other.getNotificationTopicArn().equals( this.getNotificationTopicArn()) == false) return false; if (other.getAutoMinorVersionUpgrade() == null ^ this.getAutoMinorVersionUpgrade() == null) return false; if (other.getAutoMinorVersionUpgrade() != null && other.getAutoMinorVersionUpgrade().equals( this.getAutoMinorVersionUpgrade()) == false) return false; if (other.getSnapshotRetentionLimit() == null ^ this.getSnapshotRetentionLimit() == null) return false; if (other.getSnapshotRetentionLimit() != null && other.getSnapshotRetentionLimit().equals( this.getSnapshotRetentionLimit()) == false) return false; if (other.getSnapshotWindow() == null ^ this.getSnapshotWindow() == null) return false; if (other.getSnapshotWindow() != null && other.getSnapshotWindow().equals(this.getSnapshotWindow()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getReplicationGroupId() == null) ? 0 : getReplicationGroupId().hashCode()); hashCode = prime * hashCode + ((getReplicationGroupDescription() == null) ? 0 : getReplicationGroupDescription().hashCode()); hashCode = prime * hashCode + ((getPrimaryClusterId() == null) ? 0 : getPrimaryClusterId() .hashCode()); hashCode = prime * hashCode + ((getAutomaticFailoverEnabled() == null) ? 0 : getAutomaticFailoverEnabled().hashCode()); hashCode = prime * hashCode + ((getNumCacheClusters() == null) ? 0 : getNumCacheClusters() .hashCode()); hashCode = prime * hashCode + ((getPreferredCacheClusterAZs() == null) ? 0 : getPreferredCacheClusterAZs().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 + ((getAutoMinorVersionUpgrade() == null) ? 0 : getAutoMinorVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getSnapshotRetentionLimit() == null) ? 0 : getSnapshotRetentionLimit().hashCode()); hashCode = prime * hashCode + ((getSnapshotWindow() == null) ? 0 : getSnapshotWindow() .hashCode()); return hashCode; } @Override public CreateReplicationGroupRequest clone() { return (CreateReplicationGroupRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy