java.lang.Object
software.amazon.awssdk.services.redshift.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>

Describes a cluster.

See Also:
  • Method Details

    • clusterIdentifier

      public final String clusterIdentifier()

      The unique identifier of the cluster.

      Returns:
      The unique identifier of the cluster.
    • nodeType

      public final String nodeType()

      The node type for the nodes in the cluster.

      Returns:
      The node type for the nodes in the cluster.
    • clusterStatus

      public final String clusterStatus()

      The current state of the cluster. Possible values are the following:

      • available

      • available, prep-for-resize

      • available, resize-cleanup

      • cancelling-resize

      • creating

      • deleting

      • final-snapshot

      • hardware-failure

      • incompatible-hsm

      • incompatible-network

      • incompatible-parameters

      • incompatible-restore

      • modifying

      • paused

      • rebooting

      • renaming

      • resizing

      • rotating-keys

      • storage-full

      • updating-hsm

      Returns:
      The current state of the cluster. Possible values are the following:

      • available

      • available, prep-for-resize

      • available, resize-cleanup

      • cancelling-resize

      • creating

      • deleting

      • final-snapshot

      • hardware-failure

      • incompatible-hsm

      • incompatible-network

      • incompatible-parameters

      • incompatible-restore

      • modifying

      • paused

      • rebooting

      • renaming

      • resizing

      • rotating-keys

      • storage-full

      • updating-hsm

    • clusterAvailabilityStatus

      public final String clusterAvailabilityStatus()

      The availability status of the cluster for queries. Possible values are the following:

      • Available - The cluster is available for queries.

      • Unavailable - The cluster is not available for queries.

      • Maintenance - The cluster is intermittently available for queries due to maintenance activities.

      • Modifying - The cluster is intermittently available for queries due to changes that modify the cluster.

      • Failed - The cluster failed and is not available for queries.

      Returns:
      The availability status of the cluster for queries. Possible values are the following:

      • Available - The cluster is available for queries.

      • Unavailable - The cluster is not available for queries.

      • Maintenance - The cluster is intermittently available for queries due to maintenance activities.

      • Modifying - The cluster is intermittently available for queries due to changes that modify the cluster.

      • Failed - The cluster failed and is not available for queries.

    • modifyStatus

      public final String modifyStatus()

      The status of a modify operation, if any, initiated for the cluster.

      Returns:
      The status of a modify operation, if any, initiated for the cluster.
    • masterUsername

      public final String masterUsername()

      The admin user name for the cluster. This name is used to connect to the database that is specified in the DBName parameter.

      Returns:
      The admin user name for the cluster. This name is used to connect to the database that is specified in the DBName parameter.
    • dbName

      public final String dbName()

      The name of the initial database that was created when the cluster was created. This same name is returned for the life of the cluster. If an initial database was not specified, a database named devdev was created by default.

      Returns:
      The name of the initial database that was created when the cluster was created. This same name is returned for the life of the cluster. If an initial database was not specified, a database named devdev was created by default.
    • endpoint

      public final Endpoint endpoint()

      The connection endpoint.

      Returns:
      The connection endpoint.
    • clusterCreateTime

      public final Instant clusterCreateTime()

      The date and time that the cluster was created.

      Returns:
      The date and time that the cluster was created.
    • automatedSnapshotRetentionPeriod

      public final Integer automatedSnapshotRetentionPeriod()

      The number of days that automatic cluster snapshots are retained.

      Returns:
      The number of days that automatic cluster snapshots are retained.
    • manualSnapshotRetentionPeriod

      public final Integer manualSnapshotRetentionPeriod()

      The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.

      The value must be either -1 or an integer between 1 and 3,653.

      Returns:
      The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.

      The value must be either -1 or an integer between 1 and 3,653.

    • hasClusterSecurityGroups

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

      public final List<ClusterSecurityGroupMembership> clusterSecurityGroups()

      A list of cluster security group that are associated with the cluster. Each security group is represented by an element that contains ClusterSecurityGroup.Name and ClusterSecurityGroup.Status subelements.

      Cluster security groups are used when the cluster is not created in an Amazon Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which are listed by the VpcSecurityGroups parameter.

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

      Returns:
      A list of cluster security group that are associated with the cluster. Each security group is represented by an element that contains ClusterSecurityGroup.Name and ClusterSecurityGroup.Status subelements.

      Cluster security groups are used when the cluster is not created in an Amazon Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which are listed by the VpcSecurityGroups parameter.

    • hasVpcSecurityGroups

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

      public final List<VpcSecurityGroupMembership> vpcSecurityGroups()

      A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are associated with the cluster. This parameter is returned only if the cluster is in a VPC.

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

      Returns:
      A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are associated with the cluster. This parameter is returned only if the cluster is in a VPC.
    • hasClusterParameterGroups

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

      public final List<ClusterParameterGroupStatus> clusterParameterGroups()

      The list of cluster parameter groups that are associated with this cluster. Each parameter group in the list is returned with its status.

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

      Returns:
      The list of cluster parameter groups that are associated with this cluster. Each parameter group in the list is returned with its status.
    • clusterSubnetGroupName

      public final String clusterSubnetGroupName()

      The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster is in a VPC.

      Returns:
      The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster is in a VPC.
    • vpcId

      public final String vpcId()

      The identifier of the VPC the cluster is in, if the cluster is in a VPC.

      Returns:
      The identifier of the VPC the cluster is in, if the cluster is in a VPC.
    • availabilityZone

      public final String availabilityZone()

      The name of the Availability Zone in which the cluster is located.

      Returns:
      The name of the Availability Zone in which the cluster is located.
    • preferredMaintenanceWindow

      public final String preferredMaintenanceWindow()

      The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur.

      Returns:
      The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur.
    • pendingModifiedValues

      public final PendingModifiedValues pendingModifiedValues()

      A value that, if present, indicates that changes to the cluster are pending. Specific pending changes are identified by subelements.

      Returns:
      A value that, if present, indicates that changes to the cluster are pending. Specific pending changes are identified by subelements.
    • clusterVersion

      public final String clusterVersion()

      The version ID of the Amazon Redshift engine that is running on the cluster.

      Returns:
      The version ID of the Amazon Redshift engine that is running on the cluster.
    • allowVersionUpgrade

      public final Boolean allowVersionUpgrade()

      A boolean value that, if true, indicates that major version upgrades will be applied automatically to the cluster during the maintenance window.

      Returns:
      A boolean value that, if true, indicates that major version upgrades will be applied automatically to the cluster during the maintenance window.
    • numberOfNodes

      public final Integer numberOfNodes()

      The number of compute nodes in the cluster.

      Returns:
      The number of compute nodes in the cluster.
    • publiclyAccessible

      public final Boolean publiclyAccessible()

      A boolean value that, if true, indicates that the cluster can be accessed from a public network.

      Returns:
      A boolean value that, if true, indicates that the cluster can be accessed from a public network.
    • encrypted

      public final Boolean encrypted()

      A boolean value that, if true, indicates that data in the cluster is encrypted at rest.

      Returns:
      A boolean value that, if true, indicates that data in the cluster is encrypted at rest.
    • restoreStatus

      public final RestoreStatus restoreStatus()

      A value that describes the status of a cluster restore action. This parameter returns null if the cluster was not created by restoring a snapshot.

      Returns:
      A value that describes the status of a cluster restore action. This parameter returns null if the cluster was not created by restoring a snapshot.
    • dataTransferProgress

      public final DataTransferProgress dataTransferProgress()

      Returns:
    • hsmStatus

      public final HsmStatus hsmStatus()

      A value that reports whether the Amazon Redshift cluster has finished applying any hardware security module (HSM) settings changes specified in a modify cluster command.

      Values: active, applying

      Returns:
      A value that reports whether the Amazon Redshift cluster has finished applying any hardware security module (HSM) settings changes specified in a modify cluster command.

      Values: active, applying

    • clusterSnapshotCopyStatus

      public final ClusterSnapshotCopyStatus clusterSnapshotCopyStatus()

      A value that returns the destination region and retention period that are configured for cross-region snapshot copy.

      Returns:
      A value that returns the destination region and retention period that are configured for cross-region snapshot copy.
    • clusterPublicKey

      public final String clusterPublicKey()

      The public key for the cluster.

      Returns:
      The public key for the cluster.
    • hasClusterNodes

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

      public final List<ClusterNode> clusterNodes()

      The nodes in 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 hasClusterNodes() method.

      Returns:
      The nodes in the cluster.
    • elasticIpStatus

      public final ElasticIpStatus elasticIpStatus()

      The status of the elastic IP (EIP) address.

      Returns:
      The status of the elastic IP (EIP) address.
    • clusterRevisionNumber

      public final String clusterRevisionNumber()

      The specific revision number of the database in the cluster.

      Returns:
      The specific revision number of the database in the cluster.
    • hasTags

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

      public final List<Tag> tags()

      The list of tags for 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 hasTags() method.

      Returns:
      The list of tags for the cluster.
    • kmsKeyId

      public final String kmsKeyId()

      The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster.

      Returns:
      The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster.
    • enhancedVpcRouting

      public final Boolean enhancedVpcRouting()

      An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

      If this option is true, enhanced VPC routing is enabled.

      Default: false

      Returns:
      An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

      If this option is true, enhanced VPC routing is enabled.

      Default: false

    • hasIamRoles

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

      public final List<ClusterIamRole> iamRoles()

      A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web Services services.

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

      Returns:
      A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web Services services.
    • hasPendingActions

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

      public final List<String> pendingActions()

      Cluster operations that are waiting to be started.

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

      Returns:
      Cluster operations that are waiting to be started.
    • maintenanceTrackName

      public final String maintenanceTrackName()

      The name of the maintenance track for the cluster.

      Returns:
      The name of the maintenance track for the cluster.
    • elasticResizeNumberOfNodeOptions

      public final String elasticResizeNumberOfNodeOptions()

      The number of nodes that you can resize the cluster to with the elastic resize method.

      Returns:
      The number of nodes that you can resize the cluster to with the elastic resize method.
    • hasDeferredMaintenanceWindows

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

      public final List<DeferredMaintenanceWindow> deferredMaintenanceWindows()

      Describes a group of DeferredMaintenanceWindow objects.

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

      Returns:
      Describes a group of DeferredMaintenanceWindow objects.
    • snapshotScheduleIdentifier

      public final String snapshotScheduleIdentifier()

      A unique identifier for the cluster snapshot schedule.

      Returns:
      A unique identifier for the cluster snapshot schedule.
    • snapshotScheduleState

      public final ScheduleState snapshotScheduleState()

      The current state of the cluster snapshot schedule.

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

      Returns:
      The current state of the cluster snapshot schedule.
      See Also:
    • snapshotScheduleStateAsString

      public final String snapshotScheduleStateAsString()

      The current state of the cluster snapshot schedule.

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

      Returns:
      The current state of the cluster snapshot schedule.
      See Also:
    • expectedNextSnapshotScheduleTime

      public final Instant expectedNextSnapshotScheduleTime()

      The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.

      Returns:
      The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.
    • expectedNextSnapshotScheduleTimeStatus

      public final String expectedNextSnapshotScheduleTimeStatus()

      The status of next expected snapshot for clusters having a valid snapshot schedule and backups enabled. Possible values are the following:

      • OnTrack - The next snapshot is expected to be taken on time.

      • Pending - The next snapshot is pending to be taken.

      Returns:
      The status of next expected snapshot for clusters having a valid snapshot schedule and backups enabled. Possible values are the following:

      • OnTrack - The next snapshot is expected to be taken on time.

      • Pending - The next snapshot is pending to be taken.

    • nextMaintenanceWindowStartTime

      public final Instant nextMaintenanceWindowStartTime()

      The date and time in UTC when system maintenance can begin.

      Returns:
      The date and time in UTC when system maintenance can begin.
    • resizeInfo

      public final ResizeInfo resizeInfo()

      Returns the following:

      • AllowCancelResize: a boolean value indicating if the resize operation can be cancelled.

      • ResizeType: Returns ClassicResize

      Returns:
      Returns the following:

      • AllowCancelResize: a boolean value indicating if the resize operation can be cancelled.

      • ResizeType: Returns ClassicResize

    • availabilityZoneRelocationStatus

      public final String availabilityZoneRelocationStatus()

      Describes the status of the Availability Zone relocation operation.

      Returns:
      Describes the status of the Availability Zone relocation operation.
    • clusterNamespaceArn

      public final String clusterNamespaceArn()

      The namespace Amazon Resource Name (ARN) of the cluster.

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

      public final Long totalStorageCapacityInMegaBytes()

      The total storage capacity of the cluster in megabytes.

      Returns:
      The total storage capacity of the cluster in megabytes.
    • aquaConfiguration

      public final AquaConfiguration aquaConfiguration()

      This field is retired. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).

      Returns:
      This field is retired. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).
    • defaultIamRoleArn

      public final String defaultIamRoleArn()

      The Amazon Resource Name (ARN) for the IAM role set as default for the cluster.

      Returns:
      The Amazon Resource Name (ARN) for the IAM role set as default for the cluster.
    • reservedNodeExchangeStatus

      public final ReservedNodeExchangeStatus reservedNodeExchangeStatus()

      The status of the reserved-node exchange request. Statuses include in-progress and requested.

      Returns:
      The status of the reserved-node exchange request. Statuses include in-progress and requested.
    • customDomainName

      public final String customDomainName()

      The custom domain name associated with the cluster.

      Returns:
      The custom domain name associated with the cluster.
    • customDomainCertificateArn

      public final String customDomainCertificateArn()

      The certificate Amazon Resource Name (ARN) for the custom domain name.

      Returns:
      The certificate Amazon Resource Name (ARN) for the custom domain name.
    • customDomainCertificateExpiryDate

      public final Instant customDomainCertificateExpiryDate()

      The expiration date for the certificate associated with the custom domain name.

      Returns:
      The expiration date for the certificate associated with the custom domain name.
    • masterPasswordSecretArn

      public final String masterPasswordSecretArn()

      The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.

      Returns:
      The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.
    • masterPasswordSecretKmsKeyId

      public final String masterPasswordSecretKmsKeyId()

      The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.

      Returns:
      The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
    • ipAddressType

      public final String ipAddressType()

      The IP address type for the cluster. Possible values are ipv4 and dualstack.

      Returns:
      The IP address type for the cluster. Possible values are ipv4 and dualstack.
    • multiAZ

      public final String multiAZ()

      A boolean value that, if true, indicates that the cluster is deployed in two Availability Zones.

      Returns:
      A boolean value that, if true, indicates that the cluster is deployed in two Availability Zones.
    • multiAZSecondary

      public final SecondaryClusterInfo multiAZSecondary()

      The secondary compute unit of a cluster, if Multi-AZ deployment is turned on.

      Returns:
      The secondary compute unit of a cluster, if Multi-AZ deployment is turned on.
    • 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.