com.amazonaws.services.elasticache.model.ReplicationGroup Maven / Gradle / Ivy
Show all versions of aws-java-sdk-elasticache Show documentation
/*
* Copyright 2012-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.elasticache.model;
import java.io.Serializable;
import javax.annotation.Generated;
/**
*
* Contains all of the attributes of a specific Redis replication group.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class ReplicationGroup implements Serializable, Cloneable {
/**
*
* The identifier for the replication group.
*
*/
private String replicationGroupId;
/**
*
* The user supplied description of the replication group.
*
*/
private String description;
/**
*
* The current state of this replication group - creating
, available
,
* modifying
, deleting
, create-failed
, snapshotting
.
*
*/
private String status;
/**
*
* A group of settings to be applied to the replication group, either immediately or during the next maintenance
* window.
*
*/
private ReplicationGroupPendingModifiedValues pendingModifiedValues;
/**
*
* The identifiers of all the nodes that are part of this replication group.
*
*/
private com.amazonaws.internal.SdkInternalList memberClusters;
/**
*
* A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups, this is a
* single-element list. For Redis (cluster mode enabled) replication groups, the list contains an entry for each
* node group (shard).
*
*/
private com.amazonaws.internal.SdkInternalList nodeGroups;
/**
*
* The cluster ID that is used as the daily snapshot source for the replication group.
*
*/
private String snapshottingClusterId;
/**
*
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
*
*/
private String automaticFailover;
/**
*
* The configuration endpoint for this replication group. Use the configuration endpoint to connect to this
* replication group.
*
*/
private Endpoint configurationEndpoint;
/**
*
* The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example,
* if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days
* before being deleted.
*
*
*
* If the value of SnapshotRetentionLimit
is set to zero (0), backups are turned off.
*
*
*/
private Integer snapshotRetentionLimit;
/**
*
* The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
*
*
* Example: 05:00-09:00
*
*
* If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.
*
*
*
* This parameter is only valid if the Engine
parameter is redis
.
*
*
*/
private String snapshotWindow;
/**
*
* A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be
* partitioned across multiple shards (API/CLI: node groups).
*
*
* Valid values: true
| false
*
*/
private Boolean clusterEnabled;
/**
*
* The name of the compute and memory capacity node type for each node in the replication group.
*
*/
private String cacheNodeType;
/**
*
* A flag that enables using an AuthToken
(password) when issuing Redis commands.
*
*
* Default: false
*
*/
private Boolean authTokenEnabled;
/**
*
* A flag that enables in-transit encryption when set to true
.
*
*
* You cannot modify the value of TransitEncryptionEnabled
after the cluster is created. To enable
* in-transit encryption on a cluster you must set TransitEncryptionEnabled
to true
when
* you create a cluster.
*
*
* Default: false
*
*/
private Boolean transitEncryptionEnabled;
/**
*
* A flag that enables encryption at-rest when set to true
.
*
*
* You cannot modify the value of AtRestEncryptionEnabled
after the cluster is created. To enable
* encryption at-rest on a cluster you must set AtRestEncryptionEnabled
to true
when you
* create a cluster.
*
*
* Default: false
*
*/
private Boolean atRestEncryptionEnabled;
/**
*
* The identifier for the replication group.
*
*
* @param replicationGroupId
* The identifier for the replication group.
*/
public void setReplicationGroupId(String replicationGroupId) {
this.replicationGroupId = replicationGroupId;
}
/**
*
* The identifier for the replication group.
*
*
* @return The identifier for the replication group.
*/
public String getReplicationGroupId() {
return this.replicationGroupId;
}
/**
*
* The identifier for the replication group.
*
*
* @param replicationGroupId
* The identifier for the replication group.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withReplicationGroupId(String replicationGroupId) {
setReplicationGroupId(replicationGroupId);
return this;
}
/**
*
* The user supplied description of the replication group.
*
*
* @param description
* The user supplied description of the replication group.
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* The user supplied description of the replication group.
*
*
* @return The user supplied description of the replication group.
*/
public String getDescription() {
return this.description;
}
/**
*
* The user supplied description of the replication group.
*
*
* @param description
* The user supplied description of the replication group.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withDescription(String description) {
setDescription(description);
return this;
}
/**
*
* The current state of this replication group - creating
, available
,
* modifying
, deleting
, create-failed
, snapshotting
.
*
*
* @param status
* The current state of this replication group - creating
, available
,
* modifying
, deleting
, create-failed
, snapshotting
.
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The current state of this replication group - creating
, available
,
* modifying
, deleting
, create-failed
, snapshotting
.
*
*
* @return The current state of this replication group - creating
, available
,
* modifying
, deleting
, create-failed
, snapshotting
.
*/
public String getStatus() {
return this.status;
}
/**
*
* The current state of this replication group - creating
, available
,
* modifying
, deleting
, create-failed
, snapshotting
.
*
*
* @param status
* The current state of this replication group - creating
, available
,
* modifying
, deleting
, create-failed
, snapshotting
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* A group of settings to be applied to the replication group, either immediately or during the next maintenance
* window.
*
*
* @param pendingModifiedValues
* A group of settings to be applied to the replication group, either immediately or during the next
* maintenance window.
*/
public void setPendingModifiedValues(ReplicationGroupPendingModifiedValues pendingModifiedValues) {
this.pendingModifiedValues = pendingModifiedValues;
}
/**
*
* A group of settings to be applied to the replication group, either immediately or during the next maintenance
* window.
*
*
* @return A group of settings to be applied to the replication group, either immediately or during the next
* maintenance window.
*/
public ReplicationGroupPendingModifiedValues getPendingModifiedValues() {
return this.pendingModifiedValues;
}
/**
*
* A group of settings to be applied to the replication group, either immediately or during the next maintenance
* window.
*
*
* @param pendingModifiedValues
* A group of settings to be applied to the replication group, either immediately or during the next
* maintenance window.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withPendingModifiedValues(ReplicationGroupPendingModifiedValues pendingModifiedValues) {
setPendingModifiedValues(pendingModifiedValues);
return this;
}
/**
*
* The identifiers of all the nodes that are part of this replication group.
*
*
* @return The identifiers of all the nodes that are part of this replication group.
*/
public java.util.List getMemberClusters() {
if (memberClusters == null) {
memberClusters = new com.amazonaws.internal.SdkInternalList();
}
return memberClusters;
}
/**
*
* The identifiers of all the nodes that are part of this replication group.
*
*
* @param memberClusters
* The identifiers of all the nodes that are part of this replication group.
*/
public void setMemberClusters(java.util.Collection memberClusters) {
if (memberClusters == null) {
this.memberClusters = null;
return;
}
this.memberClusters = new com.amazonaws.internal.SdkInternalList(memberClusters);
}
/**
*
* The identifiers of all the nodes that are part of this replication group.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setMemberClusters(java.util.Collection)} or {@link #withMemberClusters(java.util.Collection)} if you want
* to override the existing values.
*
*
* @param memberClusters
* The identifiers of all the nodes that are part of this replication group.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withMemberClusters(String... memberClusters) {
if (this.memberClusters == null) {
setMemberClusters(new com.amazonaws.internal.SdkInternalList(memberClusters.length));
}
for (String ele : memberClusters) {
this.memberClusters.add(ele);
}
return this;
}
/**
*
* The identifiers of all the nodes that are part of this replication group.
*
*
* @param memberClusters
* The identifiers of all the nodes that are part of this replication group.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withMemberClusters(java.util.Collection memberClusters) {
setMemberClusters(memberClusters);
return this;
}
/**
*
* A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups, this is a
* single-element list. For Redis (cluster mode enabled) replication groups, the list contains an entry for each
* node group (shard).
*
*
* @return A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups,
* this is a single-element list. For Redis (cluster mode enabled) replication groups, the list contains an
* entry for each node group (shard).
*/
public java.util.List getNodeGroups() {
if (nodeGroups == null) {
nodeGroups = new com.amazonaws.internal.SdkInternalList();
}
return nodeGroups;
}
/**
*
* A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups, this is a
* single-element list. For Redis (cluster mode enabled) replication groups, the list contains an entry for each
* node group (shard).
*
*
* @param nodeGroups
* A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups,
* this is a single-element list. For Redis (cluster mode enabled) replication groups, the list contains an
* entry for each node group (shard).
*/
public void setNodeGroups(java.util.Collection nodeGroups) {
if (nodeGroups == null) {
this.nodeGroups = null;
return;
}
this.nodeGroups = new com.amazonaws.internal.SdkInternalList(nodeGroups);
}
/**
*
* A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups, this is a
* single-element list. For Redis (cluster mode enabled) replication groups, the list contains an entry for each
* node group (shard).
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setNodeGroups(java.util.Collection)} or {@link #withNodeGroups(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param nodeGroups
* A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups,
* this is a single-element list. For Redis (cluster mode enabled) replication groups, the list contains an
* entry for each node group (shard).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withNodeGroups(NodeGroup... nodeGroups) {
if (this.nodeGroups == null) {
setNodeGroups(new com.amazonaws.internal.SdkInternalList(nodeGroups.length));
}
for (NodeGroup ele : nodeGroups) {
this.nodeGroups.add(ele);
}
return this;
}
/**
*
* A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups, this is a
* single-element list. For Redis (cluster mode enabled) replication groups, the list contains an entry for each
* node group (shard).
*
*
* @param nodeGroups
* A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups,
* this is a single-element list. For Redis (cluster mode enabled) replication groups, the list contains an
* entry for each node group (shard).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withNodeGroups(java.util.Collection nodeGroups) {
setNodeGroups(nodeGroups);
return this;
}
/**
*
* The cluster ID that is used as the daily snapshot source for the replication group.
*
*
* @param snapshottingClusterId
* The cluster ID that is used as the daily snapshot source for the replication group.
*/
public void setSnapshottingClusterId(String snapshottingClusterId) {
this.snapshottingClusterId = snapshottingClusterId;
}
/**
*
* The cluster ID that is used as the daily snapshot source for the replication group.
*
*
* @return The cluster ID that is used as the daily snapshot source for the replication group.
*/
public String getSnapshottingClusterId() {
return this.snapshottingClusterId;
}
/**
*
* The cluster ID that is used as the daily snapshot source for the replication group.
*
*
* @param snapshottingClusterId
* The cluster ID that is used as the daily snapshot source for the replication group.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withSnapshottingClusterId(String snapshottingClusterId) {
setSnapshottingClusterId(snapshottingClusterId);
return this;
}
/**
*
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
*
*
* @param automaticFailover
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
* @see AutomaticFailoverStatus
*/
public void setAutomaticFailover(String automaticFailover) {
this.automaticFailover = automaticFailover;
}
/**
*
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
*
*
* @return Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
* @see AutomaticFailoverStatus
*/
public String getAutomaticFailover() {
return this.automaticFailover;
}
/**
*
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
*
*
* @param automaticFailover
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see AutomaticFailoverStatus
*/
public ReplicationGroup withAutomaticFailover(String automaticFailover) {
setAutomaticFailover(automaticFailover);
return this;
}
/**
*
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
*
*
* @param automaticFailover
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
* @see AutomaticFailoverStatus
*/
public void setAutomaticFailover(AutomaticFailoverStatus automaticFailover) {
withAutomaticFailover(automaticFailover);
}
/**
*
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
*
*
* @param automaticFailover
* Indicates the status of Multi-AZ with automatic failover for this Redis replication group.
*
* Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:
*
*
* -
*
* Redis versions earlier than 2.8.6.
*
*
* -
*
* Redis (cluster mode disabled): T1 and T2 cache node types.
*
*
* -
*
* Redis (cluster mode enabled): T1 node types.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see AutomaticFailoverStatus
*/
public ReplicationGroup withAutomaticFailover(AutomaticFailoverStatus automaticFailover) {
this.automaticFailover = automaticFailover.toString();
return this;
}
/**
*
* The configuration endpoint for this replication group. Use the configuration endpoint to connect to this
* replication group.
*
*
* @param configurationEndpoint
* The configuration endpoint for this replication group. Use the configuration endpoint to connect to this
* replication group.
*/
public void setConfigurationEndpoint(Endpoint configurationEndpoint) {
this.configurationEndpoint = configurationEndpoint;
}
/**
*
* The configuration endpoint for this replication group. Use the configuration endpoint to connect to this
* replication group.
*
*
* @return The configuration endpoint for this replication group. Use the configuration endpoint to connect to this
* replication group.
*/
public Endpoint getConfigurationEndpoint() {
return this.configurationEndpoint;
}
/**
*
* The configuration endpoint for this replication group. Use the configuration endpoint to connect to this
* replication group.
*
*
* @param configurationEndpoint
* The configuration endpoint for this replication group. Use the configuration endpoint to connect to this
* replication group.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withConfigurationEndpoint(Endpoint configurationEndpoint) {
setConfigurationEndpoint(configurationEndpoint);
return this;
}
/**
*
* The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example,
* if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days
* before being deleted.
*
*
*
* If the value of SnapshotRetentionLimit
is set to zero (0), backups are turned off.
*
*
*
* @param snapshotRetentionLimit
* The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For
* example, if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained
* for 5 days before being deleted.
*
* If the value of SnapshotRetentionLimit
is set to zero (0), backups are turned off.
*
*/
public void setSnapshotRetentionLimit(Integer snapshotRetentionLimit) {
this.snapshotRetentionLimit = snapshotRetentionLimit;
}
/**
*
* The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example,
* if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days
* before being deleted.
*
*
*
* If the value of SnapshotRetentionLimit
is set to zero (0), backups are turned off.
*
*
*
* @return The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For
* example, if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained
* for 5 days before being deleted.
*
* If the value of SnapshotRetentionLimit
is set to zero (0), backups are turned off.
*
*/
public Integer getSnapshotRetentionLimit() {
return this.snapshotRetentionLimit;
}
/**
*
* The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example,
* if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained for 5 days
* before being deleted.
*
*
*
* If the value of SnapshotRetentionLimit
is set to zero (0), backups are turned off.
*
*
*
* @param snapshotRetentionLimit
* The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For
* example, if you set SnapshotRetentionLimit
to 5, a snapshot that was taken today is retained
* for 5 days before being deleted.
*
* If the value of SnapshotRetentionLimit
is set to zero (0), backups are turned off.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withSnapshotRetentionLimit(Integer snapshotRetentionLimit) {
setSnapshotRetentionLimit(snapshotRetentionLimit);
return this;
}
/**
*
* The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
*
*
* Example: 05:00-09:00
*
*
* If you do not specify this parameter, ElastiCache automatically chooses 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 begins taking a daily snapshot of your node group
* (shard).
*
* Example: 05:00-09:00
*
*
* If you do not specify this parameter, ElastiCache automatically chooses 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 begins taking a daily snapshot of your node group (shard).
*
*
* Example: 05:00-09:00
*
*
* If you do not specify this parameter, ElastiCache automatically chooses 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 begins taking a daily snapshot of your node group
* (shard).
*
* Example: 05:00-09:00
*
*
* If you do not specify this parameter, ElastiCache automatically chooses 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 begins taking a daily snapshot of your node group (shard).
*
*
* Example: 05:00-09:00
*
*
* If you do not specify this parameter, ElastiCache automatically chooses 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 begins taking a daily snapshot of your node group
* (shard).
*
* Example: 05:00-09:00
*
*
* If you do not specify this parameter, ElastiCache automatically chooses 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 ReplicationGroup withSnapshotWindow(String snapshotWindow) {
setSnapshotWindow(snapshotWindow);
return this;
}
/**
*
* A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be
* partitioned across multiple shards (API/CLI: node groups).
*
*
* Valid values: true
| false
*
*
* @param clusterEnabled
* A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be
* partitioned across multiple shards (API/CLI: node groups).
*
* Valid values: true
| false
*/
public void setClusterEnabled(Boolean clusterEnabled) {
this.clusterEnabled = clusterEnabled;
}
/**
*
* A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be
* partitioned across multiple shards (API/CLI: node groups).
*
*
* Valid values: true
| false
*
*
* @return A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be
* partitioned across multiple shards (API/CLI: node groups).
*
* Valid values: true
| false
*/
public Boolean getClusterEnabled() {
return this.clusterEnabled;
}
/**
*
* A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be
* partitioned across multiple shards (API/CLI: node groups).
*
*
* Valid values: true
| false
*
*
* @param clusterEnabled
* A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be
* partitioned across multiple shards (API/CLI: node groups).
*
* Valid values: true
| false
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withClusterEnabled(Boolean clusterEnabled) {
setClusterEnabled(clusterEnabled);
return this;
}
/**
*
* A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be
* partitioned across multiple shards (API/CLI: node groups).
*
*
* Valid values: true
| false
*
*
* @return A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be
* partitioned across multiple shards (API/CLI: node groups).
*
* Valid values: true
| false
*/
public Boolean isClusterEnabled() {
return this.clusterEnabled;
}
/**
*
* The name of the compute and memory capacity node type for each node in the replication group.
*
*
* @param cacheNodeType
* The name of the compute and memory capacity node type for each node in the replication group.
*/
public void setCacheNodeType(String cacheNodeType) {
this.cacheNodeType = cacheNodeType;
}
/**
*
* The name of the compute and memory capacity node type for each node in the replication group.
*
*
* @return The name of the compute and memory capacity node type for each node in the replication group.
*/
public String getCacheNodeType() {
return this.cacheNodeType;
}
/**
*
* The name of the compute and memory capacity node type for each node in the replication group.
*
*
* @param cacheNodeType
* The name of the compute and memory capacity node type for each node in the replication group.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withCacheNodeType(String cacheNodeType) {
setCacheNodeType(cacheNodeType);
return this;
}
/**
*
* A flag that enables using an AuthToken
(password) when issuing Redis commands.
*
*
* Default: false
*
*
* @param authTokenEnabled
* A flag that enables using an AuthToken
(password) when issuing Redis commands.
*
* Default: false
*/
public void setAuthTokenEnabled(Boolean authTokenEnabled) {
this.authTokenEnabled = authTokenEnabled;
}
/**
*
* A flag that enables using an AuthToken
(password) when issuing Redis commands.
*
*
* Default: false
*
*
* @return A flag that enables using an AuthToken
(password) when issuing Redis commands.
*
* Default: false
*/
public Boolean getAuthTokenEnabled() {
return this.authTokenEnabled;
}
/**
*
* A flag that enables using an AuthToken
(password) when issuing Redis commands.
*
*
* Default: false
*
*
* @param authTokenEnabled
* A flag that enables using an AuthToken
(password) when issuing Redis commands.
*
* Default: false
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withAuthTokenEnabled(Boolean authTokenEnabled) {
setAuthTokenEnabled(authTokenEnabled);
return this;
}
/**
*
* A flag that enables using an AuthToken
(password) when issuing Redis commands.
*
*
* Default: false
*
*
* @return A flag that enables using an AuthToken
(password) when issuing Redis commands.
*
* Default: false
*/
public Boolean isAuthTokenEnabled() {
return this.authTokenEnabled;
}
/**
*
* A flag that enables in-transit encryption when set to true
.
*
*
* You cannot modify the value of TransitEncryptionEnabled
after the cluster is created. To enable
* in-transit encryption on a cluster you must set TransitEncryptionEnabled
to true
when
* you create a cluster.
*
*
* Default: false
*
*
* @param transitEncryptionEnabled
* A flag that enables in-transit encryption when set to true
.
*
* You cannot modify the value of TransitEncryptionEnabled
after the cluster is created. To
* enable in-transit encryption on a cluster you must set TransitEncryptionEnabled
to
* true
when you create a cluster.
*
*
* Default: false
*/
public void setTransitEncryptionEnabled(Boolean transitEncryptionEnabled) {
this.transitEncryptionEnabled = transitEncryptionEnabled;
}
/**
*
* A flag that enables in-transit encryption when set to true
.
*
*
* You cannot modify the value of TransitEncryptionEnabled
after the cluster is created. To enable
* in-transit encryption on a cluster you must set TransitEncryptionEnabled
to true
when
* you create a cluster.
*
*
* Default: false
*
*
* @return A flag that enables in-transit encryption when set to true
.
*
* You cannot modify the value of TransitEncryptionEnabled
after the cluster is created. To
* enable in-transit encryption on a cluster you must set TransitEncryptionEnabled
to
* true
when you create a cluster.
*
*
* Default: false
*/
public Boolean getTransitEncryptionEnabled() {
return this.transitEncryptionEnabled;
}
/**
*
* A flag that enables in-transit encryption when set to true
.
*
*
* You cannot modify the value of TransitEncryptionEnabled
after the cluster is created. To enable
* in-transit encryption on a cluster you must set TransitEncryptionEnabled
to true
when
* you create a cluster.
*
*
* Default: false
*
*
* @param transitEncryptionEnabled
* A flag that enables in-transit encryption when set to true
.
*
* You cannot modify the value of TransitEncryptionEnabled
after the cluster is created. To
* enable in-transit encryption on a cluster you must set TransitEncryptionEnabled
to
* true
when you create a cluster.
*
*
* Default: false
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withTransitEncryptionEnabled(Boolean transitEncryptionEnabled) {
setTransitEncryptionEnabled(transitEncryptionEnabled);
return this;
}
/**
*
* A flag that enables in-transit encryption when set to true
.
*
*
* You cannot modify the value of TransitEncryptionEnabled
after the cluster is created. To enable
* in-transit encryption on a cluster you must set TransitEncryptionEnabled
to true
when
* you create a cluster.
*
*
* Default: false
*
*
* @return A flag that enables in-transit encryption when set to true
.
*
* You cannot modify the value of TransitEncryptionEnabled
after the cluster is created. To
* enable in-transit encryption on a cluster you must set TransitEncryptionEnabled
to
* true
when you create a cluster.
*
*
* Default: false
*/
public Boolean isTransitEncryptionEnabled() {
return this.transitEncryptionEnabled;
}
/**
*
* A flag that enables encryption at-rest when set to true
.
*
*
* You cannot modify the value of AtRestEncryptionEnabled
after the cluster is created. To enable
* encryption at-rest on a cluster you must set AtRestEncryptionEnabled
to true
when you
* create a cluster.
*
*
* Default: false
*
*
* @param atRestEncryptionEnabled
* A flag that enables encryption at-rest when set to true
.
*
* You cannot modify the value of AtRestEncryptionEnabled
after the cluster is created. To
* enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled
to
* true
when you create a cluster.
*
*
* Default: false
*/
public void setAtRestEncryptionEnabled(Boolean atRestEncryptionEnabled) {
this.atRestEncryptionEnabled = atRestEncryptionEnabled;
}
/**
*
* A flag that enables encryption at-rest when set to true
.
*
*
* You cannot modify the value of AtRestEncryptionEnabled
after the cluster is created. To enable
* encryption at-rest on a cluster you must set AtRestEncryptionEnabled
to true
when you
* create a cluster.
*
*
* Default: false
*
*
* @return A flag that enables encryption at-rest when set to true
.
*
* You cannot modify the value of AtRestEncryptionEnabled
after the cluster is created. To
* enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled
to
* true
when you create a cluster.
*
*
* Default: false
*/
public Boolean getAtRestEncryptionEnabled() {
return this.atRestEncryptionEnabled;
}
/**
*
* A flag that enables encryption at-rest when set to true
.
*
*
* You cannot modify the value of AtRestEncryptionEnabled
after the cluster is created. To enable
* encryption at-rest on a cluster you must set AtRestEncryptionEnabled
to true
when you
* create a cluster.
*
*
* Default: false
*
*
* @param atRestEncryptionEnabled
* A flag that enables encryption at-rest when set to true
.
*
* You cannot modify the value of AtRestEncryptionEnabled
after the cluster is created. To
* enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled
to
* true
when you create a cluster.
*
*
* Default: false
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationGroup withAtRestEncryptionEnabled(Boolean atRestEncryptionEnabled) {
setAtRestEncryptionEnabled(atRestEncryptionEnabled);
return this;
}
/**
*
* A flag that enables encryption at-rest when set to true
.
*
*
* You cannot modify the value of AtRestEncryptionEnabled
after the cluster is created. To enable
* encryption at-rest on a cluster you must set AtRestEncryptionEnabled
to true
when you
* create a cluster.
*
*
* Default: false
*
*
* @return A flag that enables encryption at-rest when set to true
.
*
* You cannot modify the value of AtRestEncryptionEnabled
after the cluster is created. To
* enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled
to
* true
when you create a cluster.
*
*
* Default: false
*/
public Boolean isAtRestEncryptionEnabled() {
return this.atRestEncryptionEnabled;
}
/**
* Returns a string representation of this object; useful for testing and debugging.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getReplicationGroupId() != null)
sb.append("ReplicationGroupId: ").append(getReplicationGroupId()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getPendingModifiedValues() != null)
sb.append("PendingModifiedValues: ").append(getPendingModifiedValues()).append(",");
if (getMemberClusters() != null)
sb.append("MemberClusters: ").append(getMemberClusters()).append(",");
if (getNodeGroups() != null)
sb.append("NodeGroups: ").append(getNodeGroups()).append(",");
if (getSnapshottingClusterId() != null)
sb.append("SnapshottingClusterId: ").append(getSnapshottingClusterId()).append(",");
if (getAutomaticFailover() != null)
sb.append("AutomaticFailover: ").append(getAutomaticFailover()).append(",");
if (getConfigurationEndpoint() != null)
sb.append("ConfigurationEndpoint: ").append(getConfigurationEndpoint()).append(",");
if (getSnapshotRetentionLimit() != null)
sb.append("SnapshotRetentionLimit: ").append(getSnapshotRetentionLimit()).append(",");
if (getSnapshotWindow() != null)
sb.append("SnapshotWindow: ").append(getSnapshotWindow()).append(",");
if (getClusterEnabled() != null)
sb.append("ClusterEnabled: ").append(getClusterEnabled()).append(",");
if (getCacheNodeType() != null)
sb.append("CacheNodeType: ").append(getCacheNodeType()).append(",");
if (getAuthTokenEnabled() != null)
sb.append("AuthTokenEnabled: ").append(getAuthTokenEnabled()).append(",");
if (getTransitEncryptionEnabled() != null)
sb.append("TransitEncryptionEnabled: ").append(getTransitEncryptionEnabled()).append(",");
if (getAtRestEncryptionEnabled() != null)
sb.append("AtRestEncryptionEnabled: ").append(getAtRestEncryptionEnabled());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ReplicationGroup == false)
return false;
ReplicationGroup other = (ReplicationGroup) obj;
if (other.getReplicationGroupId() == null ^ this.getReplicationGroupId() == null)
return false;
if (other.getReplicationGroupId() != null && other.getReplicationGroupId().equals(this.getReplicationGroupId()) == false)
return false;
if (other.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
return false;
if (other.getPendingModifiedValues() == null ^ this.getPendingModifiedValues() == null)
return false;
if (other.getPendingModifiedValues() != null && other.getPendingModifiedValues().equals(this.getPendingModifiedValues()) == false)
return false;
if (other.getMemberClusters() == null ^ this.getMemberClusters() == null)
return false;
if (other.getMemberClusters() != null && other.getMemberClusters().equals(this.getMemberClusters()) == false)
return false;
if (other.getNodeGroups() == null ^ this.getNodeGroups() == null)
return false;
if (other.getNodeGroups() != null && other.getNodeGroups().equals(this.getNodeGroups()) == false)
return false;
if (other.getSnapshottingClusterId() == null ^ this.getSnapshottingClusterId() == null)
return false;
if (other.getSnapshottingClusterId() != null && other.getSnapshottingClusterId().equals(this.getSnapshottingClusterId()) == false)
return false;
if (other.getAutomaticFailover() == null ^ this.getAutomaticFailover() == null)
return false;
if (other.getAutomaticFailover() != null && other.getAutomaticFailover().equals(this.getAutomaticFailover()) == false)
return false;
if (other.getConfigurationEndpoint() == null ^ this.getConfigurationEndpoint() == null)
return false;
if (other.getConfigurationEndpoint() != null && other.getConfigurationEndpoint().equals(this.getConfigurationEndpoint()) == false)
return false;
if (other.getSnapshotRetentionLimit() == null ^ this.getSnapshotRetentionLimit() == null)
return false;
if (other.getSnapshotRetentionLimit() != null && other.getSnapshotRetentionLimit().equals(this.getSnapshotRetentionLimit()) == false)
return false;
if (other.getSnapshotWindow() == null ^ this.getSnapshotWindow() == null)
return false;
if (other.getSnapshotWindow() != null && other.getSnapshotWindow().equals(this.getSnapshotWindow()) == false)
return false;
if (other.getClusterEnabled() == null ^ this.getClusterEnabled() == null)
return false;
if (other.getClusterEnabled() != null && other.getClusterEnabled().equals(this.getClusterEnabled()) == 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.getAuthTokenEnabled() == null ^ this.getAuthTokenEnabled() == null)
return false;
if (other.getAuthTokenEnabled() != null && other.getAuthTokenEnabled().equals(this.getAuthTokenEnabled()) == false)
return false;
if (other.getTransitEncryptionEnabled() == null ^ this.getTransitEncryptionEnabled() == null)
return false;
if (other.getTransitEncryptionEnabled() != null && other.getTransitEncryptionEnabled().equals(this.getTransitEncryptionEnabled()) == false)
return false;
if (other.getAtRestEncryptionEnabled() == null ^ this.getAtRestEncryptionEnabled() == null)
return false;
if (other.getAtRestEncryptionEnabled() != null && other.getAtRestEncryptionEnabled().equals(this.getAtRestEncryptionEnabled()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getReplicationGroupId() == null) ? 0 : getReplicationGroupId().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getPendingModifiedValues() == null) ? 0 : getPendingModifiedValues().hashCode());
hashCode = prime * hashCode + ((getMemberClusters() == null) ? 0 : getMemberClusters().hashCode());
hashCode = prime * hashCode + ((getNodeGroups() == null) ? 0 : getNodeGroups().hashCode());
hashCode = prime * hashCode + ((getSnapshottingClusterId() == null) ? 0 : getSnapshottingClusterId().hashCode());
hashCode = prime * hashCode + ((getAutomaticFailover() == null) ? 0 : getAutomaticFailover().hashCode());
hashCode = prime * hashCode + ((getConfigurationEndpoint() == null) ? 0 : getConfigurationEndpoint().hashCode());
hashCode = prime * hashCode + ((getSnapshotRetentionLimit() == null) ? 0 : getSnapshotRetentionLimit().hashCode());
hashCode = prime * hashCode + ((getSnapshotWindow() == null) ? 0 : getSnapshotWindow().hashCode());
hashCode = prime * hashCode + ((getClusterEnabled() == null) ? 0 : getClusterEnabled().hashCode());
hashCode = prime * hashCode + ((getCacheNodeType() == null) ? 0 : getCacheNodeType().hashCode());
hashCode = prime * hashCode + ((getAuthTokenEnabled() == null) ? 0 : getAuthTokenEnabled().hashCode());
hashCode = prime * hashCode + ((getTransitEncryptionEnabled() == null) ? 0 : getTransitEncryptionEnabled().hashCode());
hashCode = prime * hashCode + ((getAtRestEncryptionEnabled() == null) ? 0 : getAtRestEncryptionEnabled().hashCode());
return hashCode;
}
@Override
public ReplicationGroup clone() {
try {
return (ReplicationGroup) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}