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 SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
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