Class ReplicationGroup

    • Method Detail

      • 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 Valkey or Redis OSS (cluster mode disabled) replication groups, this is a single-element list. For Valkey or Redis OSS (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 Valkey or Redis OSS (cluster mode disabled) replication groups, this is a single-element list. For Valkey or Redis OSS (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.
      • automaticFailoverAsString

        public final String automaticFailoverAsString()

        Indicates the status of automatic failover for this Valkey or Redis OSS 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 Valkey or Redis OSS replication group.
        See Also:
        AutomaticFailoverStatus
      • 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 Valkey or Redis OSS commands.

        Default: false

        Returns:
        A flag that enables using an AuthToken (password) when issuing Valkey or Redis OSS 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 OSS 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 OSS 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 OSS 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 OSS 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:
        DataTieringStatus
      • 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:
        DataTieringStatus
      • autoMinorVersionUpgrade

        public final Boolean autoMinorVersionUpgrade()

        If you are running Valkey 7.2 and above, or Redis OSS engine version 6.0 and above, 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 Valkey 7.2 and above, or Redis OSS engine version 6.0 and above, 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 Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above 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 Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system.
        See Also:
        NetworkType
      • networkTypeAsString

        public final String networkTypeAsString()

        Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above 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 Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system.
        See Also:
        NetworkType
      • ipDiscovery

        public final IpDiscovery ipDiscovery()

        The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above 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 Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system.
        See Also:
        IpDiscovery
      • ipDiscoveryAsString

        public final String ipDiscoveryAsString()

        The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above 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 Valkey 7.2 and above, Redis OSS engine version 6.2 and above or Memcached engine version 1.6.6 and above on all instances built on the Nitro system.
        See Also:
        IpDiscovery
      • 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:
        TransitEncryptionMode
      • 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 Valkey or Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Valkey or Redis OSS 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 Valkey or Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Valkey or Redis OSS clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.
        See Also:
        ClusterMode
      • 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 Valkey or Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Valkey or Redis OSS 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 Valkey or Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Valkey or Redis OSS clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.
        See Also:
        ClusterMode
      • engine

        public final String engine()

        The engine used in a replication group. The options are redis, memcached or valkey.

        Returns:
        The engine used in a replication group. The options are redis, memcached or valkey.
      • hashCode

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

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • 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)