All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.securityhub.model.AwsRedshiftClusterDetails Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS SecurityHub module holds the client classes that are used for communicating with AWS SecurityHub Service

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2017-2022 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.securityhub.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Details about an Amazon Redshift cluster. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AwsRedshiftClusterDetails implements Serializable, Cloneable, StructuredPojo { /** *

* Indicates whether major version upgrades are applied automatically to the cluster during the maintenance window. *

*/ private Boolean allowVersionUpgrade; /** *

* The number of days that automatic cluster snapshots are retained. *

*/ private Integer automatedSnapshotRetentionPeriod; /** *

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

*/ private String availabilityZone; /** *

* 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. *

    *
  • *
*/ private String clusterAvailabilityStatus; /** *

* Indicates when the cluster was created. *

*

* Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

*/ private String clusterCreateTime; /** *

* The unique identifier of the cluster. *

*/ private String clusterIdentifier; /** *

* The nodes in the cluster. *

*/ private java.util.List clusterNodes; /** *

* The list of cluster parameter groups that are associated with this cluster. *

*/ private java.util.List clusterParameterGroups; /** *

* The public key for the cluster. *

*/ private String clusterPublicKey; /** *

* The specific revision number of the database in the cluster. *

*/ private String clusterRevisionNumber; /** *

* A list of cluster security groups that are associated with the cluster. *

*/ private java.util.List clusterSecurityGroups; /** *

* Information about the destination Region and retention period for the cross-Region snapshot copy. *

*/ private AwsRedshiftClusterClusterSnapshotCopyStatus clusterSnapshotCopyStatus; /** *

* The current status of the cluster. *

*

* Valid values: 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 *

*/ private String clusterStatus; /** *

* 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 version ID of the Amazon Redshift engine that runs on the cluster. *

*/ private String clusterVersion; /** *

* The name of the initial database that was created when the cluster was created. *

*

* The same name is returned for the life of the cluster. *

*

* If an initial database is not specified, a database named devdev is created by default. *

*/ private String dBName; /** *

* List of time windows during which maintenance was deferred. *

*/ private java.util.List deferredMaintenanceWindows; /** *

* Information about the status of the Elastic IP (EIP) address. *

*/ private AwsRedshiftClusterElasticIpStatus elasticIpStatus; /** *

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

*/ private String elasticResizeNumberOfNodeOptions; /** *

* Indicates whether the data in the cluster is encrypted at rest. *

*/ private Boolean encrypted; /** *

* The connection endpoint. *

*/ private AwsRedshiftClusterEndpoint endpoint; /** *

* Indicates whether to create the cluster with enhanced VPC routing enabled. *

*/ private Boolean enhancedVpcRouting; /** *

* Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule and * have backups enabled. *

*

* Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

*/ private String expectedNextSnapshotScheduleTime; /** *

* The status of the next expected snapshot. *

*

* Valid values: OnTrack | Pending *

*/ private String expectedNextSnapshotScheduleTimeStatus; /** *

* Information about whether the Amazon Redshift cluster finished applying any changes to hardware security module * (HSM) settings that were specified in a modify cluster command. *

*/ private AwsRedshiftClusterHsmStatus hsmStatus; /** *

* A list of IAM roles that the cluster can use to access other Amazon Web Services services. *

*/ private java.util.List iamRoles; /** *

* The identifier of the KMS encryption key that is used to encrypt data in the cluster. *

*/ private String kmsKeyId; /** *

* The name of the maintenance track for the cluster. *

*/ private String maintenanceTrackName; /** *

* 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. *

*

* Valid values: Either -1 or an integer between 1 and 3,653 *

*/ private Integer manualSnapshotRetentionPeriod; /** *

* The master user name for the cluster. This name is used to connect to the database that is specified in as the * value of DBName. *

*/ private String masterUsername; /** *

* Indicates the start of the next maintenance window. *

*

* Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

*/ private String nextMaintenanceWindowStartTime; /** *

* The node type for the nodes in the cluster. *

*/ private String nodeType; /** *

* The number of compute nodes in the cluster. *

*/ private Integer numberOfNodes; /** *

* A list of cluster operations that are waiting to start. *

*/ private java.util.List pendingActions; /** *

* A list of changes to the cluster that are currently pending. *

*/ private AwsRedshiftClusterPendingModifiedValues pendingModifiedValues; /** *

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

*

* Format: <day>:HH:MM-<day>:HH:MM *

*

* For the day values, use mon | tue | wed | thu | * fri | sat | sun *

*

* For example, sun:09:32-sun:10:02 *

*/ private String preferredMaintenanceWindow; /** *

* Whether the cluster can be accessed from a public network. *

*/ private Boolean publiclyAccessible; /** *

* Information about the resize operation for the cluster. *

*/ private AwsRedshiftClusterResizeInfo resizeInfo; /** *

* Information about the status of a cluster restore action. Only applies to a cluster that was created by restoring * a snapshot. *

*/ private AwsRedshiftClusterRestoreStatus restoreStatus; /** *

* A unique identifier for the cluster snapshot schedule. *

*/ private String snapshotScheduleIdentifier; /** *

* The current state of the cluster snapshot schedule. *

*

* Valid values: MODIFYING | ACTIVE | FAILED *

*/ private String snapshotScheduleState; /** *

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

*/ private String vpcId; /** *

* The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. *

*/ private java.util.List vpcSecurityGroups; /** *

* Indicates whether major version upgrades are applied automatically to the cluster during the maintenance window. *

* * @param allowVersionUpgrade * Indicates whether major version upgrades are applied automatically to the cluster during the maintenance * window. */ public void setAllowVersionUpgrade(Boolean allowVersionUpgrade) { this.allowVersionUpgrade = allowVersionUpgrade; } /** *

* Indicates whether major version upgrades are applied automatically to the cluster during the maintenance window. *

* * @return Indicates whether major version upgrades are applied automatically to the cluster during the maintenance * window. */ public Boolean getAllowVersionUpgrade() { return this.allowVersionUpgrade; } /** *

* Indicates whether major version upgrades are applied automatically to the cluster during the maintenance window. *

* * @param allowVersionUpgrade * Indicates whether major version upgrades are 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 AwsRedshiftClusterDetails withAllowVersionUpgrade(Boolean allowVersionUpgrade) { setAllowVersionUpgrade(allowVersionUpgrade); return this; } /** *

* Indicates whether major version upgrades are applied automatically to the cluster during the maintenance window. *

* * @return Indicates whether major version upgrades are applied automatically to the cluster during the maintenance * window. */ public Boolean isAllowVersionUpgrade() { return this.allowVersionUpgrade; } /** *

* 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 AwsRedshiftClusterDetails withAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) { setAutomatedSnapshotRetentionPeriod(automatedSnapshotRetentionPeriod); return this; } /** *

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

* * @param availabilityZone * The name of the Availability Zone in which the cluster is located. */ public void setAvailabilityZone(String availabilityZone) { this.availabilityZone = availabilityZone; } /** *

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

* * @return The name of the Availability Zone in which the cluster is located. */ public String getAvailabilityZone() { return this.availabilityZone; } /** *

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

* * @param availabilityZone * The name of the Availability Zone in which the cluster is located. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withAvailabilityZone(String availabilityZone) { setAvailabilityZone(availabilityZone); return this; } /** *

* 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. *

    *
  • *
* * @param clusterAvailabilityStatus * The availability status of the cluster for queries. Possible values are the following:

*
    *
  • *

    * Available - The cluster is available for queries. *

    *
  • *
  • *

    * Unavailable - The cluster is not available for queries. *

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • */ public void setClusterAvailabilityStatus(String clusterAvailabilityStatus) { this.clusterAvailabilityStatus = clusterAvailabilityStatus; } /** *

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

    *
      *
    • *

      * Available - The cluster is available for queries. *

      *
    • *
    • *

      * Unavailable - The cluster is not available for queries. *

      *
    • *
    • *

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

      *
    • *
    • *

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

      *
    • *
    • *

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

      *
    • *
    * * @return 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. *

      *
    • */ public String getClusterAvailabilityStatus() { return this.clusterAvailabilityStatus; } /** *

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

      *
        *
      • *

        * Available - The cluster is available for queries. *

        *
      • *
      • *

        * Unavailable - The cluster is not available for queries. *

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      * * @param clusterAvailabilityStatus * The availability status of the cluster for queries. Possible values are the following:

      *
        *
      • *

        * Available - The cluster is available for queries. *

        *
      • *
      • *

        * Unavailable - The cluster is not available for queries. *

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterAvailabilityStatus(String clusterAvailabilityStatus) { setClusterAvailabilityStatus(clusterAvailabilityStatus); return this; } /** *

        * Indicates when the cluster was created. *

        *

        * Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

        * * @param clusterCreateTime * Indicates when the cluster was created.

        *

        * Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. */ public void setClusterCreateTime(String clusterCreateTime) { this.clusterCreateTime = clusterCreateTime; } /** *

        * Indicates when the cluster was created. *

        *

        * Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

        * * @return Indicates when the cluster was created.

        *

        * Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. */ public String getClusterCreateTime() { return this.clusterCreateTime; } /** *

        * Indicates when the cluster was created. *

        *

        * Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

        * * @param clusterCreateTime * Indicates when the cluster was created.

        *

        * Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterCreateTime(String clusterCreateTime) { setClusterCreateTime(clusterCreateTime); return this; } /** *

        * 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 AwsRedshiftClusterDetails withClusterIdentifier(String clusterIdentifier) { setClusterIdentifier(clusterIdentifier); return this; } /** *

        * The nodes in the cluster. *

        * * @return The nodes in the cluster. */ public java.util.List getClusterNodes() { return clusterNodes; } /** *

        * The nodes in the cluster. *

        * * @param clusterNodes * The nodes in the cluster. */ public void setClusterNodes(java.util.Collection clusterNodes) { if (clusterNodes == null) { this.clusterNodes = null; return; } this.clusterNodes = new java.util.ArrayList(clusterNodes); } /** *

        * 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 AwsRedshiftClusterDetails withClusterNodes(AwsRedshiftClusterClusterNode... clusterNodes) { if (this.clusterNodes == null) { setClusterNodes(new java.util.ArrayList(clusterNodes.length)); } for (AwsRedshiftClusterClusterNode ele : clusterNodes) { this.clusterNodes.add(ele); } return this; } /** *

        * 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 AwsRedshiftClusterDetails withClusterNodes(java.util.Collection clusterNodes) { setClusterNodes(clusterNodes); return this; } /** *

        * The list of cluster parameter groups that are associated with this cluster. *

        * * @return The list of cluster parameter groups that are associated with this cluster. */ public java.util.List getClusterParameterGroups() { return clusterParameterGroups; } /** *

        * The list of cluster parameter groups that are associated with this cluster. *

        * * @param clusterParameterGroups * The list of cluster parameter groups that are associated with this cluster. */ public void setClusterParameterGroups(java.util.Collection clusterParameterGroups) { if (clusterParameterGroups == null) { this.clusterParameterGroups = null; return; } this.clusterParameterGroups = new java.util.ArrayList(clusterParameterGroups); } /** *

        * The list of cluster parameter groups that are associated with this cluster. *

        *

        * 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. *

        * * @param clusterParameterGroups * The list of cluster parameter groups that are associated with this cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterParameterGroups(AwsRedshiftClusterClusterParameterGroup... clusterParameterGroups) { if (this.clusterParameterGroups == null) { setClusterParameterGroups(new java.util.ArrayList(clusterParameterGroups.length)); } for (AwsRedshiftClusterClusterParameterGroup ele : clusterParameterGroups) { this.clusterParameterGroups.add(ele); } return this; } /** *

        * The list of cluster parameter groups that are associated with this cluster. *

        * * @param clusterParameterGroups * The list of cluster parameter groups that are associated with this cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterParameterGroups(java.util.Collection clusterParameterGroups) { setClusterParameterGroups(clusterParameterGroups); 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 AwsRedshiftClusterDetails withClusterPublicKey(String clusterPublicKey) { setClusterPublicKey(clusterPublicKey); 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 AwsRedshiftClusterDetails withClusterRevisionNumber(String clusterRevisionNumber) { setClusterRevisionNumber(clusterRevisionNumber); return this; } /** *

        * A list of cluster security groups that are associated with the cluster. *

        * * @return A list of cluster security groups that are associated with the cluster. */ public java.util.List getClusterSecurityGroups() { return clusterSecurityGroups; } /** *

        * A list of cluster security groups that are associated with the cluster. *

        * * @param clusterSecurityGroups * A list of cluster security groups that are associated with the cluster. */ public void setClusterSecurityGroups(java.util.Collection clusterSecurityGroups) { if (clusterSecurityGroups == null) { this.clusterSecurityGroups = null; return; } this.clusterSecurityGroups = new java.util.ArrayList(clusterSecurityGroups); } /** *

        * A list of cluster security groups that are associated with the cluster. *

        *

        * 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. *

        * * @param clusterSecurityGroups * A list of cluster security groups that are associated with the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterSecurityGroups(AwsRedshiftClusterClusterSecurityGroup... clusterSecurityGroups) { if (this.clusterSecurityGroups == null) { setClusterSecurityGroups(new java.util.ArrayList(clusterSecurityGroups.length)); } for (AwsRedshiftClusterClusterSecurityGroup ele : clusterSecurityGroups) { this.clusterSecurityGroups.add(ele); } return this; } /** *

        * A list of cluster security groups that are associated with the cluster. *

        * * @param clusterSecurityGroups * A list of cluster security groups that are associated with the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterSecurityGroups(java.util.Collection clusterSecurityGroups) { setClusterSecurityGroups(clusterSecurityGroups); return this; } /** *

        * Information about the destination Region and retention period for the cross-Region snapshot copy. *

        * * @param clusterSnapshotCopyStatus * Information about the destination Region and retention period for the cross-Region snapshot copy. */ public void setClusterSnapshotCopyStatus(AwsRedshiftClusterClusterSnapshotCopyStatus clusterSnapshotCopyStatus) { this.clusterSnapshotCopyStatus = clusterSnapshotCopyStatus; } /** *

        * Information about the destination Region and retention period for the cross-Region snapshot copy. *

        * * @return Information about the destination Region and retention period for the cross-Region snapshot copy. */ public AwsRedshiftClusterClusterSnapshotCopyStatus getClusterSnapshotCopyStatus() { return this.clusterSnapshotCopyStatus; } /** *

        * Information about the destination Region and retention period for the cross-Region snapshot copy. *

        * * @param clusterSnapshotCopyStatus * Information about the destination Region and retention period for the cross-Region snapshot copy. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterSnapshotCopyStatus(AwsRedshiftClusterClusterSnapshotCopyStatus clusterSnapshotCopyStatus) { setClusterSnapshotCopyStatus(clusterSnapshotCopyStatus); return this; } /** *

        * The current status of the cluster. *

        *

        * Valid values: 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 *

        * * @param clusterStatus * The current status of the cluster.

        *

        * Valid values: 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 */ public void setClusterStatus(String clusterStatus) { this.clusterStatus = clusterStatus; } /** *

        * The current status of the cluster. *

        *

        * Valid values: 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 *

        * * @return The current status of the cluster.

        *

        * Valid values: 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 */ public String getClusterStatus() { return this.clusterStatus; } /** *

        * The current status of the cluster. *

        *

        * Valid values: 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 *

        * * @param clusterStatus * The current status of the cluster.

        *

        * Valid values: 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 * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterStatus(String clusterStatus) { setClusterStatus(clusterStatus); return this; } /** *

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

        * * @param clusterSubnetGroupName * The name of the subnet group that is associated with the cluster. This parameter is valid only when the * cluster is in a VPC. */ public void setClusterSubnetGroupName(String clusterSubnetGroupName) { this.clusterSubnetGroupName = clusterSubnetGroupName; } /** *

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

        * * @return The name of the subnet group that is associated with the cluster. This parameter is valid only when the * cluster is in a VPC. */ public String getClusterSubnetGroupName() { return this.clusterSubnetGroupName; } /** *

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

        * * @param clusterSubnetGroupName * The name of the subnet group that is associated with the cluster. This parameter is valid only when the * cluster is in a VPC. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterSubnetGroupName(String clusterSubnetGroupName) { setClusterSubnetGroupName(clusterSubnetGroupName); return this; } /** *

        * The version ID of the Amazon Redshift engine that runs on the cluster. *

        * * @param clusterVersion * The version ID of the Amazon Redshift engine that runs on the cluster. */ public void setClusterVersion(String clusterVersion) { this.clusterVersion = clusterVersion; } /** *

        * The version ID of the Amazon Redshift engine that runs on the cluster. *

        * * @return The version ID of the Amazon Redshift engine that runs on the cluster. */ public String getClusterVersion() { return this.clusterVersion; } /** *

        * The version ID of the Amazon Redshift engine that runs on the cluster. *

        * * @param clusterVersion * The version ID of the Amazon Redshift engine that runs on the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withClusterVersion(String clusterVersion) { setClusterVersion(clusterVersion); return this; } /** *

        * The name of the initial database that was created when the cluster was created. *

        *

        * The same name is returned for the life of the cluster. *

        *

        * If an initial database is not specified, a database named devdev is created by default. *

        * * @param dBName * The name of the initial database that was created when the cluster was created.

        *

        * The same name is returned for the life of the cluster. *

        *

        * If an initial database is not specified, a database named devdev is 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. *

        *

        * The same name is returned for the life of the cluster. *

        *

        * If an initial database is not specified, a database named devdev is created by default. *

        * * @return The name of the initial database that was created when the cluster was created.

        *

        * The same name is returned for the life of the cluster. *

        *

        * If an initial database is not specified, a database named devdev is created by default. */ public String getDBName() { return this.dBName; } /** *

        * The name of the initial database that was created when the cluster was created. *

        *

        * The same name is returned for the life of the cluster. *

        *

        * If an initial database is not specified, a database named devdev is created by default. *

        * * @param dBName * The name of the initial database that was created when the cluster was created.

        *

        * The same name is returned for the life of the cluster. *

        *

        * If an initial database is not specified, a database named devdev is created by default. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withDBName(String dBName) { setDBName(dBName); return this; } /** *

        * List of time windows during which maintenance was deferred. *

        * * @return List of time windows during which maintenance was deferred. */ public java.util.List getDeferredMaintenanceWindows() { return deferredMaintenanceWindows; } /** *

        * List of time windows during which maintenance was deferred. *

        * * @param deferredMaintenanceWindows * List of time windows during which maintenance was deferred. */ public void setDeferredMaintenanceWindows(java.util.Collection deferredMaintenanceWindows) { if (deferredMaintenanceWindows == null) { this.deferredMaintenanceWindows = null; return; } this.deferredMaintenanceWindows = new java.util.ArrayList(deferredMaintenanceWindows); } /** *

        * List of time windows during which maintenance was deferred. *

        *

        * 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 * List of time windows during which maintenance was deferred. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withDeferredMaintenanceWindows(AwsRedshiftClusterDeferredMaintenanceWindow... deferredMaintenanceWindows) { if (this.deferredMaintenanceWindows == null) { setDeferredMaintenanceWindows(new java.util.ArrayList(deferredMaintenanceWindows.length)); } for (AwsRedshiftClusterDeferredMaintenanceWindow ele : deferredMaintenanceWindows) { this.deferredMaintenanceWindows.add(ele); } return this; } /** *

        * List of time windows during which maintenance was deferred. *

        * * @param deferredMaintenanceWindows * List of time windows during which maintenance was deferred. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withDeferredMaintenanceWindows(java.util.Collection deferredMaintenanceWindows) { setDeferredMaintenanceWindows(deferredMaintenanceWindows); return this; } /** *

        * Information about the status of the Elastic IP (EIP) address. *

        * * @param elasticIpStatus * Information about the status of the Elastic IP (EIP) address. */ public void setElasticIpStatus(AwsRedshiftClusterElasticIpStatus elasticIpStatus) { this.elasticIpStatus = elasticIpStatus; } /** *

        * Information about the status of the Elastic IP (EIP) address. *

        * * @return Information about the status of the Elastic IP (EIP) address. */ public AwsRedshiftClusterElasticIpStatus getElasticIpStatus() { return this.elasticIpStatus; } /** *

        * Information about the status of the Elastic IP (EIP) address. *

        * * @param elasticIpStatus * Information about the status of the Elastic IP (EIP) address. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withElasticIpStatus(AwsRedshiftClusterElasticIpStatus elasticIpStatus) { setElasticIpStatus(elasticIpStatus); return this; } /** *

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

        * * @param elasticResizeNumberOfNodeOptions * The number of nodes that you can use the elastic resize method to resize the cluster to. */ public void setElasticResizeNumberOfNodeOptions(String elasticResizeNumberOfNodeOptions) { this.elasticResizeNumberOfNodeOptions = elasticResizeNumberOfNodeOptions; } /** *

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

        * * @return The number of nodes that you can use the elastic resize method to resize the cluster to. */ public String getElasticResizeNumberOfNodeOptions() { return this.elasticResizeNumberOfNodeOptions; } /** *

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

        * * @param elasticResizeNumberOfNodeOptions * The number of nodes that you can use the elastic resize method to resize the cluster to. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withElasticResizeNumberOfNodeOptions(String elasticResizeNumberOfNodeOptions) { setElasticResizeNumberOfNodeOptions(elasticResizeNumberOfNodeOptions); return this; } /** *

        * Indicates whether the data in the cluster is encrypted at rest. *

        * * @param encrypted * Indicates whether the data in the cluster is encrypted at rest. */ public void setEncrypted(Boolean encrypted) { this.encrypted = encrypted; } /** *

        * Indicates whether the data in the cluster is encrypted at rest. *

        * * @return Indicates whether the data in the cluster is encrypted at rest. */ public Boolean getEncrypted() { return this.encrypted; } /** *

        * Indicates whether the data in the cluster is encrypted at rest. *

        * * @param encrypted * Indicates whether the data in the cluster is encrypted at rest. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withEncrypted(Boolean encrypted) { setEncrypted(encrypted); return this; } /** *

        * Indicates whether the data in the cluster is encrypted at rest. *

        * * @return Indicates whether the data in the cluster is encrypted at rest. */ public Boolean isEncrypted() { return this.encrypted; } /** *

        * The connection endpoint. *

        * * @param endpoint * The connection endpoint. */ public void setEndpoint(AwsRedshiftClusterEndpoint endpoint) { this.endpoint = endpoint; } /** *

        * The connection endpoint. *

        * * @return The connection endpoint. */ public AwsRedshiftClusterEndpoint 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 AwsRedshiftClusterDetails withEndpoint(AwsRedshiftClusterEndpoint endpoint) { setEndpoint(endpoint); return this; } /** *

        * Indicates whether to create the cluster with enhanced VPC routing enabled. *

        * * @param enhancedVpcRouting * Indicates whether to create the cluster with enhanced VPC routing enabled. */ public void setEnhancedVpcRouting(Boolean enhancedVpcRouting) { this.enhancedVpcRouting = enhancedVpcRouting; } /** *

        * Indicates whether to create the cluster with enhanced VPC routing enabled. *

        * * @return Indicates whether to create the cluster with enhanced VPC routing enabled. */ public Boolean getEnhancedVpcRouting() { return this.enhancedVpcRouting; } /** *

        * Indicates whether to create the cluster with enhanced VPC routing enabled. *

        * * @param enhancedVpcRouting * Indicates whether to create the cluster with enhanced VPC routing enabled. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withEnhancedVpcRouting(Boolean enhancedVpcRouting) { setEnhancedVpcRouting(enhancedVpcRouting); return this; } /** *

        * Indicates whether to create the cluster with enhanced VPC routing enabled. *

        * * @return Indicates whether to create the cluster with enhanced VPC routing enabled. */ public Boolean isEnhancedVpcRouting() { return this.enhancedVpcRouting; } /** *

        * Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule and * have backups enabled. *

        *

        * Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

        * * @param expectedNextSnapshotScheduleTime * Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule * and have backups enabled.

        *

        * Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. */ public void setExpectedNextSnapshotScheduleTime(String expectedNextSnapshotScheduleTime) { this.expectedNextSnapshotScheduleTime = expectedNextSnapshotScheduleTime; } /** *

        * Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule and * have backups enabled. *

        *

        * Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

        * * @return Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule * and have backups enabled.

        *

        * Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. */ public String getExpectedNextSnapshotScheduleTime() { return this.expectedNextSnapshotScheduleTime; } /** *

        * Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule and * have backups enabled. *

        *

        * Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

        * * @param expectedNextSnapshotScheduleTime * Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule * and have backups enabled.

        *

        * Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withExpectedNextSnapshotScheduleTime(String expectedNextSnapshotScheduleTime) { setExpectedNextSnapshotScheduleTime(expectedNextSnapshotScheduleTime); return this; } /** *

        * The status of the next expected snapshot. *

        *

        * Valid values: OnTrack | Pending *

        * * @param expectedNextSnapshotScheduleTimeStatus * The status of the next expected snapshot.

        *

        * Valid values: OnTrack | Pending */ public void setExpectedNextSnapshotScheduleTimeStatus(String expectedNextSnapshotScheduleTimeStatus) { this.expectedNextSnapshotScheduleTimeStatus = expectedNextSnapshotScheduleTimeStatus; } /** *

        * The status of the next expected snapshot. *

        *

        * Valid values: OnTrack | Pending *

        * * @return The status of the next expected snapshot.

        *

        * Valid values: OnTrack | Pending */ public String getExpectedNextSnapshotScheduleTimeStatus() { return this.expectedNextSnapshotScheduleTimeStatus; } /** *

        * The status of the next expected snapshot. *

        *

        * Valid values: OnTrack | Pending *

        * * @param expectedNextSnapshotScheduleTimeStatus * The status of the next expected snapshot.

        *

        * Valid values: OnTrack | Pending * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withExpectedNextSnapshotScheduleTimeStatus(String expectedNextSnapshotScheduleTimeStatus) { setExpectedNextSnapshotScheduleTimeStatus(expectedNextSnapshotScheduleTimeStatus); return this; } /** *

        * Information about whether the Amazon Redshift cluster finished applying any changes to hardware security module * (HSM) settings that were specified in a modify cluster command. *

        * * @param hsmStatus * Information about whether the Amazon Redshift cluster finished applying any changes to hardware security * module (HSM) settings that were specified in a modify cluster command. */ public void setHsmStatus(AwsRedshiftClusterHsmStatus hsmStatus) { this.hsmStatus = hsmStatus; } /** *

        * Information about whether the Amazon Redshift cluster finished applying any changes to hardware security module * (HSM) settings that were specified in a modify cluster command. *

        * * @return Information about whether the Amazon Redshift cluster finished applying any changes to hardware security * module (HSM) settings that were specified in a modify cluster command. */ public AwsRedshiftClusterHsmStatus getHsmStatus() { return this.hsmStatus; } /** *

        * Information about whether the Amazon Redshift cluster finished applying any changes to hardware security module * (HSM) settings that were specified in a modify cluster command. *

        * * @param hsmStatus * Information about whether the Amazon Redshift cluster finished applying any changes to hardware security * module (HSM) settings that were specified in a modify cluster command. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withHsmStatus(AwsRedshiftClusterHsmStatus hsmStatus) { setHsmStatus(hsmStatus); return this; } /** *

        * A list of IAM roles that the cluster can use to access other Amazon Web Services services. *

        * * @return A list of IAM roles that the cluster can use to access other Amazon Web Services services. */ public java.util.List getIamRoles() { return iamRoles; } /** *

        * A list of IAM roles that the cluster can use to access other Amazon Web Services services. *

        * * @param iamRoles * A list of IAM roles that the cluster can use to access other Amazon Web Services services. */ public void setIamRoles(java.util.Collection iamRoles) { if (iamRoles == null) { this.iamRoles = null; return; } this.iamRoles = new java.util.ArrayList(iamRoles); } /** *

        * A list of IAM roles that the cluster can use 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 IAM roles that the cluster can use to access other Amazon Web Services services. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withIamRoles(AwsRedshiftClusterIamRole... iamRoles) { if (this.iamRoles == null) { setIamRoles(new java.util.ArrayList(iamRoles.length)); } for (AwsRedshiftClusterIamRole ele : iamRoles) { this.iamRoles.add(ele); } return this; } /** *

        * A list of IAM roles that the cluster can use to access other Amazon Web Services services. *

        * * @param iamRoles * A list of IAM roles that the cluster can use to access other Amazon Web Services services. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withIamRoles(java.util.Collection iamRoles) { setIamRoles(iamRoles); return this; } /** *

        * The identifier of the KMS encryption key that is used to encrypt data in the cluster. *

        * * @param kmsKeyId * The identifier of the KMS encryption key that is used to encrypt data in the cluster. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *

        * The identifier of the KMS encryption key that is used to encrypt data in the cluster. *

        * * @return The identifier of the KMS encryption key that is used to encrypt data in the cluster. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *

        * The identifier of the KMS encryption key that is used to encrypt data in the cluster. *

        * * @param kmsKeyId * The identifier of the KMS encryption key that is used to encrypt data in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** *

        * 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 AwsRedshiftClusterDetails withMaintenanceTrackName(String maintenanceTrackName) { setMaintenanceTrackName(maintenanceTrackName); 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. *

        *

        * Valid values: 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. *

        *

        * Valid values: 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. *

        *

        * Valid values: 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. *

        *

        * Valid values: 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. *

        *

        * Valid values: 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. *

        *

        * Valid values: 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 AwsRedshiftClusterDetails withManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) { setManualSnapshotRetentionPeriod(manualSnapshotRetentionPeriod); return this; } /** *

        * The master user name for the cluster. This name is used to connect to the database that is specified in as the * value of DBName. *

        * * @param masterUsername * The master user name for the cluster. This name is used to connect to the database that is specified in as * the value of DBName. */ public void setMasterUsername(String masterUsername) { this.masterUsername = masterUsername; } /** *

        * The master user name for the cluster. This name is used to connect to the database that is specified in as the * value of DBName. *

        * * @return The master user name for the cluster. This name is used to connect to the database that is specified in * as the value of DBName. */ public String getMasterUsername() { return this.masterUsername; } /** *

        * The master user name for the cluster. This name is used to connect to the database that is specified in as the * value of DBName. *

        * * @param masterUsername * The master user name for the cluster. This name is used to connect to the database that is specified in as * the value of DBName. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withMasterUsername(String masterUsername) { setMasterUsername(masterUsername); return this; } /** *

        * Indicates the start of the next maintenance window. *

        *

        * Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

        * * @param nextMaintenanceWindowStartTime * Indicates the start of the next maintenance window.

        *

        * Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. */ public void setNextMaintenanceWindowStartTime(String nextMaintenanceWindowStartTime) { this.nextMaintenanceWindowStartTime = nextMaintenanceWindowStartTime; } /** *

        * Indicates the start of the next maintenance window. *

        *

        * Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

        * * @return Indicates the start of the next maintenance window.

        *

        * Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. */ public String getNextMaintenanceWindowStartTime() { return this.nextMaintenanceWindowStartTime; } /** *

        * Indicates the start of the next maintenance window. *

        *

        * Uses the date-time format specified in RFC * 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z. *

        * * @param nextMaintenanceWindowStartTime * Indicates the start of the next maintenance window.

        *

        * Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time * Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withNextMaintenanceWindowStartTime(String nextMaintenanceWindowStartTime) { setNextMaintenanceWindowStartTime(nextMaintenanceWindowStartTime); 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 AwsRedshiftClusterDetails withNodeType(String nodeType) { setNodeType(nodeType); return this; } /** *

        * The number of compute nodes in the cluster. *

        * * @param numberOfNodes * The number of compute nodes in the cluster. */ public void setNumberOfNodes(Integer numberOfNodes) { this.numberOfNodes = numberOfNodes; } /** *

        * The number of compute nodes in the cluster. *

        * * @return The number of compute nodes in the cluster. */ public Integer getNumberOfNodes() { return this.numberOfNodes; } /** *

        * The number of compute nodes in the cluster. *

        * * @param numberOfNodes * The number of compute nodes in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withNumberOfNodes(Integer numberOfNodes) { setNumberOfNodes(numberOfNodes); return this; } /** *

        * A list of cluster operations that are waiting to start. *

        * * @return A list of cluster operations that are waiting to start. */ public java.util.List getPendingActions() { return pendingActions; } /** *

        * A list of cluster operations that are waiting to start. *

        * * @param pendingActions * A list of cluster operations that are waiting to start. */ public void setPendingActions(java.util.Collection pendingActions) { if (pendingActions == null) { this.pendingActions = null; return; } this.pendingActions = new java.util.ArrayList(pendingActions); } /** *

        * A list of cluster operations that are waiting to start. *

        *

        * 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 * A list of cluster operations that are waiting to start. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withPendingActions(String... pendingActions) { if (this.pendingActions == null) { setPendingActions(new java.util.ArrayList(pendingActions.length)); } for (String ele : pendingActions) { this.pendingActions.add(ele); } return this; } /** *

        * A list of cluster operations that are waiting to start. *

        * * @param pendingActions * A list of cluster operations that are waiting to start. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withPendingActions(java.util.Collection pendingActions) { setPendingActions(pendingActions); return this; } /** *

        * A list of changes to the cluster that are currently pending. *

        * * @param pendingModifiedValues * A list of changes to the cluster that are currently pending. */ public void setPendingModifiedValues(AwsRedshiftClusterPendingModifiedValues pendingModifiedValues) { this.pendingModifiedValues = pendingModifiedValues; } /** *

        * A list of changes to the cluster that are currently pending. *

        * * @return A list of changes to the cluster that are currently pending. */ public AwsRedshiftClusterPendingModifiedValues getPendingModifiedValues() { return this.pendingModifiedValues; } /** *

        * A list of changes to the cluster that are currently pending. *

        * * @param pendingModifiedValues * A list of changes to the cluster that are currently pending. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withPendingModifiedValues(AwsRedshiftClusterPendingModifiedValues pendingModifiedValues) { setPendingModifiedValues(pendingModifiedValues); return this; } /** *

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

        *

        * Format: <day>:HH:MM-<day>:HH:MM *

        *

        * For the day values, use mon | tue | wed | thu | * fri | sat | sun *

        *

        * For example, sun:09:32-sun:10:02 *

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

        *

        * Format: <day>:HH:MM-<day>:HH:MM *

        *

        * For the day values, use mon | tue | wed | thu | * fri | sat | sun *

        *

        * For example, sun:09:32-sun:10:02 */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** *

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

        *

        * Format: <day>:HH:MM-<day>:HH:MM *

        *

        * For the day values, use mon | tue | wed | thu | * fri | sat | sun *

        *

        * For example, sun:09:32-sun:10:02 *

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

        *

        * Format: <day>:HH:MM-<day>:HH:MM *

        *

        * For the day values, use mon | tue | wed | thu | * fri | sat | sun *

        *

        * For example, sun:09:32-sun:10:02 */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** *

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

        *

        * Format: <day>:HH:MM-<day>:HH:MM *

        *

        * For the day values, use mon | tue | wed | thu | * fri | sat | sun *

        *

        * For example, sun:09:32-sun:10:02 *

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

        *

        * Format: <day>:HH:MM-<day>:HH:MM *

        *

        * For the day values, use mon | tue | wed | thu | * fri | sat | sun *

        *

        * For example, sun:09:32-sun:10:02 * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withPreferredMaintenanceWindow(String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** *

        * Whether the cluster can be accessed from a public network. *

        * * @param publiclyAccessible * Whether the cluster can be accessed from a public network. */ public void setPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; } /** *

        * Whether the cluster can be accessed from a public network. *

        * * @return Whether the cluster can be accessed from a public network. */ public Boolean getPubliclyAccessible() { return this.publiclyAccessible; } /** *

        * Whether the cluster can be accessed from a public network. *

        * * @param publiclyAccessible * Whether 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 AwsRedshiftClusterDetails withPubliclyAccessible(Boolean publiclyAccessible) { setPubliclyAccessible(publiclyAccessible); return this; } /** *

        * Whether the cluster can be accessed from a public network. *

        * * @return Whether the cluster can be accessed from a public network. */ public Boolean isPubliclyAccessible() { return this.publiclyAccessible; } /** *

        * Information about the resize operation for the cluster. *

        * * @param resizeInfo * Information about the resize operation for the cluster. */ public void setResizeInfo(AwsRedshiftClusterResizeInfo resizeInfo) { this.resizeInfo = resizeInfo; } /** *

        * Information about the resize operation for the cluster. *

        * * @return Information about the resize operation for the cluster. */ public AwsRedshiftClusterResizeInfo getResizeInfo() { return this.resizeInfo; } /** *

        * Information about the resize operation for the cluster. *

        * * @param resizeInfo * Information about the resize operation for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withResizeInfo(AwsRedshiftClusterResizeInfo resizeInfo) { setResizeInfo(resizeInfo); return this; } /** *

        * Information about the status of a cluster restore action. Only applies to a cluster that was created by restoring * a snapshot. *

        * * @param restoreStatus * Information about the status of a cluster restore action. Only applies to a cluster that was created by * restoring a snapshot. */ public void setRestoreStatus(AwsRedshiftClusterRestoreStatus restoreStatus) { this.restoreStatus = restoreStatus; } /** *

        * Information about the status of a cluster restore action. Only applies to a cluster that was created by restoring * a snapshot. *

        * * @return Information about the status of a cluster restore action. Only applies to a cluster that was created by * restoring a snapshot. */ public AwsRedshiftClusterRestoreStatus getRestoreStatus() { return this.restoreStatus; } /** *

        * Information about the status of a cluster restore action. Only applies to a cluster that was created by restoring * a snapshot. *

        * * @param restoreStatus * Information about the status of a cluster restore action. Only applies to a cluster that was created by * restoring a snapshot. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withRestoreStatus(AwsRedshiftClusterRestoreStatus restoreStatus) { setRestoreStatus(restoreStatus); return this; } /** *

        * 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 AwsRedshiftClusterDetails withSnapshotScheduleIdentifier(String snapshotScheduleIdentifier) { setSnapshotScheduleIdentifier(snapshotScheduleIdentifier); return this; } /** *

        * The current state of the cluster snapshot schedule. *

        *

        * Valid values: MODIFYING | ACTIVE | FAILED *

        * * @param snapshotScheduleState * The current state of the cluster snapshot schedule.

        *

        * Valid values: MODIFYING | ACTIVE | FAILED */ public void setSnapshotScheduleState(String snapshotScheduleState) { this.snapshotScheduleState = snapshotScheduleState; } /** *

        * The current state of the cluster snapshot schedule. *

        *

        * Valid values: MODIFYING | ACTIVE | FAILED *

        * * @return The current state of the cluster snapshot schedule.

        *

        * Valid values: MODIFYING | ACTIVE | FAILED */ public String getSnapshotScheduleState() { return this.snapshotScheduleState; } /** *

        * The current state of the cluster snapshot schedule. *

        *

        * Valid values: MODIFYING | ACTIVE | FAILED *

        * * @param snapshotScheduleState * The current state of the cluster snapshot schedule.

        *

        * Valid values: MODIFYING | ACTIVE | FAILED * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withSnapshotScheduleState(String snapshotScheduleState) { setSnapshotScheduleState(snapshotScheduleState); return this; } /** *

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

        * * @param vpcId * The identifier of the VPC that the cluster is in, if the cluster is in a VPC. */ public void setVpcId(String vpcId) { this.vpcId = vpcId; } /** *

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

        * * @return The identifier of the VPC that the cluster is in, if the cluster is in a VPC. */ public String getVpcId() { return this.vpcId; } /** *

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

        * * @param vpcId * The identifier of the VPC that the cluster is in, if the cluster is in a VPC. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withVpcId(String vpcId) { setVpcId(vpcId); return this; } /** *

        * The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. *

        * * @return The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. */ public java.util.List getVpcSecurityGroups() { return vpcSecurityGroups; } /** *

        * The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. *

        * * @param vpcSecurityGroups * The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. */ public void setVpcSecurityGroups(java.util.Collection vpcSecurityGroups) { if (vpcSecurityGroups == null) { this.vpcSecurityGroups = null; return; } this.vpcSecurityGroups = new java.util.ArrayList(vpcSecurityGroups); } /** *

        * The list of VPC security groups that the cluster belongs to, 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. *

        * * @param vpcSecurityGroups * The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withVpcSecurityGroups(AwsRedshiftClusterVpcSecurityGroup... vpcSecurityGroups) { if (this.vpcSecurityGroups == null) { setVpcSecurityGroups(new java.util.ArrayList(vpcSecurityGroups.length)); } for (AwsRedshiftClusterVpcSecurityGroup ele : vpcSecurityGroups) { this.vpcSecurityGroups.add(ele); } return this; } /** *

        * The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. *

        * * @param vpcSecurityGroups * The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsRedshiftClusterDetails withVpcSecurityGroups(java.util.Collection vpcSecurityGroups) { setVpcSecurityGroups(vpcSecurityGroups); 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 (getAllowVersionUpgrade() != null) sb.append("AllowVersionUpgrade: ").append(getAllowVersionUpgrade()).append(","); if (getAutomatedSnapshotRetentionPeriod() != null) sb.append("AutomatedSnapshotRetentionPeriod: ").append(getAutomatedSnapshotRetentionPeriod()).append(","); if (getAvailabilityZone() != null) sb.append("AvailabilityZone: ").append(getAvailabilityZone()).append(","); if (getClusterAvailabilityStatus() != null) sb.append("ClusterAvailabilityStatus: ").append(getClusterAvailabilityStatus()).append(","); if (getClusterCreateTime() != null) sb.append("ClusterCreateTime: ").append(getClusterCreateTime()).append(","); if (getClusterIdentifier() != null) sb.append("ClusterIdentifier: ").append(getClusterIdentifier()).append(","); if (getClusterNodes() != null) sb.append("ClusterNodes: ").append(getClusterNodes()).append(","); if (getClusterParameterGroups() != null) sb.append("ClusterParameterGroups: ").append(getClusterParameterGroups()).append(","); if (getClusterPublicKey() != null) sb.append("ClusterPublicKey: ").append(getClusterPublicKey()).append(","); if (getClusterRevisionNumber() != null) sb.append("ClusterRevisionNumber: ").append(getClusterRevisionNumber()).append(","); if (getClusterSecurityGroups() != null) sb.append("ClusterSecurityGroups: ").append(getClusterSecurityGroups()).append(","); if (getClusterSnapshotCopyStatus() != null) sb.append("ClusterSnapshotCopyStatus: ").append(getClusterSnapshotCopyStatus()).append(","); if (getClusterStatus() != null) sb.append("ClusterStatus: ").append(getClusterStatus()).append(","); if (getClusterSubnetGroupName() != null) sb.append("ClusterSubnetGroupName: ").append(getClusterSubnetGroupName()).append(","); if (getClusterVersion() != null) sb.append("ClusterVersion: ").append(getClusterVersion()).append(","); if (getDBName() != null) sb.append("DBName: ").append(getDBName()).append(","); if (getDeferredMaintenanceWindows() != null) sb.append("DeferredMaintenanceWindows: ").append(getDeferredMaintenanceWindows()).append(","); if (getElasticIpStatus() != null) sb.append("ElasticIpStatus: ").append(getElasticIpStatus()).append(","); if (getElasticResizeNumberOfNodeOptions() != null) sb.append("ElasticResizeNumberOfNodeOptions: ").append(getElasticResizeNumberOfNodeOptions()).append(","); if (getEncrypted() != null) sb.append("Encrypted: ").append(getEncrypted()).append(","); if (getEndpoint() != null) sb.append("Endpoint: ").append(getEndpoint()).append(","); if (getEnhancedVpcRouting() != null) sb.append("EnhancedVpcRouting: ").append(getEnhancedVpcRouting()).append(","); if (getExpectedNextSnapshotScheduleTime() != null) sb.append("ExpectedNextSnapshotScheduleTime: ").append(getExpectedNextSnapshotScheduleTime()).append(","); if (getExpectedNextSnapshotScheduleTimeStatus() != null) sb.append("ExpectedNextSnapshotScheduleTimeStatus: ").append(getExpectedNextSnapshotScheduleTimeStatus()).append(","); if (getHsmStatus() != null) sb.append("HsmStatus: ").append(getHsmStatus()).append(","); if (getIamRoles() != null) sb.append("IamRoles: ").append(getIamRoles()).append(","); if (getKmsKeyId() != null) sb.append("KmsKeyId: ").append(getKmsKeyId()).append(","); if (getMaintenanceTrackName() != null) sb.append("MaintenanceTrackName: ").append(getMaintenanceTrackName()).append(","); if (getManualSnapshotRetentionPeriod() != null) sb.append("ManualSnapshotRetentionPeriod: ").append(getManualSnapshotRetentionPeriod()).append(","); if (getMasterUsername() != null) sb.append("MasterUsername: ").append(getMasterUsername()).append(","); if (getNextMaintenanceWindowStartTime() != null) sb.append("NextMaintenanceWindowStartTime: ").append(getNextMaintenanceWindowStartTime()).append(","); if (getNodeType() != null) sb.append("NodeType: ").append(getNodeType()).append(","); if (getNumberOfNodes() != null) sb.append("NumberOfNodes: ").append(getNumberOfNodes()).append(","); if (getPendingActions() != null) sb.append("PendingActions: ").append(getPendingActions()).append(","); if (getPendingModifiedValues() != null) sb.append("PendingModifiedValues: ").append(getPendingModifiedValues()).append(","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(","); if (getPubliclyAccessible() != null) sb.append("PubliclyAccessible: ").append(getPubliclyAccessible()).append(","); if (getResizeInfo() != null) sb.append("ResizeInfo: ").append(getResizeInfo()).append(","); if (getRestoreStatus() != null) sb.append("RestoreStatus: ").append(getRestoreStatus()).append(","); if (getSnapshotScheduleIdentifier() != null) sb.append("SnapshotScheduleIdentifier: ").append(getSnapshotScheduleIdentifier()).append(","); if (getSnapshotScheduleState() != null) sb.append("SnapshotScheduleState: ").append(getSnapshotScheduleState()).append(","); if (getVpcId() != null) sb.append("VpcId: ").append(getVpcId()).append(","); if (getVpcSecurityGroups() != null) sb.append("VpcSecurityGroups: ").append(getVpcSecurityGroups()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AwsRedshiftClusterDetails == false) return false; AwsRedshiftClusterDetails other = (AwsRedshiftClusterDetails) obj; if (other.getAllowVersionUpgrade() == null ^ this.getAllowVersionUpgrade() == null) return false; if (other.getAllowVersionUpgrade() != null && other.getAllowVersionUpgrade().equals(this.getAllowVersionUpgrade()) == 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.getAvailabilityZone() == null ^ this.getAvailabilityZone() == null) return false; if (other.getAvailabilityZone() != null && other.getAvailabilityZone().equals(this.getAvailabilityZone()) == 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.getClusterCreateTime() == null ^ this.getClusterCreateTime() == null) return false; if (other.getClusterCreateTime() != null && other.getClusterCreateTime().equals(this.getClusterCreateTime()) == false) return false; if (other.getClusterIdentifier() == null ^ this.getClusterIdentifier() == null) return false; if (other.getClusterIdentifier() != null && other.getClusterIdentifier().equals(this.getClusterIdentifier()) == 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.getClusterParameterGroups() == null ^ this.getClusterParameterGroups() == null) return false; if (other.getClusterParameterGroups() != null && other.getClusterParameterGroups().equals(this.getClusterParameterGroups()) == 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.getClusterRevisionNumber() == null ^ this.getClusterRevisionNumber() == null) return false; if (other.getClusterRevisionNumber() != null && other.getClusterRevisionNumber().equals(this.getClusterRevisionNumber()) == 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.getClusterSnapshotCopyStatus() == null ^ this.getClusterSnapshotCopyStatus() == null) return false; if (other.getClusterSnapshotCopyStatus() != null && other.getClusterSnapshotCopyStatus().equals(this.getClusterSnapshotCopyStatus()) == 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.getClusterSubnetGroupName() == null ^ this.getClusterSubnetGroupName() == null) return false; if (other.getClusterSubnetGroupName() != null && other.getClusterSubnetGroupName().equals(this.getClusterSubnetGroupName()) == 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.getDBName() == null ^ this.getDBName() == null) return false; if (other.getDBName() != null && other.getDBName().equals(this.getDBName()) == 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.getElasticIpStatus() == null ^ this.getElasticIpStatus() == null) return false; if (other.getElasticIpStatus() != null && other.getElasticIpStatus().equals(this.getElasticIpStatus()) == 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.getEncrypted() == null ^ this.getEncrypted() == null) return false; if (other.getEncrypted() != null && other.getEncrypted().equals(this.getEncrypted()) == 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.getEnhancedVpcRouting() == null ^ this.getEnhancedVpcRouting() == null) return false; if (other.getEnhancedVpcRouting() != null && other.getEnhancedVpcRouting().equals(this.getEnhancedVpcRouting()) == 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.getHsmStatus() == null ^ this.getHsmStatus() == null) return false; if (other.getHsmStatus() != null && other.getHsmStatus().equals(this.getHsmStatus()) == 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.getKmsKeyId() == null ^ this.getKmsKeyId() == null) return false; if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == 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.getManualSnapshotRetentionPeriod() == null ^ this.getManualSnapshotRetentionPeriod() == null) return false; if (other.getManualSnapshotRetentionPeriod() != null && other.getManualSnapshotRetentionPeriod().equals(this.getManualSnapshotRetentionPeriod()) == 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.getNextMaintenanceWindowStartTime() == null ^ this.getNextMaintenanceWindowStartTime() == null) return false; if (other.getNextMaintenanceWindowStartTime() != null && other.getNextMaintenanceWindowStartTime().equals(this.getNextMaintenanceWindowStartTime()) == 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.getNumberOfNodes() == null ^ this.getNumberOfNodes() == null) return false; if (other.getNumberOfNodes() != null && other.getNumberOfNodes().equals(this.getNumberOfNodes()) == 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.getPendingModifiedValues() == null ^ this.getPendingModifiedValues() == null) return false; if (other.getPendingModifiedValues() != null && other.getPendingModifiedValues().equals(this.getPendingModifiedValues()) == 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.getPubliclyAccessible() == null ^ this.getPubliclyAccessible() == null) return false; if (other.getPubliclyAccessible() != null && other.getPubliclyAccessible().equals(this.getPubliclyAccessible()) == 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.getRestoreStatus() == null ^ this.getRestoreStatus() == null) return false; if (other.getRestoreStatus() != null && other.getRestoreStatus().equals(this.getRestoreStatus()) == 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.getVpcId() == null ^ this.getVpcId() == null) return false; if (other.getVpcId() != null && other.getVpcId().equals(this.getVpcId()) == false) return false; if (other.getVpcSecurityGroups() == null ^ this.getVpcSecurityGroups() == null) return false; if (other.getVpcSecurityGroups() != null && other.getVpcSecurityGroups().equals(this.getVpcSecurityGroups()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAllowVersionUpgrade() == null) ? 0 : getAllowVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getAutomatedSnapshotRetentionPeriod() == null) ? 0 : getAutomatedSnapshotRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone().hashCode()); hashCode = prime * hashCode + ((getClusterAvailabilityStatus() == null) ? 0 : getClusterAvailabilityStatus().hashCode()); hashCode = prime * hashCode + ((getClusterCreateTime() == null) ? 0 : getClusterCreateTime().hashCode()); hashCode = prime * hashCode + ((getClusterIdentifier() == null) ? 0 : getClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getClusterNodes() == null) ? 0 : getClusterNodes().hashCode()); hashCode = prime * hashCode + ((getClusterParameterGroups() == null) ? 0 : getClusterParameterGroups().hashCode()); hashCode = prime * hashCode + ((getClusterPublicKey() == null) ? 0 : getClusterPublicKey().hashCode()); hashCode = prime * hashCode + ((getClusterRevisionNumber() == null) ? 0 : getClusterRevisionNumber().hashCode()); hashCode = prime * hashCode + ((getClusterSecurityGroups() == null) ? 0 : getClusterSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getClusterSnapshotCopyStatus() == null) ? 0 : getClusterSnapshotCopyStatus().hashCode()); hashCode = prime * hashCode + ((getClusterStatus() == null) ? 0 : getClusterStatus().hashCode()); hashCode = prime * hashCode + ((getClusterSubnetGroupName() == null) ? 0 : getClusterSubnetGroupName().hashCode()); hashCode = prime * hashCode + ((getClusterVersion() == null) ? 0 : getClusterVersion().hashCode()); hashCode = prime * hashCode + ((getDBName() == null) ? 0 : getDBName().hashCode()); hashCode = prime * hashCode + ((getDeferredMaintenanceWindows() == null) ? 0 : getDeferredMaintenanceWindows().hashCode()); hashCode = prime * hashCode + ((getElasticIpStatus() == null) ? 0 : getElasticIpStatus().hashCode()); hashCode = prime * hashCode + ((getElasticResizeNumberOfNodeOptions() == null) ? 0 : getElasticResizeNumberOfNodeOptions().hashCode()); hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode()); hashCode = prime * hashCode + ((getEndpoint() == null) ? 0 : getEndpoint().hashCode()); hashCode = prime * hashCode + ((getEnhancedVpcRouting() == null) ? 0 : getEnhancedVpcRouting().hashCode()); hashCode = prime * hashCode + ((getExpectedNextSnapshotScheduleTime() == null) ? 0 : getExpectedNextSnapshotScheduleTime().hashCode()); hashCode = prime * hashCode + ((getExpectedNextSnapshotScheduleTimeStatus() == null) ? 0 : getExpectedNextSnapshotScheduleTimeStatus().hashCode()); hashCode = prime * hashCode + ((getHsmStatus() == null) ? 0 : getHsmStatus().hashCode()); hashCode = prime * hashCode + ((getIamRoles() == null) ? 0 : getIamRoles().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getMaintenanceTrackName() == null) ? 0 : getMaintenanceTrackName().hashCode()); hashCode = prime * hashCode + ((getManualSnapshotRetentionPeriod() == null) ? 0 : getManualSnapshotRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getMasterUsername() == null) ? 0 : getMasterUsername().hashCode()); hashCode = prime * hashCode + ((getNextMaintenanceWindowStartTime() == null) ? 0 : getNextMaintenanceWindowStartTime().hashCode()); hashCode = prime * hashCode + ((getNodeType() == null) ? 0 : getNodeType().hashCode()); hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes().hashCode()); hashCode = prime * hashCode + ((getPendingActions() == null) ? 0 : getPendingActions().hashCode()); hashCode = prime * hashCode + ((getPendingModifiedValues() == null) ? 0 : getPendingModifiedValues().hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode()); hashCode = prime * hashCode + ((getResizeInfo() == null) ? 0 : getResizeInfo().hashCode()); hashCode = prime * hashCode + ((getRestoreStatus() == null) ? 0 : getRestoreStatus().hashCode()); hashCode = prime * hashCode + ((getSnapshotScheduleIdentifier() == null) ? 0 : getSnapshotScheduleIdentifier().hashCode()); hashCode = prime * hashCode + ((getSnapshotScheduleState() == null) ? 0 : getSnapshotScheduleState().hashCode()); hashCode = prime * hashCode + ((getVpcId() == null) ? 0 : getVpcId().hashCode()); hashCode = prime * hashCode + ((getVpcSecurityGroups() == null) ? 0 : getVpcSecurityGroups().hashCode()); return hashCode; } @Override public AwsRedshiftClusterDetails clone() { try { return (AwsRedshiftClusterDetails) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.securityhub.model.transform.AwsRedshiftClusterDetailsMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy