Class ReplicationGroup

java.lang.Object
software.amazon.awssdk.services.elasticache.model.ReplicationGroup
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ReplicationGroup.Builder,ReplicationGroup>

@Generated("software.amazon.awssdk:codegen") public final class ReplicationGroup extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ReplicationGroup.Builder,ReplicationGroup>

Contains all of the attributes of a specific Redis replication group.

See Also:
  • Method Details

    • replicationGroupId

      public final String replicationGroupId()

      The identifier for the replication group.

      Returns:
      The identifier for the replication group.
    • description

      public final String description()

      The user supplied description of the replication group.

      Returns:
      The user supplied description of the replication group.
    • globalReplicationGroupInfo

      public final GlobalReplicationGroupInfo globalReplicationGroupInfo()

      The name of the Global datastore and role of this replication group in the Global datastore.

      Returns:
      The name of the Global datastore and role of this replication group in the Global datastore.
    • status

      public final String status()

      The current state of this replication group - creating, available, modifying, deleting, create-failed, snapshotting.

      Returns:
      The current state of this replication group - creating, available, modifying, deleting, create-failed, snapshotting.
    • pendingModifiedValues

      public final ReplicationGroupPendingModifiedValues pendingModifiedValues()

      A group of settings to be applied to the replication group, either immediately or during the next maintenance window.

      Returns:
      A group of settings to be applied to the replication group, either immediately or during the next maintenance window.
    • hasMemberClusters

      public final boolean hasMemberClusters()
      For responses, this returns true if the service returned a value for the MemberClusters property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • memberClusters

      public final List<String> memberClusters()

      The names of all the cache clusters that are part of this replication group.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasMemberClusters() method.

      Returns:
      The names of all the cache clusters that are part of this replication group.
    • hasNodeGroups

      public final boolean hasNodeGroups()
      For responses, this returns true if the service returned a value for the NodeGroups property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • nodeGroups

      public final List<NodeGroup> 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).

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasNodeGroups() method.

      Returns:
      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).
    • snapshottingClusterId

      public final String snapshottingClusterId()

      The cluster ID that is used as the daily snapshot source for the replication group.

      Returns:
      The cluster ID that is used as the daily snapshot source for the replication group.
    • automaticFailover

      public final AutomaticFailoverStatus automaticFailover()

      Indicates the status of automatic failover for this Redis replication group.

      If the service returns an enum value that is not available in the current SDK version, automaticFailover will return AutomaticFailoverStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from automaticFailoverAsString().

      Returns:
      Indicates the status of automatic failover for this Redis replication group.
      See Also:
    • automaticFailoverAsString

      public final String automaticFailoverAsString()

      Indicates the status of automatic failover for this Redis replication group.

      If the service returns an enum value that is not available in the current SDK version, automaticFailover will return AutomaticFailoverStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from automaticFailoverAsString().

      Returns:
      Indicates the status of automatic failover for this Redis replication group.
      See Also:
    • multiAZ

      public final MultiAZStatus multiAZ()

      A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ

      If the service returns an enum value that is not available in the current SDK version, multiAZ will return MultiAZStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from multiAZAsString().

      Returns:
      A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ
      See Also:
    • multiAZAsString

      public final String multiAZAsString()

      A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ

      If the service returns an enum value that is not available in the current SDK version, multiAZ will return MultiAZStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from multiAZAsString().

      Returns:
      A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ
      See Also:
    • configurationEndpoint

      public final Endpoint configurationEndpoint()

      The configuration endpoint for this replication group. Use the configuration endpoint to connect to this replication group.

      Returns:
      The configuration endpoint for this replication group. Use the configuration endpoint to connect to this replication group.
    • snapshotRetentionLimit

      public final Integer 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.

      Returns:
      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.

    • snapshotWindow

      public final String 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.

      Returns:
      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.

    • clusterEnabled

      public final Boolean 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

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

    • cacheNodeType

      public final String cacheNodeType()

      The name of the compute and memory capacity node type for each node in the replication group.

      Returns:
      The name of the compute and memory capacity node type for each node in the replication group.
    • authTokenEnabled

      public final Boolean authTokenEnabled()

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

      Default: false

      Returns:
      A flag that enables using an AuthToken (password) when issuing Redis commands.

      Default: false

    • authTokenLastModifiedDate

      public final Instant authTokenLastModifiedDate()

      The date the auth token was last modified

      Returns:
      The date the auth token was last modified
    • transitEncryptionEnabled

      public final Boolean transitEncryptionEnabled()

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

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

      Default: false

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

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

      Default: false

    • atRestEncryptionEnabled

      public final Boolean 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.

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

      Default: false

      Returns:
      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.

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

      Default: false

    • hasMemberClustersOutpostArns

      public final boolean hasMemberClustersOutpostArns()
      For responses, this returns true if the service returned a value for the MemberClustersOutpostArns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • memberClustersOutpostArns

      public final List<String> memberClustersOutpostArns()

      The outpost ARNs of the replication group's member clusters.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasMemberClustersOutpostArns() method.

      Returns:
      The outpost ARNs of the replication group's member clusters.
    • kmsKeyId

      public final String kmsKeyId()

      The ID of the KMS key used to encrypt the disk in the cluster.

      Returns:
      The ID of the KMS key used to encrypt the disk in the cluster.
    • arn

      public final String arn()

      The ARN (Amazon Resource Name) of the replication group.

      Returns:
      The ARN (Amazon Resource Name) of the replication group.
    • hasUserGroupIds

      public final boolean hasUserGroupIds()
      For responses, this returns true if the service returned a value for the UserGroupIds property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • userGroupIds

      public final List<String> userGroupIds()

      The ID of the user group associated to the replication group.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasUserGroupIds() method.

      Returns:
      The ID of the user group associated to the replication group.
    • hasLogDeliveryConfigurations

      public final boolean hasLogDeliveryConfigurations()
      For responses, this returns true if the service returned a value for the LogDeliveryConfigurations property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • logDeliveryConfigurations

      public final List<LogDeliveryConfiguration> logDeliveryConfigurations()

      Returns the destination, format and type of the logs.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasLogDeliveryConfigurations() method.

      Returns:
      Returns the destination, format and type of the logs.
    • replicationGroupCreateTime

      public final Instant replicationGroupCreateTime()

      The date and time when the cluster was created.

      Returns:
      The date and time when the cluster was created.
    • dataTiering

      public final DataTieringStatus dataTiering()

      Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.

      If the service returns an enum value that is not available in the current SDK version, dataTiering will return DataTieringStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from dataTieringAsString().

      Returns:
      Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.
      See Also:
    • dataTieringAsString

      public final String dataTieringAsString()

      Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.

      If the service returns an enum value that is not available in the current SDK version, dataTiering will return DataTieringStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from dataTieringAsString().

      Returns:
      Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.
      See Also:
    • autoMinorVersionUpgrade

      public final Boolean autoMinorVersionUpgrade()

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

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

      public final NetworkType networkType()

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

      If the service returns an enum value that is not available in the current SDK version, networkType will return NetworkType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from networkTypeAsString().

      Returns:
      Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.
      See Also:
    • networkTypeAsString

      public final String networkTypeAsString()

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

      If the service returns an enum value that is not available in the current SDK version, networkType will return NetworkType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from networkTypeAsString().

      Returns:
      Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.
      See Also:
    • ipDiscovery

      public final IpDiscovery ipDiscovery()

      The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

      If the service returns an enum value that is not available in the current SDK version, ipDiscovery will return IpDiscovery.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from ipDiscoveryAsString().

      Returns:
      The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.
      See Also:
    • ipDiscoveryAsString

      public final String ipDiscoveryAsString()

      The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

      If the service returns an enum value that is not available in the current SDK version, ipDiscovery will return IpDiscovery.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from ipDiscoveryAsString().

      Returns:
      The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.
      See Also:
    • transitEncryptionMode

      public final TransitEncryptionMode transitEncryptionMode()

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

      If the service returns an enum value that is not available in the current SDK version, transitEncryptionMode will return TransitEncryptionMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from transitEncryptionModeAsString().

      Returns:
      A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
      See Also:
    • transitEncryptionModeAsString

      public final String transitEncryptionModeAsString()

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

      If the service returns an enum value that is not available in the current SDK version, transitEncryptionMode will return TransitEncryptionMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from transitEncryptionModeAsString().

      Returns:
      A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
      See Also:
    • clusterMode

      public final ClusterMode clusterMode()

      Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you must first set the cluster mode to Compatible. Compatible mode allows your Redis clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Redis clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.

      If the service returns an enum value that is not available in the current SDK version, clusterMode will return ClusterMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from clusterModeAsString().

      Returns:
      Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you must first set the cluster mode to Compatible. Compatible mode allows your Redis clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Redis clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.
      See Also:
    • clusterModeAsString

      public final String clusterModeAsString()

      Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you must first set the cluster mode to Compatible. Compatible mode allows your Redis clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Redis clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.

      If the service returns an enum value that is not available in the current SDK version, clusterMode will return ClusterMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from clusterModeAsString().

      Returns:
      Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you must first set the cluster mode to Compatible. Compatible mode allows your Redis clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Redis clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.
      See Also:
    • toBuilder

      public ReplicationGroup.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ReplicationGroup.Builder,ReplicationGroup>
      Returns:
      a builder for type T
    • builder

      public static ReplicationGroup.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ReplicationGroup.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.