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

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

Contains all of the attributes of a specific cluster.

See Also:
  • Method Details

    • name

      public final String name()

      The user-supplied name of the cluster. This identifier is a unique key that identifies a cluster.

      Returns:
      The user-supplied name of the cluster. This identifier is a unique key that identifies a cluster.
    • description

      public final String description()

      A description of the cluster

      Returns:
      A description of the cluster
    • status

      public final String status()

      The status of the cluster. For example, Available, Updating, Creating.

      Returns:
      The status of the cluster. For example, Available, Updating, Creating.
    • pendingUpdates

      public final ClusterPendingUpdates pendingUpdates()

      A group of settings that are currently being applied.

      Returns:
      A group of settings that are currently being applied.
    • numberOfShards

      public final Integer numberOfShards()

      The number of shards in the cluster

      Returns:
      The number of shards in the cluster
    • hasShards

      public final boolean hasShards()
      For responses, this returns true if the service returned a value for the Shards 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.
    • shards

      public final List<Shard> shards()

      A list of shards that are members of the cluster.

      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 hasShards() method.

      Returns:
      A list of shards that are members of the cluster.
    • availabilityMode

      public final AZStatus availabilityMode()

      Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

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

      Returns:
      Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).
      See Also:
    • availabilityModeAsString

      public final String availabilityModeAsString()

      Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

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

      Returns:
      Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).
      See Also:
    • clusterEndpoint

      public final Endpoint clusterEndpoint()

      The cluster's configuration endpoint

      Returns:
      The cluster's configuration endpoint
    • nodeType

      public final String nodeType()

      The cluster's node type

      Returns:
      The cluster's node type
    • engineVersion

      public final String engineVersion()

      The Redis engine version used by the cluster

      Returns:
      The Redis engine version used by the cluster
    • enginePatchVersion

      public final String enginePatchVersion()

      The Redis engine patch version used by the cluster

      Returns:
      The Redis engine patch version used by the cluster
    • parameterGroupName

      public final String parameterGroupName()

      The name of the parameter group used by the cluster

      Returns:
      The name of the parameter group used by the cluster
    • parameterGroupStatus

      public final String parameterGroupStatus()

      The status of the parameter group used by the cluster, for example 'active' or 'applying'.

      Returns:
      The status of the parameter group used by the cluster, for example 'active' or 'applying'.
    • hasSecurityGroups

      public final boolean hasSecurityGroups()
      For responses, this returns true if the service returned a value for the SecurityGroups 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.
    • securityGroups

      public final List<SecurityGroupMembership> securityGroups()

      A list of security groups used by the cluster

      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 hasSecurityGroups() method.

      Returns:
      A list of security groups used by the cluster
    • subnetGroupName

      public final String subnetGroupName()

      The name of the subnet group used by the cluster

      Returns:
      The name of the subnet group used by the cluster
    • tlsEnabled

      public final Boolean tlsEnabled()

      A flag to indicate if In-transit encryption is enabled

      Returns:
      A flag to indicate if In-transit encryption is enabled
    • kmsKeyId

      public final String kmsKeyId()

      The ID of the KMS key used to encrypt the cluster

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

      public final String arn()

      The Amazon Resource Name (ARN) of the cluster.

      Returns:
      The Amazon Resource Name (ARN) of the cluster.
    • snsTopicArn

      public final String snsTopicArn()

      The Amazon Resource Name (ARN) of the SNS notification topic

      Returns:
      The Amazon Resource Name (ARN) of the SNS notification topic
    • snsTopicStatus

      public final String snsTopicStatus()

      The SNS topic must be in Active status to receive notifications

      Returns:
      The SNS topic must be in Active status to receive notifications
    • snapshotRetentionLimit

      public final Integer snapshotRetentionLimit()

      The number of days for which MemoryDB retains automatic 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.

      Returns:
      The number of days for which MemoryDB retains automatic 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.
    • maintenanceWindow

      public final String maintenanceWindow()

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

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

      public final String snapshotWindow()

      The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: 05:00-09:00 If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.

      Returns:
      The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: 05:00-09:00 If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.
    • aclName

      public final String aclName()

      The name of the Access Control List associated with this cluster.

      Returns:
      The name of the Access Control List associated with this cluster.
    • autoMinorVersionUpgrade

      public final Boolean autoMinorVersionUpgrade()

      When set to true, the cluster will automatically receive minor engine version upgrades after launch.

      Returns:
      When set to true, the cluster will automatically receive minor engine version upgrades after launch.
    • dataTiering

      public final DataTieringStatus dataTiering()

      Enables data tiering. Data tiering is only supported for clusters using the r6gd node type. This parameter must be set 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 clusters using the r6gd node type. This parameter must be set 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 clusters using the r6gd node type. This parameter must be set 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 clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see Data tiering.
      See Also:
    • toBuilder

      public Cluster.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<Cluster.Builder,Cluster>
      Returns:
      a builder for type T
    • builder

      public static Cluster.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Cluster.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.