/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.redshift.model; import java.io.Serializable; import javax.annotation.Generated; /** *
* Describes a cluster. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Cluster implements Serializable, Cloneable { /** ** The unique identifier of the cluster. *
*/ private String clusterIdentifier; /** ** The node type for the nodes in the cluster. *
*/ private String nodeType; /** ** 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
*
* 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. *
** The status of a modify operation, if any, initiated for the cluster. *
*/ private String modifyStatus; /** ** The admin user name for the cluster. This name is used to connect to the database that is specified in the * DBName parameter. *
*/ private String masterUsername; /** *
* 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 dev
dev was
* created by default.
*
* The connection endpoint. *
*/ private Endpoint endpoint; /** ** The date and time that the cluster was created. *
*/ private java.util.Date clusterCreateTime; /** ** The number of days that automatic cluster snapshots are retained. *
*/ private Integer automatedSnapshotRetentionPeriod; /** ** 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. *
*/ private Integer manualSnapshotRetentionPeriod; /** *
* 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. *
*/ private com.amazonaws.internal.SdkInternalList* 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. *
*/ private com.amazonaws.internal.SdkInternalList* The list of cluster parameter groups that are associated with this cluster. Each parameter group in the list is * returned with its status. *
*/ private com.amazonaws.internal.SdkInternalList* The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster * is in a VPC. *
*/ private String clusterSubnetGroupName; /** ** The identifier of the VPC the cluster is in, if the cluster is in a VPC. *
*/ private String vpcId; /** ** The name of the Availability Zone in which the cluster is located. *
*/ private String availabilityZone; /** ** The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur. *
*/ private String preferredMaintenanceWindow; /** ** A value that, if present, indicates that changes to the cluster are pending. Specific pending changes are * identified by subelements. *
*/ private PendingModifiedValues pendingModifiedValues; /** ** The version ID of the Amazon Redshift engine that is running on the cluster. *
*/ private String clusterVersion; /** *
* A boolean value that, if true
, indicates that major version upgrades will be applied automatically
* to the cluster during the maintenance window.
*
* The number of compute nodes in the cluster. *
*/ private Integer numberOfNodes; /** *
* A boolean value that, if true
, indicates that the cluster can be accessed from a public network.
*
* A boolean value that, if true
, indicates that data in the cluster is encrypted at rest.
*
* 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. *
*/ private RestoreStatus restoreStatus; /** */ private DataTransferProgress dataTransferProgress; /** ** 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 *
*/ private HsmStatus hsmStatus; /** ** A value that returns the destination region and retention period that are configured for cross-region snapshot * copy. *
*/ private ClusterSnapshotCopyStatus clusterSnapshotCopyStatus; /** ** The public key for the cluster. *
*/ private String clusterPublicKey; /** ** The nodes in the cluster. *
*/ private com.amazonaws.internal.SdkInternalList* The status of the elastic IP (EIP) address. *
*/ private ElasticIpStatus elasticIpStatus; /** ** The specific revision number of the database in the cluster. *
*/ private String clusterRevisionNumber; /** ** The list of tags for the cluster. *
*/ private com.amazonaws.internal.SdkInternalList* The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster. *
*/ private String kmsKeyId; /** ** 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 *
*/ private Boolean enhancedVpcRouting; /** ** A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web * Services services. *
*/ private com.amazonaws.internal.SdkInternalList* Cluster operations that are waiting to be started. *
*/ private com.amazonaws.internal.SdkInternalList* The name of the maintenance track for the cluster. *
*/ private String maintenanceTrackName; /** ** The number of nodes that you can resize the cluster to with the elastic resize method. *
*/ private String elasticResizeNumberOfNodeOptions; /** *
* Describes a group of DeferredMaintenanceWindow
objects.
*
* A unique identifier for the cluster snapshot schedule. *
*/ private String snapshotScheduleIdentifier; /** ** The current state of the cluster snapshot schedule. *
*/ private String snapshotScheduleState; /** ** The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and * backups enabled. *
*/ private java.util.Date expectedNextSnapshotScheduleTime; /** ** 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. *
** The date and time in UTC when system maintenance can begin. *
*/ private java.util.Date nextMaintenanceWindowStartTime; /** ** Returns the following: *
** AllowCancelResize: a boolean value indicating if the resize operation can be cancelled. *
** ResizeType: Returns ClassicResize *
** Describes the status of the Availability Zone relocation operation. *
*/ private String availabilityZoneRelocationStatus; /** ** The namespace Amazon Resource Name (ARN) of the cluster. *
*/ private String clusterNamespaceArn; /** ** The total storage capacity of the cluster in megabytes. *
*/ private Long totalStorageCapacityInMegaBytes; /** ** This field is retired. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator). *
*/ private AquaConfiguration aquaConfiguration; /** ** The Amazon Resource Name (ARN) for the IAM role set as default for the cluster. *
*/ private String defaultIamRoleArn; /** ** The status of the reserved-node exchange request. Statuses include in-progress and requested. *
*/ private ReservedNodeExchangeStatus reservedNodeExchangeStatus; /** ** The custom domain name associated with the cluster. *
*/ private String customDomainName; /** ** The certificate Amazon Resource Name (ARN) for the custom domain name. *
*/ private String customDomainCertificateArn; /** ** The expiration date for the certificate associated with the custom domain name. *
*/ private java.util.Date customDomainCertificateExpiryDate; /** ** The unique identifier of the cluster. *
* * @param clusterIdentifier * The unique identifier of the cluster. */ public void setClusterIdentifier(String clusterIdentifier) { this.clusterIdentifier = clusterIdentifier; } /** ** The unique identifier of the cluster. *
* * @return The unique identifier of the cluster. */ public String getClusterIdentifier() { return this.clusterIdentifier; } /** ** The unique identifier of the cluster. *
* * @param clusterIdentifier * The unique identifier of the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterIdentifier(String clusterIdentifier) { setClusterIdentifier(clusterIdentifier); return this; } /** ** The node type for the nodes in the cluster. *
* * @param nodeType * The node type for the nodes in the cluster. */ public void setNodeType(String nodeType) { this.nodeType = nodeType; } /** ** The node type for the nodes in the cluster. *
* * @return The node type for the nodes in the cluster. */ public String getNodeType() { return this.nodeType; } /** ** The node type for the nodes in the cluster. *
* * @param nodeType * The node type for the nodes in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withNodeType(String nodeType) { setNodeType(nodeType); return this; } /** ** 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
*
* 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
*
* 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
*
* 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
*
* 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
*
* 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
*
* 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. *
** 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. *
** 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. *
** 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. *
** 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. *
** 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. *
** The status of a modify operation, if any, initiated for the cluster. *
* * @param modifyStatus * The status of a modify operation, if any, initiated for the cluster. */ public void setModifyStatus(String modifyStatus) { this.modifyStatus = modifyStatus; } /** ** The status of a modify operation, if any, initiated for the cluster. *
* * @return The status of a modify operation, if any, initiated for the cluster. */ public String getModifyStatus() { return this.modifyStatus; } /** ** The status of a modify operation, if any, initiated for the cluster. *
* * @param modifyStatus * The status of a modify operation, if any, initiated for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withModifyStatus(String modifyStatus) { setModifyStatus(modifyStatus); return this; } /** ** The admin user name for the cluster. This name is used to connect to the database that is specified in the * DBName parameter. *
* * @param masterUsername * The admin user name for the cluster. This name is used to connect to the database that is specified in the * DBName parameter. */ public void setMasterUsername(String masterUsername) { this.masterUsername = masterUsername; } /** ** The admin user name for the cluster. This name is used to connect to the database that is specified in the * DBName parameter. *
* * @return The admin user name for the cluster. This name is used to connect to the database that is specified in * the DBName parameter. */ public String getMasterUsername() { return this.masterUsername; } /** ** The admin user name for the cluster. This name is used to connect to the database that is specified in the * DBName parameter. *
* * @param masterUsername * The admin user name for the cluster. This name is used to connect to the database that is specified in the * DBName parameter. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withMasterUsername(String masterUsername) { setMasterUsername(masterUsername); return this; } /** *
* 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 dev
dev was
* created by default.
*
dev
* dev was created by default.
*/
public void setDBName(String dBName) {
this.dBName = 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 dev
dev was
* created by default.
*
dev
dev was created by default.
*/
public String getDBName() {
return this.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 dev
dev was
* created by default.
*
dev
* dev was created by default.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withDBName(String dBName) {
setDBName(dBName);
return this;
}
/**
* * The connection endpoint. *
* * @param endpoint * The connection endpoint. */ public void setEndpoint(Endpoint endpoint) { this.endpoint = endpoint; } /** ** The connection endpoint. *
* * @return The connection endpoint. */ public Endpoint getEndpoint() { return this.endpoint; } /** ** The connection endpoint. *
* * @param endpoint * The connection endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withEndpoint(Endpoint endpoint) { setEndpoint(endpoint); return this; } /** ** The date and time that the cluster was created. *
* * @param clusterCreateTime * The date and time that the cluster was created. */ public void setClusterCreateTime(java.util.Date clusterCreateTime) { this.clusterCreateTime = clusterCreateTime; } /** ** The date and time that the cluster was created. *
* * @return The date and time that the cluster was created. */ public java.util.Date getClusterCreateTime() { return this.clusterCreateTime; } /** ** The date and time that the cluster was created. *
* * @param clusterCreateTime * The date and time that the cluster was created. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterCreateTime(java.util.Date clusterCreateTime) { setClusterCreateTime(clusterCreateTime); return this; } /** ** The number of days that automatic cluster snapshots are retained. *
* * @param automatedSnapshotRetentionPeriod * The number of days that automatic cluster snapshots are retained. */ public void setAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) { this.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod; } /** ** The number of days that automatic cluster snapshots are retained. *
* * @return The number of days that automatic cluster snapshots are retained. */ public Integer getAutomatedSnapshotRetentionPeriod() { return this.automatedSnapshotRetentionPeriod; } /** ** The number of days that automatic cluster snapshots are retained. *
* * @param automatedSnapshotRetentionPeriod * The number of days that automatic cluster snapshots are retained. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) { setAutomatedSnapshotRetentionPeriod(automatedSnapshotRetentionPeriod); return this; } /** ** 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. *
* * @param 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. */ public void setManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) { this.manualSnapshotRetentionPeriod = 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. *
* * @return 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. */ public Integer getManualSnapshotRetentionPeriod() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) { setManualSnapshotRetentionPeriod(manualSnapshotRetentionPeriod); return this; } /** *
* 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. *
* * @return A list of cluster security group that are associated with the cluster. Each security group is represented * by an element that containsClusterSecurityGroup.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.
*/
public java.util.List
* A list of cluster security group that are associated with the cluster. Each security group is represented by an
* element that contains
* 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.
* ClusterSecurityGroup.Name
and ClusterSecurityGroup.Status
* subelements.
* 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.
*/
public void setClusterSecurityGroups(java.util.Collection
* A list of cluster security group that are associated with the cluster. Each security group is represented by an
* element that contains
* 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.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setClusterSecurityGroups(java.util.Collection)} or
* {@link #withClusterSecurityGroups(java.util.Collection)} if you want to override the existing values.
* ClusterSecurityGroup.Name
and ClusterSecurityGroup.Status
* subelements.
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withClusterSecurityGroups(ClusterSecurityGroupMembership... clusterSecurityGroups) {
if (this.clusterSecurityGroups == null) {
setClusterSecurityGroups(new com.amazonaws.internal.SdkInternalList
* A list of cluster security group that are associated with the cluster. Each security group is represented by an
* element that contains
* 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.
* ClusterSecurityGroup.Name
and ClusterSecurityGroup.Status
* subelements.
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withClusterSecurityGroups(java.util.Collection
* 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.
*
* 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.
*
* 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.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setVpcSecurityGroups(java.util.Collection)} or {@link #withVpcSecurityGroups(java.util.Collection)} if
* you want to override the existing values.
*
* 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.
*
* The list of cluster parameter groups that are associated with this cluster. Each parameter group in the list is
* returned with its status.
*
* The list of cluster parameter groups that are associated with this cluster. Each parameter group in the list is
* returned with its status.
*
* The list of cluster parameter groups that are associated with this cluster. Each parameter group in the list is
* returned with its status.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setClusterParameterGroups(java.util.Collection)} or
* {@link #withClusterParameterGroups(java.util.Collection)} if you want to override the existing values.
*
* The list of cluster parameter groups that are associated with this cluster. Each parameter group in the list is
* returned with its status.
*
* The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster
* is in a VPC.
*
* The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster
* is in a VPC.
*
* The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster
* is in a VPC.
*
* The identifier of the VPC the cluster is in, if the cluster is in a VPC.
*
* The identifier of the VPC the cluster is in, if the cluster is in a VPC.
*
* The identifier of the VPC the cluster is in, if the cluster is in a VPC.
*
* The name of the Availability Zone in which the cluster is located.
*
* The name of the Availability Zone in which the cluster is located.
*
* The name of the Availability Zone in which the cluster is located.
*
* The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur.
*
* The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur.
*
* The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur.
*
* A value that, if present, indicates that changes to the cluster are pending. Specific pending changes are
* identified by subelements.
*
* A value that, if present, indicates that changes to the cluster are pending. Specific pending changes are
* identified by subelements.
*
* A value that, if present, indicates that changes to the cluster are pending. Specific pending changes are
* identified by subelements.
*
* The version ID of the Amazon Redshift engine that is running on the cluster.
*
* The version ID of the Amazon Redshift engine that is running on the cluster.
*
* The version ID of the Amazon Redshift engine that is running on the cluster.
*
* A boolean value that, if
* A boolean value that, if
* A boolean value that, if
* A boolean value that, if
* The number of compute nodes in the cluster.
*
* The number of compute nodes in the cluster.
*
* The number of compute nodes in the cluster.
*
* A boolean value that, if
* A boolean value that, if
* A boolean value that, if
* A boolean value that, if
* A boolean value that, if
* A boolean value that, if
* A boolean value that, if
* A boolean value that, if
* 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.
*
* 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.
*
* 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.
*
* 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
* true
, indicates that major version upgrades will be applied automatically
* to the cluster during the maintenance window.
* true
, indicates that major version upgrades will be applied
* automatically to the cluster during the maintenance window.
*/
public void setAllowVersionUpgrade(Boolean allowVersionUpgrade) {
this.allowVersionUpgrade = allowVersionUpgrade;
}
/**
* true
, indicates that major version upgrades will be applied automatically
* to the cluster during the maintenance window.
* true
, indicates that major version upgrades will be applied
* automatically to the cluster during the maintenance window.
*/
public Boolean getAllowVersionUpgrade() {
return this.allowVersionUpgrade;
}
/**
* true
, indicates that major version upgrades will be applied automatically
* to the cluster during the maintenance window.
* true
, indicates that major version upgrades will be applied
* automatically to the cluster during the maintenance window.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withAllowVersionUpgrade(Boolean allowVersionUpgrade) {
setAllowVersionUpgrade(allowVersionUpgrade);
return this;
}
/**
* true
, indicates that major version upgrades will be applied automatically
* to the cluster during the maintenance window.
* true
, indicates that major version upgrades will be applied
* automatically to the cluster during the maintenance window.
*/
public Boolean isAllowVersionUpgrade() {
return this.allowVersionUpgrade;
}
/**
* true
, indicates that the cluster can be accessed from a public network.
* true
, indicates that the cluster can be accessed from a public
* network.
*/
public void setPubliclyAccessible(Boolean publiclyAccessible) {
this.publiclyAccessible = publiclyAccessible;
}
/**
* true
, indicates that the cluster can be accessed from a public network.
* true
, indicates that the cluster can be accessed from a public
* network.
*/
public Boolean getPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
* true
, indicates that the cluster can be accessed from a public network.
* true
, indicates that the cluster can be accessed from a public
* network.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withPubliclyAccessible(Boolean publiclyAccessible) {
setPubliclyAccessible(publiclyAccessible);
return this;
}
/**
* true
, indicates that the cluster can be accessed from a public network.
* true
, indicates that the cluster can be accessed from a public
* network.
*/
public Boolean isPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
* true
, indicates that data in the cluster is encrypted at rest.
* true
, indicates that data in the cluster is encrypted at rest.
*/
public void setEncrypted(Boolean encrypted) {
this.encrypted = encrypted;
}
/**
* true
, indicates that data in the cluster is encrypted at rest.
* true
, indicates that data in the cluster is encrypted at rest.
*/
public Boolean getEncrypted() {
return this.encrypted;
}
/**
* true
, indicates that data in the cluster is encrypted at rest.
* true
, indicates that data in the cluster is encrypted at rest.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withEncrypted(Boolean encrypted) {
setEncrypted(encrypted);
return this;
}
/**
* true
, indicates that data in the cluster is encrypted at rest.
* true
, indicates that data in the cluster is encrypted at rest.
*/
public Boolean isEncrypted() {
return this.encrypted;
}
/**
*
* Values: active, applying */ public void setHsmStatus(HsmStatus hsmStatus) { this.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 *
* * @return 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 */ public HsmStatus getHsmStatus() { return this.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 *
* * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withHsmStatus(HsmStatus hsmStatus) { setHsmStatus(hsmStatus); return this; } /** *
* A value that returns the destination region and retention period that are configured for cross-region snapshot * copy. *
* * @param clusterSnapshotCopyStatus * A value that returns the destination region and retention period that are configured for cross-region * snapshot copy. */ public void setClusterSnapshotCopyStatus(ClusterSnapshotCopyStatus clusterSnapshotCopyStatus) { this.clusterSnapshotCopyStatus = clusterSnapshotCopyStatus; } /** ** A value that returns the destination region and retention period that are configured for cross-region snapshot * copy. *
* * @return A value that returns the destination region and retention period that are configured for cross-region * snapshot copy. */ public ClusterSnapshotCopyStatus getClusterSnapshotCopyStatus() { return this.clusterSnapshotCopyStatus; } /** ** A value that returns the destination region and retention period that are configured for cross-region snapshot * copy. *
* * @param clusterSnapshotCopyStatus * A value that returns the destination region and retention period that are configured for cross-region * snapshot copy. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterSnapshotCopyStatus(ClusterSnapshotCopyStatus clusterSnapshotCopyStatus) { setClusterSnapshotCopyStatus(clusterSnapshotCopyStatus); return this; } /** ** The public key for the cluster. *
* * @param clusterPublicKey * The public key for the cluster. */ public void setClusterPublicKey(String clusterPublicKey) { this.clusterPublicKey = clusterPublicKey; } /** ** The public key for the cluster. *
* * @return The public key for the cluster. */ public String getClusterPublicKey() { return this.clusterPublicKey; } /** ** The public key for the cluster. *
* * @param clusterPublicKey * The public key for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterPublicKey(String clusterPublicKey) { setClusterPublicKey(clusterPublicKey); return this; } /** ** The nodes in the cluster. *
* * @return The nodes in the cluster. */ public java.util.List* The nodes in the cluster. *
* * @param clusterNodes * The nodes in the cluster. */ public void setClusterNodes(java.util.Collection* The nodes in the cluster. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setClusterNodes(java.util.Collection)} or {@link #withClusterNodes(java.util.Collection)} if you want to * override the existing values. *
* * @param clusterNodes * The nodes in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterNodes(ClusterNode... clusterNodes) { if (this.clusterNodes == null) { setClusterNodes(new com.amazonaws.internal.SdkInternalList* The nodes in the cluster. *
* * @param clusterNodes * The nodes in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterNodes(java.util.Collection* The status of the elastic IP (EIP) address. *
* * @param elasticIpStatus * The status of the elastic IP (EIP) address. */ public void setElasticIpStatus(ElasticIpStatus elasticIpStatus) { this.elasticIpStatus = elasticIpStatus; } /** ** The status of the elastic IP (EIP) address. *
* * @return The status of the elastic IP (EIP) address. */ public ElasticIpStatus getElasticIpStatus() { return this.elasticIpStatus; } /** ** The status of the elastic IP (EIP) address. *
* * @param elasticIpStatus * The status of the elastic IP (EIP) address. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withElasticIpStatus(ElasticIpStatus elasticIpStatus) { setElasticIpStatus(elasticIpStatus); return this; } /** ** The specific revision number of the database in the cluster. *
* * @param clusterRevisionNumber * The specific revision number of the database in the cluster. */ public void setClusterRevisionNumber(String clusterRevisionNumber) { this.clusterRevisionNumber = clusterRevisionNumber; } /** ** The specific revision number of the database in the cluster. *
* * @return The specific revision number of the database in the cluster. */ public String getClusterRevisionNumber() { return this.clusterRevisionNumber; } /** ** The specific revision number of the database in the cluster. *
* * @param clusterRevisionNumber * The specific revision number of the database in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterRevisionNumber(String clusterRevisionNumber) { setClusterRevisionNumber(clusterRevisionNumber); return this; } /** ** The list of tags for the cluster. *
* * @return The list of tags for the cluster. */ public java.util.List* The list of tags for the cluster. *
* * @param tags * The list of tags for the cluster. */ public void setTags(java.util.Collection* The list of tags for the cluster. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param tags * The list of tags for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList* The list of tags for the cluster. *
* * @param tags * The list of tags for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withTags(java.util.Collection* The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster. *
* * @param kmsKeyId * The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** ** The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster. *
* * @return The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster. */ public String getKmsKeyId() { return this.kmsKeyId; } /** ** The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster. *
* * @param kmsKeyId * The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** ** 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 *
* * @param 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 */ public void setEnhancedVpcRouting(Boolean enhancedVpcRouting) { this.enhancedVpcRouting = 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 *
* * @return 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 */ public Boolean getEnhancedVpcRouting() { return this.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 *
* * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withEnhancedVpcRouting(Boolean enhancedVpcRouting) { setEnhancedVpcRouting(enhancedVpcRouting); return this; } /** *
* 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 *
* * @return 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 */ public Boolean isEnhancedVpcRouting() { return this.enhancedVpcRouting; } /** *
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web * Services services. *
* * @return A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other * Amazon Web Services services. */ public java.util.List* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web * Services services. *
* * @param iamRoles * A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other * Amazon Web Services services. */ public void setIamRoles(java.util.Collection* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web * Services services. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setIamRoles(java.util.Collection)} or {@link #withIamRoles(java.util.Collection)} if you want to override * the existing values. *
* * @param iamRoles * A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other * Amazon Web Services services. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withIamRoles(ClusterIamRole... iamRoles) { if (this.iamRoles == null) { setIamRoles(new com.amazonaws.internal.SdkInternalList* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web * Services services. *
* * @param iamRoles * A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other * Amazon Web Services services. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withIamRoles(java.util.Collection* Cluster operations that are waiting to be started. *
* * @return Cluster operations that are waiting to be started. */ public java.util.List* Cluster operations that are waiting to be started. *
* * @param pendingActions * Cluster operations that are waiting to be started. */ public void setPendingActions(java.util.Collection* Cluster operations that are waiting to be started. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPendingActions(java.util.Collection)} or {@link #withPendingActions(java.util.Collection)} if you want * to override the existing values. *
* * @param pendingActions * Cluster operations that are waiting to be started. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withPendingActions(String... pendingActions) { if (this.pendingActions == null) { setPendingActions(new com.amazonaws.internal.SdkInternalList* Cluster operations that are waiting to be started. *
* * @param pendingActions * Cluster operations that are waiting to be started. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withPendingActions(java.util.Collection* The name of the maintenance track for the cluster. *
* * @param maintenanceTrackName * The name of the maintenance track for the cluster. */ public void setMaintenanceTrackName(String maintenanceTrackName) { this.maintenanceTrackName = maintenanceTrackName; } /** ** The name of the maintenance track for the cluster. *
* * @return The name of the maintenance track for the cluster. */ public String getMaintenanceTrackName() { return this.maintenanceTrackName; } /** ** The name of the maintenance track for the cluster. *
* * @param maintenanceTrackName * The name of the maintenance track for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withMaintenanceTrackName(String maintenanceTrackName) { setMaintenanceTrackName(maintenanceTrackName); return this; } /** ** The number of nodes that you can resize the cluster to with the elastic resize method. *
* * @param elasticResizeNumberOfNodeOptions * The number of nodes that you can resize the cluster to with the elastic resize method. */ public void setElasticResizeNumberOfNodeOptions(String elasticResizeNumberOfNodeOptions) { this.elasticResizeNumberOfNodeOptions = elasticResizeNumberOfNodeOptions; } /** ** The number of nodes that you can resize the cluster to with the elastic resize method. *
* * @return The number of nodes that you can resize the cluster to with the elastic resize method. */ public String getElasticResizeNumberOfNodeOptions() { return this.elasticResizeNumberOfNodeOptions; } /** ** The number of nodes that you can resize the cluster to with the elastic resize method. *
* * @param elasticResizeNumberOfNodeOptions * The number of nodes that you can resize the cluster to with the elastic resize method. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withElasticResizeNumberOfNodeOptions(String elasticResizeNumberOfNodeOptions) { setElasticResizeNumberOfNodeOptions(elasticResizeNumberOfNodeOptions); return this; } /** *
* Describes a group of DeferredMaintenanceWindow
objects.
*
DeferredMaintenanceWindow
objects.
*/
public java.util.List
* Describes a group of DeferredMaintenanceWindow
objects.
*
DeferredMaintenanceWindow
objects.
*/
public void setDeferredMaintenanceWindows(java.util.Collection
* Describes a group of DeferredMaintenanceWindow
objects.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setDeferredMaintenanceWindows(java.util.Collection)} or * {@link #withDeferredMaintenanceWindows(java.util.Collection)} if you want to override the existing values. *
* * @param deferredMaintenanceWindows * Describes a group ofDeferredMaintenanceWindow
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withDeferredMaintenanceWindows(DeferredMaintenanceWindow... deferredMaintenanceWindows) {
if (this.deferredMaintenanceWindows == null) {
setDeferredMaintenanceWindows(new com.amazonaws.internal.SdkInternalList
* Describes a group of DeferredMaintenanceWindow
objects.
*
DeferredMaintenanceWindow
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withDeferredMaintenanceWindows(java.util.Collection* A unique identifier for the cluster snapshot schedule. *
* * @param snapshotScheduleIdentifier * A unique identifier for the cluster snapshot schedule. */ public void setSnapshotScheduleIdentifier(String snapshotScheduleIdentifier) { this.snapshotScheduleIdentifier = snapshotScheduleIdentifier; } /** ** A unique identifier for the cluster snapshot schedule. *
* * @return A unique identifier for the cluster snapshot schedule. */ public String getSnapshotScheduleIdentifier() { return this.snapshotScheduleIdentifier; } /** ** A unique identifier for the cluster snapshot schedule. *
* * @param snapshotScheduleIdentifier * A unique identifier for the cluster snapshot schedule. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withSnapshotScheduleIdentifier(String snapshotScheduleIdentifier) { setSnapshotScheduleIdentifier(snapshotScheduleIdentifier); return this; } /** ** The current state of the cluster snapshot schedule. *
* * @param snapshotScheduleState * The current state of the cluster snapshot schedule. * @see ScheduleState */ public void setSnapshotScheduleState(String snapshotScheduleState) { this.snapshotScheduleState = snapshotScheduleState; } /** ** The current state of the cluster snapshot schedule. *
* * @return The current state of the cluster snapshot schedule. * @see ScheduleState */ public String getSnapshotScheduleState() { return this.snapshotScheduleState; } /** ** The current state of the cluster snapshot schedule. *
* * @param snapshotScheduleState * The current state of the cluster snapshot schedule. * @return Returns a reference to this object so that method calls can be chained together. * @see ScheduleState */ public Cluster withSnapshotScheduleState(String snapshotScheduleState) { setSnapshotScheduleState(snapshotScheduleState); return this; } /** ** The current state of the cluster snapshot schedule. *
* * @param snapshotScheduleState * The current state of the cluster snapshot schedule. * @return Returns a reference to this object so that method calls can be chained together. * @see ScheduleState */ public Cluster withSnapshotScheduleState(ScheduleState snapshotScheduleState) { this.snapshotScheduleState = snapshotScheduleState.toString(); return this; } /** ** The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and * backups enabled. *
* * @param expectedNextSnapshotScheduleTime * The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot * schedule and backups enabled. */ public void setExpectedNextSnapshotScheduleTime(java.util.Date expectedNextSnapshotScheduleTime) { this.expectedNextSnapshotScheduleTime = expectedNextSnapshotScheduleTime; } /** ** The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and * backups enabled. *
* * @return The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot * schedule and backups enabled. */ public java.util.Date getExpectedNextSnapshotScheduleTime() { return this.expectedNextSnapshotScheduleTime; } /** ** The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and * backups enabled. *
* * @param expectedNextSnapshotScheduleTime * The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot * schedule and backups enabled. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withExpectedNextSnapshotScheduleTime(java.util.Date expectedNextSnapshotScheduleTime) { setExpectedNextSnapshotScheduleTime(expectedNextSnapshotScheduleTime); return this; } /** ** 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. *
** OnTrack - The next snapshot is expected to be taken on time. *
** Pending - The next snapshot is pending to be taken. *
** 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. *
** OnTrack - The next snapshot is expected to be taken on time. *
** Pending - The next snapshot is pending to be taken. *
** 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. *
** OnTrack - The next snapshot is expected to be taken on time. *
** Pending - The next snapshot is pending to be taken. *
** The date and time in UTC when system maintenance can begin. *
* * @param nextMaintenanceWindowStartTime * The date and time in UTC when system maintenance can begin. */ public void setNextMaintenanceWindowStartTime(java.util.Date nextMaintenanceWindowStartTime) { this.nextMaintenanceWindowStartTime = nextMaintenanceWindowStartTime; } /** ** The date and time in UTC when system maintenance can begin. *
* * @return The date and time in UTC when system maintenance can begin. */ public java.util.Date getNextMaintenanceWindowStartTime() { return this.nextMaintenanceWindowStartTime; } /** ** The date and time in UTC when system maintenance can begin. *
* * @param nextMaintenanceWindowStartTime * The date and time in UTC when system maintenance can begin. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withNextMaintenanceWindowStartTime(java.util.Date nextMaintenanceWindowStartTime) { setNextMaintenanceWindowStartTime(nextMaintenanceWindowStartTime); return this; } /** ** Returns the following: *
** AllowCancelResize: a boolean value indicating if the resize operation can be cancelled. *
** ResizeType: Returns ClassicResize *
** AllowCancelResize: a boolean value indicating if the resize operation can be cancelled. *
** ResizeType: Returns ClassicResize *
** Returns the following: *
** AllowCancelResize: a boolean value indicating if the resize operation can be cancelled. *
** ResizeType: Returns ClassicResize *
** AllowCancelResize: a boolean value indicating if the resize operation can be cancelled. *
** ResizeType: Returns ClassicResize *
** Returns the following: *
** AllowCancelResize: a boolean value indicating if the resize operation can be cancelled. *
** ResizeType: Returns ClassicResize *
** AllowCancelResize: a boolean value indicating if the resize operation can be cancelled. *
** ResizeType: Returns ClassicResize *
** Describes the status of the Availability Zone relocation operation. *
* * @param availabilityZoneRelocationStatus * Describes the status of the Availability Zone relocation operation. */ public void setAvailabilityZoneRelocationStatus(String availabilityZoneRelocationStatus) { this.availabilityZoneRelocationStatus = availabilityZoneRelocationStatus; } /** ** Describes the status of the Availability Zone relocation operation. *
* * @return Describes the status of the Availability Zone relocation operation. */ public String getAvailabilityZoneRelocationStatus() { return this.availabilityZoneRelocationStatus; } /** ** Describes the status of the Availability Zone relocation operation. *
* * @param availabilityZoneRelocationStatus * Describes the status of the Availability Zone relocation operation. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withAvailabilityZoneRelocationStatus(String availabilityZoneRelocationStatus) { setAvailabilityZoneRelocationStatus(availabilityZoneRelocationStatus); return this; } /** ** The namespace Amazon Resource Name (ARN) of the cluster. *
* * @param clusterNamespaceArn * The namespace Amazon Resource Name (ARN) of the cluster. */ public void setClusterNamespaceArn(String clusterNamespaceArn) { this.clusterNamespaceArn = clusterNamespaceArn; } /** ** The namespace Amazon Resource Name (ARN) of the cluster. *
* * @return The namespace Amazon Resource Name (ARN) of the cluster. */ public String getClusterNamespaceArn() { return this.clusterNamespaceArn; } /** ** The namespace Amazon Resource Name (ARN) of the cluster. *
* * @param clusterNamespaceArn * The namespace Amazon Resource Name (ARN) of the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterNamespaceArn(String clusterNamespaceArn) { setClusterNamespaceArn(clusterNamespaceArn); return this; } /** ** The total storage capacity of the cluster in megabytes. *
* * @param totalStorageCapacityInMegaBytes * The total storage capacity of the cluster in megabytes. */ public void setTotalStorageCapacityInMegaBytes(Long totalStorageCapacityInMegaBytes) { this.totalStorageCapacityInMegaBytes = totalStorageCapacityInMegaBytes; } /** ** The total storage capacity of the cluster in megabytes. *
* * @return The total storage capacity of the cluster in megabytes. */ public Long getTotalStorageCapacityInMegaBytes() { return this.totalStorageCapacityInMegaBytes; } /** ** The total storage capacity of the cluster in megabytes. *
* * @param totalStorageCapacityInMegaBytes * The total storage capacity of the cluster in megabytes. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withTotalStorageCapacityInMegaBytes(Long totalStorageCapacityInMegaBytes) { setTotalStorageCapacityInMegaBytes(totalStorageCapacityInMegaBytes); return this; } /** ** This field is retired. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator). *
* * @param aquaConfiguration * This field is retired. Amazon Redshift automatically determines whether to use AQUA (Advanced Query * Accelerator). */ public void setAquaConfiguration(AquaConfiguration aquaConfiguration) { this.aquaConfiguration = aquaConfiguration; } /** ** This field is retired. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator). *
* * @return This field is retired. Amazon Redshift automatically determines whether to use AQUA (Advanced Query * Accelerator). */ public AquaConfiguration getAquaConfiguration() { return this.aquaConfiguration; } /** ** This field is retired. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator). *
* * @param aquaConfiguration * This field is retired. Amazon Redshift automatically determines whether to use AQUA (Advanced Query * Accelerator). * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withAquaConfiguration(AquaConfiguration aquaConfiguration) { setAquaConfiguration(aquaConfiguration); return this; } /** ** The Amazon Resource Name (ARN) for the IAM role set as default for the cluster. *
* * @param defaultIamRoleArn * The Amazon Resource Name (ARN) for the IAM role set as default for the cluster. */ public void setDefaultIamRoleArn(String defaultIamRoleArn) { this.defaultIamRoleArn = defaultIamRoleArn; } /** ** The Amazon Resource Name (ARN) for the IAM role set as default for the cluster. *
* * @return The Amazon Resource Name (ARN) for the IAM role set as default for the cluster. */ public String getDefaultIamRoleArn() { return this.defaultIamRoleArn; } /** ** The Amazon Resource Name (ARN) for the IAM role set as default for the cluster. *
* * @param defaultIamRoleArn * The Amazon Resource Name (ARN) for the IAM role set as default for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withDefaultIamRoleArn(String defaultIamRoleArn) { setDefaultIamRoleArn(defaultIamRoleArn); return this; } /** ** The status of the reserved-node exchange request. Statuses include in-progress and requested. *
* * @param reservedNodeExchangeStatus * The status of the reserved-node exchange request. Statuses include in-progress and requested. */ public void setReservedNodeExchangeStatus(ReservedNodeExchangeStatus reservedNodeExchangeStatus) { this.reservedNodeExchangeStatus = reservedNodeExchangeStatus; } /** ** The status of the reserved-node exchange request. Statuses include in-progress and requested. *
* * @return The status of the reserved-node exchange request. Statuses include in-progress and requested. */ public ReservedNodeExchangeStatus getReservedNodeExchangeStatus() { return this.reservedNodeExchangeStatus; } /** ** The status of the reserved-node exchange request. Statuses include in-progress and requested. *
* * @param reservedNodeExchangeStatus * The status of the reserved-node exchange request. Statuses include in-progress and requested. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withReservedNodeExchangeStatus(ReservedNodeExchangeStatus reservedNodeExchangeStatus) { setReservedNodeExchangeStatus(reservedNodeExchangeStatus); return this; } /** ** The custom domain name associated with the cluster. *
* * @param customDomainName * The custom domain name associated with the cluster. */ public void setCustomDomainName(String customDomainName) { this.customDomainName = customDomainName; } /** ** The custom domain name associated with the cluster. *
* * @return The custom domain name associated with the cluster. */ public String getCustomDomainName() { return this.customDomainName; } /** ** The custom domain name associated with the cluster. *
* * @param customDomainName * The custom domain name associated with the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withCustomDomainName(String customDomainName) { setCustomDomainName(customDomainName); return this; } /** ** The certificate Amazon Resource Name (ARN) for the custom domain name. *
* * @param customDomainCertificateArn * The certificate Amazon Resource Name (ARN) for the custom domain name. */ public void setCustomDomainCertificateArn(String customDomainCertificateArn) { this.customDomainCertificateArn = customDomainCertificateArn; } /** ** The certificate Amazon Resource Name (ARN) for the custom domain name. *
* * @return The certificate Amazon Resource Name (ARN) for the custom domain name. */ public String getCustomDomainCertificateArn() { return this.customDomainCertificateArn; } /** ** The certificate Amazon Resource Name (ARN) for the custom domain name. *
* * @param customDomainCertificateArn * The certificate Amazon Resource Name (ARN) for the custom domain name. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withCustomDomainCertificateArn(String customDomainCertificateArn) { setCustomDomainCertificateArn(customDomainCertificateArn); return this; } /** ** The expiration date for the certificate associated with the custom domain name. *
* * @param customDomainCertificateExpiryDate * The expiration date for the certificate associated with the custom domain name. */ public void setCustomDomainCertificateExpiryDate(java.util.Date customDomainCertificateExpiryDate) { this.customDomainCertificateExpiryDate = customDomainCertificateExpiryDate; } /** ** The expiration date for the certificate associated with the custom domain name. *
* * @return The expiration date for the certificate associated with the custom domain name. */ public java.util.Date getCustomDomainCertificateExpiryDate() { return this.customDomainCertificateExpiryDate; } /** ** The expiration date for the certificate associated with the custom domain name. *
* * @param customDomainCertificateExpiryDate * The expiration date for the certificate associated with the custom domain name. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withCustomDomainCertificateExpiryDate(java.util.Date customDomainCertificateExpiryDate) { setCustomDomainCertificateExpiryDate(customDomainCertificateExpiryDate); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getClusterIdentifier() != null) sb.append("ClusterIdentifier: ").append(getClusterIdentifier()).append(","); if (getNodeType() != null) sb.append("NodeType: ").append(getNodeType()).append(","); if (getClusterStatus() != null) sb.append("ClusterStatus: ").append(getClusterStatus()).append(","); if (getClusterAvailabilityStatus() != null) sb.append("ClusterAvailabilityStatus: ").append(getClusterAvailabilityStatus()).append(","); if (getModifyStatus() != null) sb.append("ModifyStatus: ").append(getModifyStatus()).append(","); if (getMasterUsername() != null) sb.append("MasterUsername: ").append(getMasterUsername()).append(","); if (getDBName() != null) sb.append("DBName: ").append(getDBName()).append(","); if (getEndpoint() != null) sb.append("Endpoint: ").append(getEndpoint()).append(","); if (getClusterCreateTime() != null) sb.append("ClusterCreateTime: ").append(getClusterCreateTime()).append(","); if (getAutomatedSnapshotRetentionPeriod() != null) sb.append("AutomatedSnapshotRetentionPeriod: ").append(getAutomatedSnapshotRetentionPeriod()).append(","); if (getManualSnapshotRetentionPeriod() != null) sb.append("ManualSnapshotRetentionPeriod: ").append(getManualSnapshotRetentionPeriod()).append(","); if (getClusterSecurityGroups() != null) sb.append("ClusterSecurityGroups: ").append(getClusterSecurityGroups()).append(","); if (getVpcSecurityGroups() != null) sb.append("VpcSecurityGroups: ").append(getVpcSecurityGroups()).append(","); if (getClusterParameterGroups() != null) sb.append("ClusterParameterGroups: ").append(getClusterParameterGroups()).append(","); if (getClusterSubnetGroupName() != null) sb.append("ClusterSubnetGroupName: ").append(getClusterSubnetGroupName()).append(","); if (getVpcId() != null) sb.append("VpcId: ").append(getVpcId()).append(","); if (getAvailabilityZone() != null) sb.append("AvailabilityZone: ").append(getAvailabilityZone()).append(","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(","); if (getPendingModifiedValues() != null) sb.append("PendingModifiedValues: ").append(getPendingModifiedValues()).append(","); if (getClusterVersion() != null) sb.append("ClusterVersion: ").append(getClusterVersion()).append(","); if (getAllowVersionUpgrade() != null) sb.append("AllowVersionUpgrade: ").append(getAllowVersionUpgrade()).append(","); if (getNumberOfNodes() != null) sb.append("NumberOfNodes: ").append(getNumberOfNodes()).append(","); if (getPubliclyAccessible() != null) sb.append("PubliclyAccessible: ").append(getPubliclyAccessible()).append(","); if (getEncrypted() != null) sb.append("Encrypted: ").append(getEncrypted()).append(","); if (getRestoreStatus() != null) sb.append("RestoreStatus: ").append(getRestoreStatus()).append(","); if (getDataTransferProgress() != null) sb.append("DataTransferProgress: ").append(getDataTransferProgress()).append(","); if (getHsmStatus() != null) sb.append("HsmStatus: ").append(getHsmStatus()).append(","); if (getClusterSnapshotCopyStatus() != null) sb.append("ClusterSnapshotCopyStatus: ").append(getClusterSnapshotCopyStatus()).append(","); if (getClusterPublicKey() != null) sb.append("ClusterPublicKey: ").append(getClusterPublicKey()).append(","); if (getClusterNodes() != null) sb.append("ClusterNodes: ").append(getClusterNodes()).append(","); if (getElasticIpStatus() != null) sb.append("ElasticIpStatus: ").append(getElasticIpStatus()).append(","); if (getClusterRevisionNumber() != null) sb.append("ClusterRevisionNumber: ").append(getClusterRevisionNumber()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getKmsKeyId() != null) sb.append("KmsKeyId: ").append(getKmsKeyId()).append(","); if (getEnhancedVpcRouting() != null) sb.append("EnhancedVpcRouting: ").append(getEnhancedVpcRouting()).append(","); if (getIamRoles() != null) sb.append("IamRoles: ").append(getIamRoles()).append(","); if (getPendingActions() != null) sb.append("PendingActions: ").append(getPendingActions()).append(","); if (getMaintenanceTrackName() != null) sb.append("MaintenanceTrackName: ").append(getMaintenanceTrackName()).append(","); if (getElasticResizeNumberOfNodeOptions() != null) sb.append("ElasticResizeNumberOfNodeOptions: ").append(getElasticResizeNumberOfNodeOptions()).append(","); if (getDeferredMaintenanceWindows() != null) sb.append("DeferredMaintenanceWindows: ").append(getDeferredMaintenanceWindows()).append(","); if (getSnapshotScheduleIdentifier() != null) sb.append("SnapshotScheduleIdentifier: ").append(getSnapshotScheduleIdentifier()).append(","); if (getSnapshotScheduleState() != null) sb.append("SnapshotScheduleState: ").append(getSnapshotScheduleState()).append(","); if (getExpectedNextSnapshotScheduleTime() != null) sb.append("ExpectedNextSnapshotScheduleTime: ").append(getExpectedNextSnapshotScheduleTime()).append(","); if (getExpectedNextSnapshotScheduleTimeStatus() != null) sb.append("ExpectedNextSnapshotScheduleTimeStatus: ").append(getExpectedNextSnapshotScheduleTimeStatus()).append(","); if (getNextMaintenanceWindowStartTime() != null) sb.append("NextMaintenanceWindowStartTime: ").append(getNextMaintenanceWindowStartTime()).append(","); if (getResizeInfo() != null) sb.append("ResizeInfo: ").append(getResizeInfo()).append(","); if (getAvailabilityZoneRelocationStatus() != null) sb.append("AvailabilityZoneRelocationStatus: ").append(getAvailabilityZoneRelocationStatus()).append(","); if (getClusterNamespaceArn() != null) sb.append("ClusterNamespaceArn: ").append(getClusterNamespaceArn()).append(","); if (getTotalStorageCapacityInMegaBytes() != null) sb.append("TotalStorageCapacityInMegaBytes: ").append(getTotalStorageCapacityInMegaBytes()).append(","); if (getAquaConfiguration() != null) sb.append("AquaConfiguration: ").append(getAquaConfiguration()).append(","); if (getDefaultIamRoleArn() != null) sb.append("DefaultIamRoleArn: ").append(getDefaultIamRoleArn()).append(","); if (getReservedNodeExchangeStatus() != null) sb.append("ReservedNodeExchangeStatus: ").append(getReservedNodeExchangeStatus()).append(","); if (getCustomDomainName() != null) sb.append("CustomDomainName: ").append(getCustomDomainName()).append(","); if (getCustomDomainCertificateArn() != null) sb.append("CustomDomainCertificateArn: ").append(getCustomDomainCertificateArn()).append(","); if (getCustomDomainCertificateExpiryDate() != null) sb.append("CustomDomainCertificateExpiryDate: ").append(getCustomDomainCertificateExpiryDate()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Cluster == false) return false; Cluster other = (Cluster) obj; if (other.getClusterIdentifier() == null ^ this.getClusterIdentifier() == null) return false; if (other.getClusterIdentifier() != null && other.getClusterIdentifier().equals(this.getClusterIdentifier()) == false) return false; if (other.getNodeType() == null ^ this.getNodeType() == null) return false; if (other.getNodeType() != null && other.getNodeType().equals(this.getNodeType()) == false) return false; if (other.getClusterStatus() == null ^ this.getClusterStatus() == null) return false; if (other.getClusterStatus() != null && other.getClusterStatus().equals(this.getClusterStatus()) == false) return false; if (other.getClusterAvailabilityStatus() == null ^ this.getClusterAvailabilityStatus() == null) return false; if (other.getClusterAvailabilityStatus() != null && other.getClusterAvailabilityStatus().equals(this.getClusterAvailabilityStatus()) == false) return false; if (other.getModifyStatus() == null ^ this.getModifyStatus() == null) return false; if (other.getModifyStatus() != null && other.getModifyStatus().equals(this.getModifyStatus()) == false) return false; if (other.getMasterUsername() == null ^ this.getMasterUsername() == null) return false; if (other.getMasterUsername() != null && other.getMasterUsername().equals(this.getMasterUsername()) == false) return false; if (other.getDBName() == null ^ this.getDBName() == null) return false; if (other.getDBName() != null && other.getDBName().equals(this.getDBName()) == false) return false; if (other.getEndpoint() == null ^ this.getEndpoint() == null) return false; if (other.getEndpoint() != null && other.getEndpoint().equals(this.getEndpoint()) == false) return false; if (other.getClusterCreateTime() == null ^ this.getClusterCreateTime() == null) return false; if (other.getClusterCreateTime() != null && other.getClusterCreateTime().equals(this.getClusterCreateTime()) == false) return false; if (other.getAutomatedSnapshotRetentionPeriod() == null ^ this.getAutomatedSnapshotRetentionPeriod() == null) return false; if (other.getAutomatedSnapshotRetentionPeriod() != null && other.getAutomatedSnapshotRetentionPeriod().equals(this.getAutomatedSnapshotRetentionPeriod()) == false) return false; if (other.getManualSnapshotRetentionPeriod() == null ^ this.getManualSnapshotRetentionPeriod() == null) return false; if (other.getManualSnapshotRetentionPeriod() != null && other.getManualSnapshotRetentionPeriod().equals(this.getManualSnapshotRetentionPeriod()) == false) return false; if (other.getClusterSecurityGroups() == null ^ this.getClusterSecurityGroups() == null) return false; if (other.getClusterSecurityGroups() != null && other.getClusterSecurityGroups().equals(this.getClusterSecurityGroups()) == false) return false; if (other.getVpcSecurityGroups() == null ^ this.getVpcSecurityGroups() == null) return false; if (other.getVpcSecurityGroups() != null && other.getVpcSecurityGroups().equals(this.getVpcSecurityGroups()) == false) return false; if (other.getClusterParameterGroups() == null ^ this.getClusterParameterGroups() == null) return false; if (other.getClusterParameterGroups() != null && other.getClusterParameterGroups().equals(this.getClusterParameterGroups()) == false) return false; if (other.getClusterSubnetGroupName() == null ^ this.getClusterSubnetGroupName() == null) return false; if (other.getClusterSubnetGroupName() != null && other.getClusterSubnetGroupName().equals(this.getClusterSubnetGroupName()) == false) return false; if (other.getVpcId() == null ^ this.getVpcId() == null) return false; if (other.getVpcId() != null && other.getVpcId().equals(this.getVpcId()) == false) return false; if (other.getAvailabilityZone() == null ^ this.getAvailabilityZone() == null) return false; if (other.getAvailabilityZone() != null && other.getAvailabilityZone().equals(this.getAvailabilityZone()) == false) return false; if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == false) return false; if (other.getPendingModifiedValues() == null ^ this.getPendingModifiedValues() == null) return false; if (other.getPendingModifiedValues() != null && other.getPendingModifiedValues().equals(this.getPendingModifiedValues()) == false) return false; if (other.getClusterVersion() == null ^ this.getClusterVersion() == null) return false; if (other.getClusterVersion() != null && other.getClusterVersion().equals(this.getClusterVersion()) == false) return false; if (other.getAllowVersionUpgrade() == null ^ this.getAllowVersionUpgrade() == null) return false; if (other.getAllowVersionUpgrade() != null && other.getAllowVersionUpgrade().equals(this.getAllowVersionUpgrade()) == false) return false; if (other.getNumberOfNodes() == null ^ this.getNumberOfNodes() == null) return false; if (other.getNumberOfNodes() != null && other.getNumberOfNodes().equals(this.getNumberOfNodes()) == false) return false; if (other.getPubliclyAccessible() == null ^ this.getPubliclyAccessible() == null) return false; if (other.getPubliclyAccessible() != null && other.getPubliclyAccessible().equals(this.getPubliclyAccessible()) == false) return false; if (other.getEncrypted() == null ^ this.getEncrypted() == null) return false; if (other.getEncrypted() != null && other.getEncrypted().equals(this.getEncrypted()) == false) return false; if (other.getRestoreStatus() == null ^ this.getRestoreStatus() == null) return false; if (other.getRestoreStatus() != null && other.getRestoreStatus().equals(this.getRestoreStatus()) == false) return false; if (other.getDataTransferProgress() == null ^ this.getDataTransferProgress() == null) return false; if (other.getDataTransferProgress() != null && other.getDataTransferProgress().equals(this.getDataTransferProgress()) == false) return false; if (other.getHsmStatus() == null ^ this.getHsmStatus() == null) return false; if (other.getHsmStatus() != null && other.getHsmStatus().equals(this.getHsmStatus()) == false) return false; if (other.getClusterSnapshotCopyStatus() == null ^ this.getClusterSnapshotCopyStatus() == null) return false; if (other.getClusterSnapshotCopyStatus() != null && other.getClusterSnapshotCopyStatus().equals(this.getClusterSnapshotCopyStatus()) == false) return false; if (other.getClusterPublicKey() == null ^ this.getClusterPublicKey() == null) return false; if (other.getClusterPublicKey() != null && other.getClusterPublicKey().equals(this.getClusterPublicKey()) == false) return false; if (other.getClusterNodes() == null ^ this.getClusterNodes() == null) return false; if (other.getClusterNodes() != null && other.getClusterNodes().equals(this.getClusterNodes()) == false) return false; if (other.getElasticIpStatus() == null ^ this.getElasticIpStatus() == null) return false; if (other.getElasticIpStatus() != null && other.getElasticIpStatus().equals(this.getElasticIpStatus()) == false) return false; if (other.getClusterRevisionNumber() == null ^ this.getClusterRevisionNumber() == null) return false; if (other.getClusterRevisionNumber() != null && other.getClusterRevisionNumber().equals(this.getClusterRevisionNumber()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null) return false; if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false) return false; if (other.getEnhancedVpcRouting() == null ^ this.getEnhancedVpcRouting() == null) return false; if (other.getEnhancedVpcRouting() != null && other.getEnhancedVpcRouting().equals(this.getEnhancedVpcRouting()) == false) return false; if (other.getIamRoles() == null ^ this.getIamRoles() == null) return false; if (other.getIamRoles() != null && other.getIamRoles().equals(this.getIamRoles()) == false) return false; if (other.getPendingActions() == null ^ this.getPendingActions() == null) return false; if (other.getPendingActions() != null && other.getPendingActions().equals(this.getPendingActions()) == false) return false; if (other.getMaintenanceTrackName() == null ^ this.getMaintenanceTrackName() == null) return false; if (other.getMaintenanceTrackName() != null && other.getMaintenanceTrackName().equals(this.getMaintenanceTrackName()) == false) return false; if (other.getElasticResizeNumberOfNodeOptions() == null ^ this.getElasticResizeNumberOfNodeOptions() == null) return false; if (other.getElasticResizeNumberOfNodeOptions() != null && other.getElasticResizeNumberOfNodeOptions().equals(this.getElasticResizeNumberOfNodeOptions()) == false) return false; if (other.getDeferredMaintenanceWindows() == null ^ this.getDeferredMaintenanceWindows() == null) return false; if (other.getDeferredMaintenanceWindows() != null && other.getDeferredMaintenanceWindows().equals(this.getDeferredMaintenanceWindows()) == false) return false; if (other.getSnapshotScheduleIdentifier() == null ^ this.getSnapshotScheduleIdentifier() == null) return false; if (other.getSnapshotScheduleIdentifier() != null && other.getSnapshotScheduleIdentifier().equals(this.getSnapshotScheduleIdentifier()) == false) return false; if (other.getSnapshotScheduleState() == null ^ this.getSnapshotScheduleState() == null) return false; if (other.getSnapshotScheduleState() != null && other.getSnapshotScheduleState().equals(this.getSnapshotScheduleState()) == false) return false; if (other.getExpectedNextSnapshotScheduleTime() == null ^ this.getExpectedNextSnapshotScheduleTime() == null) return false; if (other.getExpectedNextSnapshotScheduleTime() != null && other.getExpectedNextSnapshotScheduleTime().equals(this.getExpectedNextSnapshotScheduleTime()) == false) return false; if (other.getExpectedNextSnapshotScheduleTimeStatus() == null ^ this.getExpectedNextSnapshotScheduleTimeStatus() == null) return false; if (other.getExpectedNextSnapshotScheduleTimeStatus() != null && other.getExpectedNextSnapshotScheduleTimeStatus().equals(this.getExpectedNextSnapshotScheduleTimeStatus()) == false) return false; if (other.getNextMaintenanceWindowStartTime() == null ^ this.getNextMaintenanceWindowStartTime() == null) return false; if (other.getNextMaintenanceWindowStartTime() != null && other.getNextMaintenanceWindowStartTime().equals(this.getNextMaintenanceWindowStartTime()) == false) return false; if (other.getResizeInfo() == null ^ this.getResizeInfo() == null) return false; if (other.getResizeInfo() != null && other.getResizeInfo().equals(this.getResizeInfo()) == false) return false; if (other.getAvailabilityZoneRelocationStatus() == null ^ this.getAvailabilityZoneRelocationStatus() == null) return false; if (other.getAvailabilityZoneRelocationStatus() != null && other.getAvailabilityZoneRelocationStatus().equals(this.getAvailabilityZoneRelocationStatus()) == false) return false; if (other.getClusterNamespaceArn() == null ^ this.getClusterNamespaceArn() == null) return false; if (other.getClusterNamespaceArn() != null && other.getClusterNamespaceArn().equals(this.getClusterNamespaceArn()) == false) return false; if (other.getTotalStorageCapacityInMegaBytes() == null ^ this.getTotalStorageCapacityInMegaBytes() == null) return false; if (other.getTotalStorageCapacityInMegaBytes() != null && other.getTotalStorageCapacityInMegaBytes().equals(this.getTotalStorageCapacityInMegaBytes()) == false) return false; if (other.getAquaConfiguration() == null ^ this.getAquaConfiguration() == null) return false; if (other.getAquaConfiguration() != null && other.getAquaConfiguration().equals(this.getAquaConfiguration()) == false) return false; if (other.getDefaultIamRoleArn() == null ^ this.getDefaultIamRoleArn() == null) return false; if (other.getDefaultIamRoleArn() != null && other.getDefaultIamRoleArn().equals(this.getDefaultIamRoleArn()) == false) return false; if (other.getReservedNodeExchangeStatus() == null ^ this.getReservedNodeExchangeStatus() == null) return false; if (other.getReservedNodeExchangeStatus() != null && other.getReservedNodeExchangeStatus().equals(this.getReservedNodeExchangeStatus()) == false) return false; if (other.getCustomDomainName() == null ^ this.getCustomDomainName() == null) return false; if (other.getCustomDomainName() != null && other.getCustomDomainName().equals(this.getCustomDomainName()) == false) return false; if (other.getCustomDomainCertificateArn() == null ^ this.getCustomDomainCertificateArn() == null) return false; if (other.getCustomDomainCertificateArn() != null && other.getCustomDomainCertificateArn().equals(this.getCustomDomainCertificateArn()) == false) return false; if (other.getCustomDomainCertificateExpiryDate() == null ^ this.getCustomDomainCertificateExpiryDate() == null) return false; if (other.getCustomDomainCertificateExpiryDate() != null && other.getCustomDomainCertificateExpiryDate().equals(this.getCustomDomainCertificateExpiryDate()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getClusterIdentifier() == null) ? 0 : getClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getNodeType() == null) ? 0 : getNodeType().hashCode()); hashCode = prime * hashCode + ((getClusterStatus() == null) ? 0 : getClusterStatus().hashCode()); hashCode = prime * hashCode + ((getClusterAvailabilityStatus() == null) ? 0 : getClusterAvailabilityStatus().hashCode()); hashCode = prime * hashCode + ((getModifyStatus() == null) ? 0 : getModifyStatus().hashCode()); hashCode = prime * hashCode + ((getMasterUsername() == null) ? 0 : getMasterUsername().hashCode()); hashCode = prime * hashCode + ((getDBName() == null) ? 0 : getDBName().hashCode()); hashCode = prime * hashCode + ((getEndpoint() == null) ? 0 : getEndpoint().hashCode()); hashCode = prime * hashCode + ((getClusterCreateTime() == null) ? 0 : getClusterCreateTime().hashCode()); hashCode = prime * hashCode + ((getAutomatedSnapshotRetentionPeriod() == null) ? 0 : getAutomatedSnapshotRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getManualSnapshotRetentionPeriod() == null) ? 0 : getManualSnapshotRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getClusterSecurityGroups() == null) ? 0 : getClusterSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getVpcSecurityGroups() == null) ? 0 : getVpcSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getClusterParameterGroups() == null) ? 0 : getClusterParameterGroups().hashCode()); hashCode = prime * hashCode + ((getClusterSubnetGroupName() == null) ? 0 : getClusterSubnetGroupName().hashCode()); hashCode = prime * hashCode + ((getVpcId() == null) ? 0 : getVpcId().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone().hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getPendingModifiedValues() == null) ? 0 : getPendingModifiedValues().hashCode()); hashCode = prime * hashCode + ((getClusterVersion() == null) ? 0 : getClusterVersion().hashCode()); hashCode = prime * hashCode + ((getAllowVersionUpgrade() == null) ? 0 : getAllowVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes().hashCode()); hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode()); hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode()); hashCode = prime * hashCode + ((getRestoreStatus() == null) ? 0 : getRestoreStatus().hashCode()); hashCode = prime * hashCode + ((getDataTransferProgress() == null) ? 0 : getDataTransferProgress().hashCode()); hashCode = prime * hashCode + ((getHsmStatus() == null) ? 0 : getHsmStatus().hashCode()); hashCode = prime * hashCode + ((getClusterSnapshotCopyStatus() == null) ? 0 : getClusterSnapshotCopyStatus().hashCode()); hashCode = prime * hashCode + ((getClusterPublicKey() == null) ? 0 : getClusterPublicKey().hashCode()); hashCode = prime * hashCode + ((getClusterNodes() == null) ? 0 : getClusterNodes().hashCode()); hashCode = prime * hashCode + ((getElasticIpStatus() == null) ? 0 : getElasticIpStatus().hashCode()); hashCode = prime * hashCode + ((getClusterRevisionNumber() == null) ? 0 : getClusterRevisionNumber().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getEnhancedVpcRouting() == null) ? 0 : getEnhancedVpcRouting().hashCode()); hashCode = prime * hashCode + ((getIamRoles() == null) ? 0 : getIamRoles().hashCode()); hashCode = prime * hashCode + ((getPendingActions() == null) ? 0 : getPendingActions().hashCode()); hashCode = prime * hashCode + ((getMaintenanceTrackName() == null) ? 0 : getMaintenanceTrackName().hashCode()); hashCode = prime * hashCode + ((getElasticResizeNumberOfNodeOptions() == null) ? 0 : getElasticResizeNumberOfNodeOptions().hashCode()); hashCode = prime * hashCode + ((getDeferredMaintenanceWindows() == null) ? 0 : getDeferredMaintenanceWindows().hashCode()); hashCode = prime * hashCode + ((getSnapshotScheduleIdentifier() == null) ? 0 : getSnapshotScheduleIdentifier().hashCode()); hashCode = prime * hashCode + ((getSnapshotScheduleState() == null) ? 0 : getSnapshotScheduleState().hashCode()); hashCode = prime * hashCode + ((getExpectedNextSnapshotScheduleTime() == null) ? 0 : getExpectedNextSnapshotScheduleTime().hashCode()); hashCode = prime * hashCode + ((getExpectedNextSnapshotScheduleTimeStatus() == null) ? 0 : getExpectedNextSnapshotScheduleTimeStatus().hashCode()); hashCode = prime * hashCode + ((getNextMaintenanceWindowStartTime() == null) ? 0 : getNextMaintenanceWindowStartTime().hashCode()); hashCode = prime * hashCode + ((getResizeInfo() == null) ? 0 : getResizeInfo().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZoneRelocationStatus() == null) ? 0 : getAvailabilityZoneRelocationStatus().hashCode()); hashCode = prime * hashCode + ((getClusterNamespaceArn() == null) ? 0 : getClusterNamespaceArn().hashCode()); hashCode = prime * hashCode + ((getTotalStorageCapacityInMegaBytes() == null) ? 0 : getTotalStorageCapacityInMegaBytes().hashCode()); hashCode = prime * hashCode + ((getAquaConfiguration() == null) ? 0 : getAquaConfiguration().hashCode()); hashCode = prime * hashCode + ((getDefaultIamRoleArn() == null) ? 0 : getDefaultIamRoleArn().hashCode()); hashCode = prime * hashCode + ((getReservedNodeExchangeStatus() == null) ? 0 : getReservedNodeExchangeStatus().hashCode()); hashCode = prime * hashCode + ((getCustomDomainName() == null) ? 0 : getCustomDomainName().hashCode()); hashCode = prime * hashCode + ((getCustomDomainCertificateArn() == null) ? 0 : getCustomDomainCertificateArn().hashCode()); hashCode = prime * hashCode + ((getCustomDomainCertificateExpiryDate() == null) ? 0 : getCustomDomainCertificateExpiryDate().hashCode()); return hashCode; } @Override public Cluster clone() { try { return (Cluster) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }