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

com.amazonaws.services.redshift.model.Cluster Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not
 * use this file except in compliance with the License. A copy of the License is
 * located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.redshift.model;

import java.io.Serializable;

/**
 * 

* Describes a cluster. *

*/ public class Cluster implements Serializable, Cloneable { /** *

* The unique identifier of the cluster. *

*/ private String clusterIdentifier; /** *

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

*/ private String nodeType; /** *

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

    *
  • available
  • *
  • creating
  • *
  • deleting
  • *
  • final-snapshot
  • *
  • hardware-failure
  • *
  • incompatible-hsm
  • *
  • incompatible-network
  • *
  • incompatible-parameters
  • *
  • incompatible-restore
  • *
  • modifying
  • *
  • rebooting
  • *
  • renaming
  • *
  • resizing
  • *
  • rotating-keys
  • *
  • storage-full
  • *
  • updating-hsm
  • *
*

*/ private String clusterStatus; /** *

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

*/ private String modifyStatus; /** *

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

*/ private String masterUsername; /** *

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

*/ private String dBName; /** *

* The connection endpoint. *

*/ private Endpoint endpoint; /** *

* The date and time that the cluster was created. *

*/ private java.util.Date clusterCreateTime; /** *

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

*/ private Integer automatedSnapshotRetentionPeriod; /** *

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

*

* Cluster security groups are used when the cluster is not created in a * VPC. Clusters that are created in a VPC use VPC security groups, which * are listed by the VpcSecurityGroups parameter. *

*/ private com.amazonaws.internal.SdkInternalList clusterSecurityGroups; /** *

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

*/ private com.amazonaws.internal.SdkInternalList vpcSecurityGroups; /** *

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

*/ private com.amazonaws.internal.SdkInternalList clusterParameterGroups; /** *

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

*/ private String clusterSubnetGroupName; /** *

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

*/ private String vpcId; /** *

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

*/ private String availabilityZone; /** *

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

*/ private String preferredMaintenanceWindow; /** *

* If present, changes to the cluster are pending. Specific pending changes * are identified by subelements. *

*/ private PendingModifiedValues pendingModifiedValues; /** *

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

*/ private String clusterVersion; /** *

* If true, major version upgrades will be applied * automatically to the cluster during the maintenance window. *

*/ private Boolean allowVersionUpgrade; /** *

* The number of compute nodes in the cluster. *

*/ private Integer numberOfNodes; /** *

* If true, the cluster can be accessed from a public network. *

*/ private Boolean publiclyAccessible; /** *

* If true, data in the cluster is encrypted at rest. *

*/ private Boolean encrypted; /** *

* Describes the status of a cluster restore action. Returns null if the * cluster was not created by restoring a snapshot. *

*/ private RestoreStatus restoreStatus; /** *

* Reports whether the Amazon Redshift cluster has finished applying any HSM * settings changes specified in a modify cluster command. *

*

* Values: active, applying *

*/ private HsmStatus hsmStatus; /** *

* Returns the destination region and retention period that are configured * for cross-region snapshot copy. *

*/ private ClusterSnapshotCopyStatus clusterSnapshotCopyStatus; /** *

* The public key for the cluster. *

*/ private String clusterPublicKey; /** *

* The nodes in a cluster. *

*/ private com.amazonaws.internal.SdkInternalList clusterNodes; /** *

* The status of the elastic IP (EIP) address. *

*/ private ElasticIpStatus elasticIpStatus; /** *

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

*/ private String clusterRevisionNumber; /** *

* The list of tags for the cluster. *

*/ private com.amazonaws.internal.SdkInternalList tags; /** *

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

*/ private String kmsKeyId; /** *

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

*/ private com.amazonaws.internal.SdkInternalList iamRoles; /** *

* The unique identifier of the cluster. *

* * @param clusterIdentifier * The unique identifier of the cluster. */ public void setClusterIdentifier(String clusterIdentifier) { this.clusterIdentifier = clusterIdentifier; } /** *

* The unique identifier of the cluster. *

* * @return The unique identifier of the cluster. */ public String getClusterIdentifier() { return this.clusterIdentifier; } /** *

* The unique identifier of the cluster. *

* * @param clusterIdentifier * The unique identifier of the cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterIdentifier(String clusterIdentifier) { setClusterIdentifier(clusterIdentifier); return this; } /** *

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

* * @param nodeType * The node type for the nodes in the cluster. */ public void setNodeType(String nodeType) { this.nodeType = nodeType; } /** *

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

* * @return The node type for the nodes in the cluster. */ public String getNodeType() { return this.nodeType; } /** *

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

* * @param nodeType * The node type for the nodes in the cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withNodeType(String nodeType) { setNodeType(nodeType); return this; } /** *

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

    *
  • available
  • *
  • creating
  • *
  • deleting
  • *
  • final-snapshot
  • *
  • hardware-failure
  • *
  • incompatible-hsm
  • *
  • incompatible-network
  • *
  • incompatible-parameters
  • *
  • incompatible-restore
  • *
  • modifying
  • *
  • rebooting
  • *
  • renaming
  • *
  • resizing
  • *
  • rotating-keys
  • *
  • storage-full
  • *
  • updating-hsm
  • *
*

* * @param clusterStatus * The current state of the cluster. Possible values are: *
    *
  • available
  • *
  • creating
  • *
  • deleting
  • *
  • final-snapshot
  • *
  • hardware-failure
  • *
  • incompatible-hsm
  • *
  • incompatible-network
  • *
  • incompatible-parameters
  • *
  • incompatible-restore
  • *
  • modifying
  • *
  • rebooting
  • *
  • renaming
  • *
  • resizing
  • *
  • rotating-keys
  • *
  • storage-full
  • *
  • updating-hsm
  • *
*/ public void setClusterStatus(String clusterStatus) { this.clusterStatus = clusterStatus; } /** *

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

    *
  • available
  • *
  • creating
  • *
  • deleting
  • *
  • final-snapshot
  • *
  • hardware-failure
  • *
  • incompatible-hsm
  • *
  • incompatible-network
  • *
  • incompatible-parameters
  • *
  • incompatible-restore
  • *
  • modifying
  • *
  • rebooting
  • *
  • renaming
  • *
  • resizing
  • *
  • rotating-keys
  • *
  • storage-full
  • *
  • updating-hsm
  • *
*

* * @return The current state of the cluster. Possible values are: *
    *
  • available
  • *
  • creating
  • *
  • deleting
  • *
  • final-snapshot
  • *
  • hardware-failure
  • *
  • incompatible-hsm
  • *
  • incompatible-network
  • *
  • incompatible-parameters
  • *
  • incompatible-restore
  • *
  • modifying
  • *
  • rebooting
  • *
  • renaming
  • *
  • resizing
  • *
  • rotating-keys
  • *
  • storage-full
  • *
  • updating-hsm
  • *
*/ public String getClusterStatus() { return this.clusterStatus; } /** *

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

    *
  • available
  • *
  • creating
  • *
  • deleting
  • *
  • final-snapshot
  • *
  • hardware-failure
  • *
  • incompatible-hsm
  • *
  • incompatible-network
  • *
  • incompatible-parameters
  • *
  • incompatible-restore
  • *
  • modifying
  • *
  • rebooting
  • *
  • renaming
  • *
  • resizing
  • *
  • rotating-keys
  • *
  • storage-full
  • *
  • updating-hsm
  • *
*

* * @param clusterStatus * The current state of the cluster. Possible values are: *
    *
  • available
  • *
  • creating
  • *
  • deleting
  • *
  • final-snapshot
  • *
  • hardware-failure
  • *
  • incompatible-hsm
  • *
  • incompatible-network
  • *
  • incompatible-parameters
  • *
  • incompatible-restore
  • *
  • modifying
  • *
  • 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 Cluster withClusterStatus(String clusterStatus) { setClusterStatus(clusterStatus); return this; } /** *

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

* * @param modifyStatus * The status of a modify operation, if any, initiated for the * cluster. */ public void setModifyStatus(String modifyStatus) { this.modifyStatus = modifyStatus; } /** *

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

* * @return The status of a modify operation, if any, initiated for the * cluster. */ public String getModifyStatus() { return this.modifyStatus; } /** *

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

* * @param modifyStatus * The status of a modify operation, if any, initiated for the * cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withModifyStatus(String modifyStatus) { setModifyStatus(modifyStatus); return this; } /** *

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

* * @param masterUsername * The master user name for the cluster. This name is used to connect * to the database that is specified in 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 DBName. *

* * @return The master user name for the cluster. This name is used to * connect to the database that is specified in 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 DBName. *

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

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

* * @param dBName * The name of the initial database that was created when the cluster * was created. This same name is returned for the life of the * cluster. If an initial database was not specified, a database * named "dev" was created by default. */ public void setDBName(String dBName) { this.dBName = dBName; } /** *

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

* * @return The name of the initial database that was created when the * cluster was created. This same name is returned for the life of * the cluster. If an initial database was not specified, a database * named "dev" was created by default. */ public String getDBName() { return this.dBName; } /** *

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

* * @param dBName * The name of the initial database that was created when the cluster * was created. This same name is returned for the life of the * cluster. If an initial database was not specified, a database * named "dev" was created by default. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withDBName(String dBName) { setDBName(dBName); return this; } /** *

* The connection endpoint. *

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

* The connection endpoint. *

* * @return The connection endpoint. */ public Endpoint getEndpoint() { return this.endpoint; } /** *

* The connection endpoint. *

* * @param endpoint * The connection endpoint. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withEndpoint(Endpoint endpoint) { setEndpoint(endpoint); return this; } /** *

* The date and time that the cluster was created. *

* * @param clusterCreateTime * The date and time that the cluster was created. */ public void setClusterCreateTime(java.util.Date clusterCreateTime) { this.clusterCreateTime = clusterCreateTime; } /** *

* The date and time that the cluster was created. *

* * @return The date and time that the cluster was created. */ public java.util.Date getClusterCreateTime() { return this.clusterCreateTime; } /** *

* The date and time that the cluster was created. *

* * @param clusterCreateTime * The date and time that the cluster was created. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterCreateTime(java.util.Date clusterCreateTime) { setClusterCreateTime(clusterCreateTime); return this; } /** *

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

* * @param automatedSnapshotRetentionPeriod * The number of days that automatic cluster snapshots are retained. */ public void setAutomatedSnapshotRetentionPeriod( Integer automatedSnapshotRetentionPeriod) { this.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod; } /** *

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

* * @return The number of days that automatic cluster snapshots are retained. */ public Integer getAutomatedSnapshotRetentionPeriod() { return this.automatedSnapshotRetentionPeriod; } /** *

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

* * @param automatedSnapshotRetentionPeriod * The number of days that automatic cluster snapshots are retained. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withAutomatedSnapshotRetentionPeriod( Integer automatedSnapshotRetentionPeriod) { setAutomatedSnapshotRetentionPeriod(automatedSnapshotRetentionPeriod); return this; } /** *

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

*

* Cluster security groups are used when the cluster is not created in a * VPC. Clusters that are created in a VPC use VPC security groups, which * are listed by the VpcSecurityGroups parameter. *

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

*

* Cluster security groups are used when the cluster is not created * in a VPC. Clusters that are created in a VPC use VPC security * groups, which are listed by the VpcSecurityGroups * parameter. */ public java.util.List getClusterSecurityGroups() { if (clusterSecurityGroups == null) { clusterSecurityGroups = new com.amazonaws.internal.SdkInternalList(); } return clusterSecurityGroups; } /** *

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

*

* Cluster security groups are used when the cluster is not created in a * VPC. Clusters that are created in a VPC use VPC security groups, which * are listed by the VpcSecurityGroups parameter. *

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

*

* Cluster security groups are used when the cluster is not created * in a VPC. Clusters that are created in a VPC use VPC security * groups, which are listed by the VpcSecurityGroups * parameter. */ public void setClusterSecurityGroups( java.util.Collection clusterSecurityGroups) { if (clusterSecurityGroups == null) { this.clusterSecurityGroups = null; return; } this.clusterSecurityGroups = new com.amazonaws.internal.SdkInternalList( clusterSecurityGroups); } /** *

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

*

* Cluster security groups are used when the cluster is not created in a * VPC. Clusters that are created in a VPC use VPC security groups, which * are listed by the VpcSecurityGroups parameter. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setClusterSecurityGroups(java.util.Collection)} or * {@link #withClusterSecurityGroups(java.util.Collection)} if you want to * override the existing values. *

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

*

* Cluster security groups are used when the cluster is not created * in a VPC. Clusters that are created in a VPC use VPC security * groups, which are listed by the VpcSecurityGroups * parameter. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterSecurityGroups( ClusterSecurityGroupMembership... clusterSecurityGroups) { if (this.clusterSecurityGroups == null) { setClusterSecurityGroups(new com.amazonaws.internal.SdkInternalList( clusterSecurityGroups.length)); } for (ClusterSecurityGroupMembership ele : clusterSecurityGroups) { this.clusterSecurityGroups.add(ele); } return this; } /** *

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

*

* Cluster security groups are used when the cluster is not created in a * VPC. Clusters that are created in a VPC use VPC security groups, which * are listed by the VpcSecurityGroups parameter. *

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

*

* Cluster security groups are used when the cluster is not created * in a VPC. Clusters that are created in a VPC use VPC security * groups, which are listed by the VpcSecurityGroups * parameter. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterSecurityGroups( java.util.Collection clusterSecurityGroups) { setClusterSecurityGroups(clusterSecurityGroups); return this; } /** *

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

* * @return A list of Virtual Private Cloud (VPC) security groups that are * associated with the cluster. This parameter is returned only if * the cluster is in a VPC. */ public java.util.List getVpcSecurityGroups() { if (vpcSecurityGroups == null) { vpcSecurityGroups = new com.amazonaws.internal.SdkInternalList(); } return vpcSecurityGroups; } /** *

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

* * @param vpcSecurityGroups * A list of Virtual Private Cloud (VPC) security groups that are * associated with the cluster. This parameter is returned only if * the cluster is in a VPC. */ public void setVpcSecurityGroups( java.util.Collection vpcSecurityGroups) { if (vpcSecurityGroups == null) { this.vpcSecurityGroups = null; return; } this.vpcSecurityGroups = new com.amazonaws.internal.SdkInternalList( vpcSecurityGroups); } /** *

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

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setVpcSecurityGroups(java.util.Collection)} or * {@link #withVpcSecurityGroups(java.util.Collection)} if you want to * override the existing values. *

* * @param vpcSecurityGroups * A list of Virtual Private Cloud (VPC) security groups that are * associated with the cluster. This parameter is returned only if * the cluster is in a VPC. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withVpcSecurityGroups( VpcSecurityGroupMembership... vpcSecurityGroups) { if (this.vpcSecurityGroups == null) { setVpcSecurityGroups(new com.amazonaws.internal.SdkInternalList( vpcSecurityGroups.length)); } for (VpcSecurityGroupMembership ele : vpcSecurityGroups) { this.vpcSecurityGroups.add(ele); } return this; } /** *

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

* * @param vpcSecurityGroups * A list of Virtual Private Cloud (VPC) security groups that are * associated with the cluster. This parameter is returned only if * the cluster is in a VPC. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withVpcSecurityGroups( java.util.Collection vpcSecurityGroups) { setVpcSecurityGroups(vpcSecurityGroups); return this; } /** *

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

* * @return The list of cluster parameter groups that are associated with * this cluster. Each parameter group in the list is returned with * its status. */ public java.util.List getClusterParameterGroups() { if (clusterParameterGroups == null) { clusterParameterGroups = new com.amazonaws.internal.SdkInternalList(); } return clusterParameterGroups; } /** *

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

* * @param clusterParameterGroups * The list of cluster parameter groups that are associated with this * cluster. Each parameter group in the list is returned with its * status. */ public void setClusterParameterGroups( java.util.Collection clusterParameterGroups) { if (clusterParameterGroups == null) { this.clusterParameterGroups = null; return; } this.clusterParameterGroups = new com.amazonaws.internal.SdkInternalList( clusterParameterGroups); } /** *

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

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setClusterParameterGroups(java.util.Collection)} or * {@link #withClusterParameterGroups(java.util.Collection)} if you want to * override the existing values. *

* * @param clusterParameterGroups * The list of cluster parameter groups that are associated with this * cluster. Each parameter group in the list is returned with its * status. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterParameterGroups( ClusterParameterGroupStatus... clusterParameterGroups) { if (this.clusterParameterGroups == null) { setClusterParameterGroups(new com.amazonaws.internal.SdkInternalList( clusterParameterGroups.length)); } for (ClusterParameterGroupStatus ele : clusterParameterGroups) { this.clusterParameterGroups.add(ele); } return this; } /** *

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

* * @param clusterParameterGroups * The list of cluster parameter groups that are associated with this * cluster. Each parameter group in the list is returned with its * status. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterParameterGroups( java.util.Collection clusterParameterGroups) { setClusterParameterGroups(clusterParameterGroups); 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 Cluster withClusterSubnetGroupName(String clusterSubnetGroupName) { setClusterSubnetGroupName(clusterSubnetGroupName); return this; } /** *

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

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

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

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

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

* * @param vpcId * The identifier of the VPC 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 Cluster withVpcId(String vpcId) { setVpcId(vpcId); 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 Cluster withAvailabilityZone(String availabilityZone) { setAvailabilityZone(availabilityZone); return this; } /** *

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

* * @param preferredMaintenanceWindow * The weekly time range (in UTC) during which system maintenance can * occur. */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** *

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

* * @return The weekly time range (in UTC) during which system maintenance * can occur. */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** *

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

* * @param preferredMaintenanceWindow * The weekly time range (in UTC) during which system maintenance can * occur. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withPreferredMaintenanceWindow( String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** *

* If present, changes to the cluster are pending. Specific pending changes * are identified by subelements. *

* * @param pendingModifiedValues * If present, changes to the cluster are pending. Specific pending * changes are identified by subelements. */ public void setPendingModifiedValues( PendingModifiedValues pendingModifiedValues) { this.pendingModifiedValues = pendingModifiedValues; } /** *

* If present, changes to the cluster are pending. Specific pending changes * are identified by subelements. *

* * @return If present, changes to the cluster are pending. Specific pending * changes are identified by subelements. */ public PendingModifiedValues getPendingModifiedValues() { return this.pendingModifiedValues; } /** *

* If present, changes to the cluster are pending. Specific pending changes * are identified by subelements. *

* * @param pendingModifiedValues * If present, changes to the cluster are pending. Specific pending * changes are identified by subelements. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withPendingModifiedValues( PendingModifiedValues pendingModifiedValues) { setPendingModifiedValues(pendingModifiedValues); return this; } /** *

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

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

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

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

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

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

* If true, major version upgrades will be applied * automatically to the cluster during the maintenance window. *

* * @param allowVersionUpgrade * If true, major version upgrades will be applied * automatically to the cluster during the maintenance window. */ public void setAllowVersionUpgrade(Boolean allowVersionUpgrade) { this.allowVersionUpgrade = allowVersionUpgrade; } /** *

* If true, major version upgrades will be applied * automatically to the cluster during the maintenance window. *

* * @return If true, major version upgrades will be applied * automatically to the cluster during the maintenance window. */ public Boolean getAllowVersionUpgrade() { return this.allowVersionUpgrade; } /** *

* If true, major version upgrades will be applied * automatically to the cluster during the maintenance window. *

* * @param allowVersionUpgrade * If true, major version upgrades will be applied * automatically to the cluster during the maintenance window. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withAllowVersionUpgrade(Boolean allowVersionUpgrade) { setAllowVersionUpgrade(allowVersionUpgrade); return this; } /** *

* If true, major version upgrades will be applied * automatically to the cluster during the maintenance window. *

* * @return If true, major version upgrades will be applied * automatically to the cluster during the maintenance window. */ public Boolean isAllowVersionUpgrade() { return this.allowVersionUpgrade; } /** *

* 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 Cluster withNumberOfNodes(Integer numberOfNodes) { setNumberOfNodes(numberOfNodes); return this; } /** *

* If true, the cluster can be accessed from a public network. *

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

* If true, the cluster can be accessed from a public network. *

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

* If true, the cluster can be accessed from a public network. *

* * @param publiclyAccessible * If true, the cluster can be accessed from a public * network. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withPubliclyAccessible(Boolean publiclyAccessible) { setPubliclyAccessible(publiclyAccessible); return this; } /** *

* If true, the cluster can be accessed from a public network. *

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

* If true, data in the cluster is encrypted at rest. *

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

* If true, data in the cluster is encrypted at rest. *

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

* If true, data in the cluster is encrypted at rest. *

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

* If true, data in the cluster is encrypted at rest. *

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

* Describes the status of a cluster restore action. Returns null if the * cluster was not created by restoring a snapshot. *

* * @param restoreStatus * Describes the status of a cluster restore action. Returns null if * the cluster was not created by restoring a snapshot. */ public void setRestoreStatus(RestoreStatus restoreStatus) { this.restoreStatus = restoreStatus; } /** *

* Describes the status of a cluster restore action. Returns null if the * cluster was not created by restoring a snapshot. *

* * @return Describes the status of a cluster restore action. Returns null if * the cluster was not created by restoring a snapshot. */ public RestoreStatus getRestoreStatus() { return this.restoreStatus; } /** *

* Describes the status of a cluster restore action. Returns null if the * cluster was not created by restoring a snapshot. *

* * @param restoreStatus * Describes the status of a cluster restore action. Returns null if * the cluster was not created by restoring a snapshot. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withRestoreStatus(RestoreStatus restoreStatus) { setRestoreStatus(restoreStatus); return this; } /** *

* Reports whether the Amazon Redshift cluster has finished applying any HSM * settings changes specified in a modify cluster command. *

*

* Values: active, applying *

* * @param hsmStatus * Reports whether the Amazon Redshift cluster has finished applying * any HSM settings changes specified in a modify cluster * command.

*

* Values: active, applying */ public void setHsmStatus(HsmStatus hsmStatus) { this.hsmStatus = hsmStatus; } /** *

* Reports whether the Amazon Redshift cluster has finished applying any HSM * settings changes specified in a modify cluster command. *

*

* Values: active, applying *

* * @return Reports whether the Amazon Redshift cluster has finished applying * any HSM settings changes specified in a modify cluster * command.

*

* Values: active, applying */ public HsmStatus getHsmStatus() { return this.hsmStatus; } /** *

* Reports whether the Amazon Redshift cluster has finished applying any HSM * settings changes specified in a modify cluster command. *

*

* Values: active, applying *

* * @param hsmStatus * Reports whether the Amazon Redshift cluster has finished applying * any HSM settings changes specified in a modify cluster * command.

*

* Values: active, applying * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withHsmStatus(HsmStatus hsmStatus) { setHsmStatus(hsmStatus); return this; } /** *

* Returns the destination region and retention period that are configured * for cross-region snapshot copy. *

* * @param clusterSnapshotCopyStatus * Returns the destination region and retention period that are * configured for cross-region snapshot copy. */ public void setClusterSnapshotCopyStatus( ClusterSnapshotCopyStatus clusterSnapshotCopyStatus) { this.clusterSnapshotCopyStatus = clusterSnapshotCopyStatus; } /** *

* Returns the destination region and retention period that are configured * for cross-region snapshot copy. *

* * @return Returns the destination region and retention period that are * configured for cross-region snapshot copy. */ public ClusterSnapshotCopyStatus getClusterSnapshotCopyStatus() { return this.clusterSnapshotCopyStatus; } /** *

* Returns the destination region and retention period that are configured * for cross-region snapshot copy. *

* * @param clusterSnapshotCopyStatus * Returns the destination region and retention period that are * configured for cross-region snapshot copy. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterSnapshotCopyStatus( ClusterSnapshotCopyStatus clusterSnapshotCopyStatus) { setClusterSnapshotCopyStatus(clusterSnapshotCopyStatus); return this; } /** *

* The public key for the cluster. *

* * @param clusterPublicKey * The public key for the cluster. */ public void setClusterPublicKey(String clusterPublicKey) { this.clusterPublicKey = clusterPublicKey; } /** *

* The public key for the cluster. *

* * @return The public key for the cluster. */ public String getClusterPublicKey() { return this.clusterPublicKey; } /** *

* The public key for the cluster. *

* * @param clusterPublicKey * The public key for the cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterPublicKey(String clusterPublicKey) { setClusterPublicKey(clusterPublicKey); return this; } /** *

* The nodes in a cluster. *

* * @return The nodes in a cluster. */ public java.util.List getClusterNodes() { if (clusterNodes == null) { clusterNodes = new com.amazonaws.internal.SdkInternalList(); } return clusterNodes; } /** *

* The nodes in a cluster. *

* * @param clusterNodes * The nodes in a cluster. */ public void setClusterNodes(java.util.Collection clusterNodes) { if (clusterNodes == null) { this.clusterNodes = null; return; } this.clusterNodes = new com.amazonaws.internal.SdkInternalList( clusterNodes); } /** *

* The nodes in a 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 a cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterNodes(ClusterNode... clusterNodes) { if (this.clusterNodes == null) { setClusterNodes(new com.amazonaws.internal.SdkInternalList( clusterNodes.length)); } for (ClusterNode ele : clusterNodes) { this.clusterNodes.add(ele); } return this; } /** *

* The nodes in a cluster. *

* * @param clusterNodes * The nodes in a cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterNodes( java.util.Collection clusterNodes) { setClusterNodes(clusterNodes); return this; } /** *

* The status of the elastic IP (EIP) address. *

* * @param elasticIpStatus * The status of the elastic IP (EIP) address. */ public void setElasticIpStatus(ElasticIpStatus elasticIpStatus) { this.elasticIpStatus = elasticIpStatus; } /** *

* The status of the elastic IP (EIP) address. *

* * @return The status of the elastic IP (EIP) address. */ public ElasticIpStatus getElasticIpStatus() { return this.elasticIpStatus; } /** *

* The status of the elastic IP (EIP) address. *

* * @param elasticIpStatus * The status of the elastic IP (EIP) address. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withElasticIpStatus(ElasticIpStatus elasticIpStatus) { setElasticIpStatus(elasticIpStatus); return this; } /** *

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

* * @param clusterRevisionNumber * The specific revision number of the database in the cluster. */ public void setClusterRevisionNumber(String clusterRevisionNumber) { this.clusterRevisionNumber = clusterRevisionNumber; } /** *

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

* * @return The specific revision number of the database in the cluster. */ public String getClusterRevisionNumber() { return this.clusterRevisionNumber; } /** *

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

* * @param clusterRevisionNumber * The specific revision number of the database in the cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withClusterRevisionNumber(String clusterRevisionNumber) { setClusterRevisionNumber(clusterRevisionNumber); return this; } /** *

* The list of tags for the cluster. *

* * @return The list of tags for the cluster. */ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return tags; } /** *

* The list of tags for the cluster. *

* * @param tags * The list of tags for the cluster. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList(tags); } /** *

* The list of tags for the cluster. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setTags(java.util.Collection)} or * {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

* * @param tags * The list of tags for the cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

* The list of tags for the cluster. *

* * @param tags * The list of tags for the cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

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

* * @param kmsKeyId * The AWS Key Management Service (KMS) key ID of the encryption key * used to encrypt data in the cluster. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *

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

* * @return The AWS Key Management Service (KMS) key ID of the encryption key * used to encrypt data in the cluster. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *

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

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

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

* * @return A list of AWS Identity and Access Management (IAM) roles that can * be used by the cluster to access other AWS services. */ public java.util.List getIamRoles() { if (iamRoles == null) { iamRoles = new com.amazonaws.internal.SdkInternalList(); } return iamRoles; } /** *

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

* * @param iamRoles * A list of AWS Identity and Access Management (IAM) roles that can * be used by the cluster to access other AWS services. */ public void setIamRoles(java.util.Collection iamRoles) { if (iamRoles == null) { this.iamRoles = null; return; } this.iamRoles = new com.amazonaws.internal.SdkInternalList( iamRoles); } /** *

* A list of AWS Identity and Access Management (IAM) roles that can be used * by the cluster to access other AWS 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 AWS Identity and Access Management (IAM) roles that can * be used by the cluster to access other AWS services. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withIamRoles(ClusterIamRole... iamRoles) { if (this.iamRoles == null) { setIamRoles(new com.amazonaws.internal.SdkInternalList( iamRoles.length)); } for (ClusterIamRole ele : iamRoles) { this.iamRoles.add(ele); } return this; } /** *

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

* * @param iamRoles * A list of AWS Identity and Access Management (IAM) roles that can * be used by the cluster to access other AWS services. * @return Returns a reference to this object so that method calls can be * chained together. */ public Cluster withIamRoles(java.util.Collection iamRoles) { setIamRoles(iamRoles); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getClusterIdentifier() != null) sb.append("ClusterIdentifier: " + getClusterIdentifier() + ","); if (getNodeType() != null) sb.append("NodeType: " + getNodeType() + ","); if (getClusterStatus() != null) sb.append("ClusterStatus: " + getClusterStatus() + ","); if (getModifyStatus() != null) sb.append("ModifyStatus: " + getModifyStatus() + ","); if (getMasterUsername() != null) sb.append("MasterUsername: " + getMasterUsername() + ","); if (getDBName() != null) sb.append("DBName: " + getDBName() + ","); if (getEndpoint() != null) sb.append("Endpoint: " + getEndpoint() + ","); if (getClusterCreateTime() != null) sb.append("ClusterCreateTime: " + getClusterCreateTime() + ","); if (getAutomatedSnapshotRetentionPeriod() != null) sb.append("AutomatedSnapshotRetentionPeriod: " + getAutomatedSnapshotRetentionPeriod() + ","); if (getClusterSecurityGroups() != null) sb.append("ClusterSecurityGroups: " + getClusterSecurityGroups() + ","); if (getVpcSecurityGroups() != null) sb.append("VpcSecurityGroups: " + getVpcSecurityGroups() + ","); if (getClusterParameterGroups() != null) sb.append("ClusterParameterGroups: " + getClusterParameterGroups() + ","); if (getClusterSubnetGroupName() != null) sb.append("ClusterSubnetGroupName: " + getClusterSubnetGroupName() + ","); if (getVpcId() != null) sb.append("VpcId: " + getVpcId() + ","); if (getAvailabilityZone() != null) sb.append("AvailabilityZone: " + getAvailabilityZone() + ","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: " + getPreferredMaintenanceWindow() + ","); if (getPendingModifiedValues() != null) sb.append("PendingModifiedValues: " + getPendingModifiedValues() + ","); if (getClusterVersion() != null) sb.append("ClusterVersion: " + getClusterVersion() + ","); if (getAllowVersionUpgrade() != null) sb.append("AllowVersionUpgrade: " + getAllowVersionUpgrade() + ","); if (getNumberOfNodes() != null) sb.append("NumberOfNodes: " + getNumberOfNodes() + ","); if (getPubliclyAccessible() != null) sb.append("PubliclyAccessible: " + getPubliclyAccessible() + ","); if (getEncrypted() != null) sb.append("Encrypted: " + getEncrypted() + ","); if (getRestoreStatus() != null) sb.append("RestoreStatus: " + getRestoreStatus() + ","); if (getHsmStatus() != null) sb.append("HsmStatus: " + getHsmStatus() + ","); if (getClusterSnapshotCopyStatus() != null) sb.append("ClusterSnapshotCopyStatus: " + getClusterSnapshotCopyStatus() + ","); if (getClusterPublicKey() != null) sb.append("ClusterPublicKey: " + getClusterPublicKey() + ","); if (getClusterNodes() != null) sb.append("ClusterNodes: " + getClusterNodes() + ","); if (getElasticIpStatus() != null) sb.append("ElasticIpStatus: " + getElasticIpStatus() + ","); if (getClusterRevisionNumber() != null) sb.append("ClusterRevisionNumber: " + getClusterRevisionNumber() + ","); if (getTags() != null) sb.append("Tags: " + getTags() + ","); if (getKmsKeyId() != null) sb.append("KmsKeyId: " + getKmsKeyId() + ","); if (getIamRoles() != null) sb.append("IamRoles: " + getIamRoles()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Cluster == false) return false; Cluster other = (Cluster) obj; if (other.getClusterIdentifier() == null ^ this.getClusterIdentifier() == null) return false; if (other.getClusterIdentifier() != null && other.getClusterIdentifier().equals( this.getClusterIdentifier()) == false) return false; if (other.getNodeType() == null ^ this.getNodeType() == null) return false; if (other.getNodeType() != null && other.getNodeType().equals(this.getNodeType()) == false) return false; if (other.getClusterStatus() == null ^ this.getClusterStatus() == null) return false; if (other.getClusterStatus() != null && other.getClusterStatus().equals(this.getClusterStatus()) == false) return false; if (other.getModifyStatus() == null ^ this.getModifyStatus() == null) return false; if (other.getModifyStatus() != null && other.getModifyStatus().equals(this.getModifyStatus()) == false) return false; if (other.getMasterUsername() == null ^ this.getMasterUsername() == null) return false; if (other.getMasterUsername() != null && other.getMasterUsername().equals(this.getMasterUsername()) == false) return false; if (other.getDBName() == null ^ this.getDBName() == null) return false; if (other.getDBName() != null && other.getDBName().equals(this.getDBName()) == false) return false; if (other.getEndpoint() == null ^ this.getEndpoint() == null) return false; if (other.getEndpoint() != null && other.getEndpoint().equals(this.getEndpoint()) == false) return false; if (other.getClusterCreateTime() == null ^ this.getClusterCreateTime() == null) return false; if (other.getClusterCreateTime() != null && other.getClusterCreateTime().equals( this.getClusterCreateTime()) == false) return false; if (other.getAutomatedSnapshotRetentionPeriod() == null ^ this.getAutomatedSnapshotRetentionPeriod() == null) return false; if (other.getAutomatedSnapshotRetentionPeriod() != null && other.getAutomatedSnapshotRetentionPeriod().equals( this.getAutomatedSnapshotRetentionPeriod()) == false) return false; if (other.getClusterSecurityGroups() == null ^ this.getClusterSecurityGroups() == null) return false; if (other.getClusterSecurityGroups() != null && other.getClusterSecurityGroups().equals( this.getClusterSecurityGroups()) == false) return false; if (other.getVpcSecurityGroups() == null ^ this.getVpcSecurityGroups() == null) return false; if (other.getVpcSecurityGroups() != null && other.getVpcSecurityGroups().equals( this.getVpcSecurityGroups()) == false) return false; if (other.getClusterParameterGroups() == null ^ this.getClusterParameterGroups() == null) return false; if (other.getClusterParameterGroups() != null && other.getClusterParameterGroups().equals( this.getClusterParameterGroups()) == false) return false; if (other.getClusterSubnetGroupName() == null ^ this.getClusterSubnetGroupName() == null) return false; if (other.getClusterSubnetGroupName() != null && other.getClusterSubnetGroupName().equals( this.getClusterSubnetGroupName()) == false) return false; if (other.getVpcId() == null ^ this.getVpcId() == null) return false; if (other.getVpcId() != null && other.getVpcId().equals(this.getVpcId()) == false) return false; if (other.getAvailabilityZone() == null ^ this.getAvailabilityZone() == null) return false; if (other.getAvailabilityZone() != null && other.getAvailabilityZone().equals( this.getAvailabilityZone()) == false) return false; if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals( this.getPreferredMaintenanceWindow()) == false) return false; if (other.getPendingModifiedValues() == null ^ this.getPendingModifiedValues() == null) return false; if (other.getPendingModifiedValues() != null && other.getPendingModifiedValues().equals( this.getPendingModifiedValues()) == false) return false; if (other.getClusterVersion() == null ^ this.getClusterVersion() == null) return false; if (other.getClusterVersion() != null && other.getClusterVersion().equals(this.getClusterVersion()) == false) return false; if (other.getAllowVersionUpgrade() == null ^ this.getAllowVersionUpgrade() == null) return false; if (other.getAllowVersionUpgrade() != null && other.getAllowVersionUpgrade().equals( this.getAllowVersionUpgrade()) == false) return false; if (other.getNumberOfNodes() == null ^ this.getNumberOfNodes() == null) return false; if (other.getNumberOfNodes() != null && other.getNumberOfNodes().equals(this.getNumberOfNodes()) == false) return false; if (other.getPubliclyAccessible() == null ^ this.getPubliclyAccessible() == null) return false; if (other.getPubliclyAccessible() != null && other.getPubliclyAccessible().equals( this.getPubliclyAccessible()) == false) return false; if (other.getEncrypted() == null ^ this.getEncrypted() == null) return false; if (other.getEncrypted() != null && other.getEncrypted().equals(this.getEncrypted()) == false) return false; if (other.getRestoreStatus() == null ^ this.getRestoreStatus() == null) return false; if (other.getRestoreStatus() != null && other.getRestoreStatus().equals(this.getRestoreStatus()) == false) return false; if (other.getHsmStatus() == null ^ this.getHsmStatus() == null) return false; if (other.getHsmStatus() != null && other.getHsmStatus().equals(this.getHsmStatus()) == false) return false; if (other.getClusterSnapshotCopyStatus() == null ^ this.getClusterSnapshotCopyStatus() == null) return false; if (other.getClusterSnapshotCopyStatus() != null && other.getClusterSnapshotCopyStatus().equals( this.getClusterSnapshotCopyStatus()) == false) return false; if (other.getClusterPublicKey() == null ^ this.getClusterPublicKey() == null) return false; if (other.getClusterPublicKey() != null && other.getClusterPublicKey().equals( this.getClusterPublicKey()) == false) return false; if (other.getClusterNodes() == null ^ this.getClusterNodes() == null) return false; if (other.getClusterNodes() != null && other.getClusterNodes().equals(this.getClusterNodes()) == false) return false; if (other.getElasticIpStatus() == null ^ this.getElasticIpStatus() == null) return false; if (other.getElasticIpStatus() != null && other.getElasticIpStatus().equals(this.getElasticIpStatus()) == false) return false; if (other.getClusterRevisionNumber() == null ^ this.getClusterRevisionNumber() == null) return false; if (other.getClusterRevisionNumber() != null && other.getClusterRevisionNumber().equals( this.getClusterRevisionNumber()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null) return false; if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false) return false; if (other.getIamRoles() == null ^ this.getIamRoles() == null) return false; if (other.getIamRoles() != null && other.getIamRoles().equals(this.getIamRoles()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getClusterIdentifier() == null) ? 0 : getClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getNodeType() == null) ? 0 : getNodeType().hashCode()); hashCode = prime * hashCode + ((getClusterStatus() == null) ? 0 : getClusterStatus() .hashCode()); hashCode = prime * hashCode + ((getModifyStatus() == null) ? 0 : getModifyStatus() .hashCode()); hashCode = prime * hashCode + ((getMasterUsername() == null) ? 0 : getMasterUsername() .hashCode()); hashCode = prime * hashCode + ((getDBName() == null) ? 0 : getDBName().hashCode()); hashCode = prime * hashCode + ((getEndpoint() == null) ? 0 : getEndpoint().hashCode()); hashCode = prime * hashCode + ((getClusterCreateTime() == null) ? 0 : getClusterCreateTime().hashCode()); hashCode = prime * hashCode + ((getAutomatedSnapshotRetentionPeriod() == null) ? 0 : getAutomatedSnapshotRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getClusterSecurityGroups() == null) ? 0 : getClusterSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getVpcSecurityGroups() == null) ? 0 : getVpcSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getClusterParameterGroups() == null) ? 0 : getClusterParameterGroups().hashCode()); hashCode = prime * hashCode + ((getClusterSubnetGroupName() == null) ? 0 : getClusterSubnetGroupName().hashCode()); hashCode = prime * hashCode + ((getVpcId() == null) ? 0 : getVpcId().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone() .hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getPendingModifiedValues() == null) ? 0 : getPendingModifiedValues().hashCode()); hashCode = prime * hashCode + ((getClusterVersion() == null) ? 0 : getClusterVersion() .hashCode()); hashCode = prime * hashCode + ((getAllowVersionUpgrade() == null) ? 0 : getAllowVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes() .hashCode()); hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode()); hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode()); hashCode = prime * hashCode + ((getRestoreStatus() == null) ? 0 : getRestoreStatus() .hashCode()); hashCode = prime * hashCode + ((getHsmStatus() == null) ? 0 : getHsmStatus().hashCode()); hashCode = prime * hashCode + ((getClusterSnapshotCopyStatus() == null) ? 0 : getClusterSnapshotCopyStatus().hashCode()); hashCode = prime * hashCode + ((getClusterPublicKey() == null) ? 0 : getClusterPublicKey() .hashCode()); hashCode = prime * hashCode + ((getClusterNodes() == null) ? 0 : getClusterNodes() .hashCode()); hashCode = prime * hashCode + ((getElasticIpStatus() == null) ? 0 : getElasticIpStatus() .hashCode()); hashCode = prime * hashCode + ((getClusterRevisionNumber() == null) ? 0 : getClusterRevisionNumber().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getIamRoles() == null) ? 0 : getIamRoles().hashCode()); return hashCode; } @Override public Cluster clone() { try { return (Cluster) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy