
com.amazonaws.services.redshift.model.RestoreFromClusterSnapshotRequest Maven / Gradle / Ivy
/*
* Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.redshift.model;
import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;
/**
* Container for the parameters to the {@link com.amazonaws.services.redshift.AmazonRedshift#restoreFromClusterSnapshot(RestoreFromClusterSnapshotRequest) RestoreFromClusterSnapshot operation}.
*
* Creates a new cluster from a snapshot. Amazon Redshift creates the
* resulting cluster with the same configuration as the original cluster
* from which the snapshot was created, except that the new cluster is
* created with the default cluster security and parameter group. After
* Amazon Redshift creates the cluster you can use the ModifyCluster API
* to associate a different security group and different parameter group
* with the restored cluster.
*
*
* If you restore a cluster into a VPC, you must provide a cluster
* subnet group where you want the cluster restored.
*
*
* For more information about working with snapshots, go to
* Amazon Redshift Snapshots
* in the Amazon Redshift Management Guide .
*
*
* @see com.amazonaws.services.redshift.AmazonRedshift#restoreFromClusterSnapshot(RestoreFromClusterSnapshotRequest)
*/
public class RestoreFromClusterSnapshotRequest extends AmazonWebServiceRequest implements Serializable {
/**
* The identifier of the cluster that will be created from restoring the
* snapshot.
Constraints:
- Must contain from 1 to 63
* alphanumeric characters or hyphens.
- Alphabetic characters
* must be lowercase.
- First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*/
private String clusterIdentifier;
/**
* The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive. Example:
* my-snapshot-id
*/
private String snapshotIdentifier;
/**
* The name of the cluster the source snapshot was created from. This
* parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name.
*/
private String snapshotClusterIdentifier;
/**
* The port number on which the cluster accepts connections.
Default:
* The same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
*/
private Integer port;
/**
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
Default: A random, system-chosen Availability Zone.
Example:
* us-east-1a
*/
private String availabilityZone;
/**
* If true
, upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
*/
private Boolean allowVersionUpgrade;
/**
* The name of the subnet group where you want to cluster restored.
A
* snapshot of cluster in VPC can be restored only in VPC. Therefore, you
* must provide subnet group name where you want the cluster restored.
*/
private String clusterSubnetGroupName;
/**
* If true
, the cluster can be accessed from a public
* network.
*/
private Boolean publiclyAccessible;
/**
* The AWS customer account used to create or copy the snapshot. Required
* if you are restoring a snapshot you do not own, optional if you own
* the snapshot.
*/
private String ownerAccount;
/**
* Specifies the name of the HSM client certificate the Amazon Redshift
* cluster uses to retrieve the data encryption keys stored in an HSM.
*/
private String hsmClientCertificateIdentifier;
/**
* Specifies the name of the HSM configuration that contains the
* information the Amazon Redshift cluster can use to retrieve and store
* keys in an HSM.
*/
private String hsmConfigurationIdentifier;
/**
* The elastic IP (EIP) address for the cluster.
*/
private String elasticIp;
/**
* The name of the parameter group to be associated with this cluster.
*
Default: The default Amazon Redshift cluster parameter group. For
* information about the default parameter group, go to Working
* with Amazon Redshift Parameter Groups.
Constraints:
* - Must be 1 to 255 alphanumeric characters or hyphens.
* - First character must be a letter.
- Cannot end with a
* hyphen or contain two consecutive hyphens.
*/
private String clusterParameterGroupName;
/**
* A list of security groups to be associated with this cluster.
* Default: The default cluster security group for Amazon Redshift.
*
Cluster security groups only apply to clusters outside of VPCs.
*/
private com.amazonaws.internal.ListWithAutoConstructFlag clusterSecurityGroups;
/**
* A list of Virtual Private Cloud (VPC) security groups to be associated
* with the cluster. Default: The default VPC security group is
* associated with the cluster.
VPC security groups only apply to
* clusters in VPCs.
*/
private com.amazonaws.internal.ListWithAutoConstructFlag vpcSecurityGroupIds;
/**
* The weekly time range (in UTC) during which automated cluster
* maintenance can occur. Format:
* ddd:hh24:mi-ddd:hh24:mi
Default: The value selected
* for the cluster from which the snapshot was taken. The following list
* shows the time blocks for each region from which the default
* maintenance windows are assigned.
- US-East (Northern
* Virginia) Region: 03:00-11:00 UTC
- US-West (Oregon)
* Region 06:00-14:00 UTC
- EU (Ireland) Region
* 22:00-06:00 UTC
- Asia Pacific (Singapore) Region
* 14:00-22:00 UTC
- Asia Pacific (Sydney) Region
* 12:00-20:00 UTC
- Asia Pacific (Tokyo) Region
* 17:00-03:00 UTC
Valid Days: Mon | Tue | Wed | Thu | Fri
* | Sat | Sun
Constraints: Minimum 30-minute window.
*/
private String preferredMaintenanceWindow;
/**
* The number of days that automated snapshots are retained. If the value
* is 0, automated snapshots are disabled. Even if automated snapshots
* are disabled, you can still create manual snapshots when you want with
* CreateClusterSnapshot.
Default: The value selected for the
* cluster from which the snapshot was taken.
Constraints: Must be a
* value from 0 to 35.
*/
private Integer automatedSnapshotRetentionPeriod;
/**
* The identifier of the cluster that will be created from restoring the
* snapshot.
Constraints:
- Must contain from 1 to 63
* alphanumeric characters or hyphens.
- Alphabetic characters
* must be lowercase.
- First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*
* @return The identifier of the cluster that will be created from restoring the
* snapshot.
Constraints:
- Must contain from 1 to 63
* alphanumeric characters or hyphens.
- Alphabetic characters
* must be lowercase.
- First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*/
public String getClusterIdentifier() {
return clusterIdentifier;
}
/**
* The identifier of the cluster that will be created from restoring the
* snapshot.
Constraints:
- Must contain from 1 to 63
* alphanumeric characters or hyphens.
- Alphabetic characters
* must be lowercase.
- First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*
* @param clusterIdentifier The identifier of the cluster that will be created from restoring the
* snapshot.
Constraints:
- Must contain from 1 to 63
* alphanumeric characters or hyphens.
- Alphabetic characters
* must be lowercase.
- First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*/
public void setClusterIdentifier(String clusterIdentifier) {
this.clusterIdentifier = clusterIdentifier;
}
/**
* The identifier of the cluster that will be created from restoring the
* snapshot.
Constraints:
- Must contain from 1 to 63
* alphanumeric characters or hyphens.
- Alphabetic characters
* must be lowercase.
- First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param clusterIdentifier The identifier of the cluster that will be created from restoring the
* snapshot.
Constraints:
- Must contain from 1 to 63
* alphanumeric characters or hyphens.
- Alphabetic characters
* must be lowercase.
- First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withClusterIdentifier(String clusterIdentifier) {
this.clusterIdentifier = clusterIdentifier;
return this;
}
/**
* The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive. Example:
* my-snapshot-id
*
* @return The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive.
Example:
* my-snapshot-id
*/
public String getSnapshotIdentifier() {
return snapshotIdentifier;
}
/**
* The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive.
Example:
* my-snapshot-id
*
* @param snapshotIdentifier The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive.
Example:
* my-snapshot-id
*/
public void setSnapshotIdentifier(String snapshotIdentifier) {
this.snapshotIdentifier = snapshotIdentifier;
}
/**
* The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive.
Example:
* my-snapshot-id
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param snapshotIdentifier The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive.
Example:
* my-snapshot-id
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withSnapshotIdentifier(String snapshotIdentifier) {
this.snapshotIdentifier = snapshotIdentifier;
return this;
}
/**
* The name of the cluster the source snapshot was created from. This
* parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name.
*
* @return The name of the cluster the source snapshot was created from. This
* parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name.
*/
public String getSnapshotClusterIdentifier() {
return snapshotClusterIdentifier;
}
/**
* The name of the cluster the source snapshot was created from. This
* parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name.
*
* @param snapshotClusterIdentifier The name of the cluster the source snapshot was created from. This
* parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name.
*/
public void setSnapshotClusterIdentifier(String snapshotClusterIdentifier) {
this.snapshotClusterIdentifier = snapshotClusterIdentifier;
}
/**
* The name of the cluster the source snapshot was created from. This
* parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param snapshotClusterIdentifier The name of the cluster the source snapshot was created from. This
* parameter is required if your IAM user has a policy containing a
* snapshot resource element that specifies anything other than * for the
* cluster name.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withSnapshotClusterIdentifier(String snapshotClusterIdentifier) {
this.snapshotClusterIdentifier = snapshotClusterIdentifier;
return this;
}
/**
* The port number on which the cluster accepts connections.
Default:
* The same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
*
* @return The port number on which the cluster accepts connections.
Default:
* The same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
*/
public Integer getPort() {
return port;
}
/**
* The port number on which the cluster accepts connections.
Default:
* The same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
*
* @param port The port number on which the cluster accepts connections.
Default:
* The same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
*/
public void setPort(Integer port) {
this.port = port;
}
/**
* The port number on which the cluster accepts connections.
Default:
* The same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param port The port number on which the cluster accepts connections.
Default:
* The same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withPort(Integer port) {
this.port = port;
return this;
}
/**
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
Default: A random, system-chosen Availability Zone.
Example:
* us-east-1a
*
* @return The Amazon EC2 Availability Zone in which to restore the cluster.
*
Default: A random, system-chosen Availability Zone.
Example:
* us-east-1a
*/
public String getAvailabilityZone() {
return availabilityZone;
}
/**
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
Default: A random, system-chosen Availability Zone.
Example:
* us-east-1a
*
* @param availabilityZone The Amazon EC2 Availability Zone in which to restore the cluster.
*
Default: A random, system-chosen Availability Zone.
Example:
* us-east-1a
*/
public void setAvailabilityZone(String availabilityZone) {
this.availabilityZone = availabilityZone;
}
/**
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
Default: A random, system-chosen Availability Zone.
Example:
* us-east-1a
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param availabilityZone The Amazon EC2 Availability Zone in which to restore the cluster.
*
Default: A random, system-chosen Availability Zone.
Example:
* us-east-1a
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withAvailabilityZone(String availabilityZone) {
this.availabilityZone = availabilityZone;
return this;
}
/**
* If true
, upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
*
* @return If true
, upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
*/
public Boolean isAllowVersionUpgrade() {
return allowVersionUpgrade;
}
/**
* If true
, upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
*
* @param allowVersionUpgrade If true
, upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
*/
public void setAllowVersionUpgrade(Boolean allowVersionUpgrade) {
this.allowVersionUpgrade = allowVersionUpgrade;
}
/**
* If true
, upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param allowVersionUpgrade If true
, upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withAllowVersionUpgrade(Boolean allowVersionUpgrade) {
this.allowVersionUpgrade = allowVersionUpgrade;
return this;
}
/**
* If true
, upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
*
* @return If true
, upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
*/
public Boolean getAllowVersionUpgrade() {
return allowVersionUpgrade;
}
/**
* The name of the subnet group where you want to cluster restored.
A
* snapshot of cluster in VPC can be restored only in VPC. Therefore, you
* must provide subnet group name where you want the cluster restored.
*
* @return The name of the subnet group where you want to cluster restored.
A
* snapshot of cluster in VPC can be restored only in VPC. Therefore, you
* must provide subnet group name where you want the cluster restored.
*/
public String getClusterSubnetGroupName() {
return clusterSubnetGroupName;
}
/**
* The name of the subnet group where you want to cluster restored.
A
* snapshot of cluster in VPC can be restored only in VPC. Therefore, you
* must provide subnet group name where you want the cluster restored.
*
* @param clusterSubnetGroupName The name of the subnet group where you want to cluster restored.
A
* snapshot of cluster in VPC can be restored only in VPC. Therefore, you
* must provide subnet group name where you want the cluster restored.
*/
public void setClusterSubnetGroupName(String clusterSubnetGroupName) {
this.clusterSubnetGroupName = clusterSubnetGroupName;
}
/**
* The name of the subnet group where you want to cluster restored.
A
* snapshot of cluster in VPC can be restored only in VPC. Therefore, you
* must provide subnet group name where you want the cluster restored.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param clusterSubnetGroupName The name of the subnet group where you want to cluster restored.
A
* snapshot of cluster in VPC can be restored only in VPC. Therefore, you
* must provide subnet group name where you want the cluster restored.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withClusterSubnetGroupName(String clusterSubnetGroupName) {
this.clusterSubnetGroupName = clusterSubnetGroupName;
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 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.
*/
public void setPubliclyAccessible(Boolean publiclyAccessible) {
this.publiclyAccessible = publiclyAccessible;
}
/**
* If true
, the cluster can be accessed from a public
* network.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param publiclyAccessible If true
, the cluster can be accessed from a public
* network.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withPubliclyAccessible(Boolean publiclyAccessible) {
this.publiclyAccessible = 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 getPubliclyAccessible() {
return publiclyAccessible;
}
/**
* The AWS customer account used to create or copy the snapshot. Required
* if you are restoring a snapshot you do not own, optional if you own
* the snapshot.
*
* @return The AWS customer account used to create or copy the snapshot. Required
* if you are restoring a snapshot you do not own, optional if you own
* the snapshot.
*/
public String getOwnerAccount() {
return ownerAccount;
}
/**
* The AWS customer account used to create or copy the snapshot. Required
* if you are restoring a snapshot you do not own, optional if you own
* the snapshot.
*
* @param ownerAccount The AWS customer account used to create or copy the snapshot. Required
* if you are restoring a snapshot you do not own, optional if you own
* the snapshot.
*/
public void setOwnerAccount(String ownerAccount) {
this.ownerAccount = ownerAccount;
}
/**
* The AWS customer account used to create or copy the snapshot. Required
* if you are restoring a snapshot you do not own, optional if you own
* the snapshot.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param ownerAccount The AWS customer account used to create or copy the snapshot. Required
* if you are restoring a snapshot you do not own, optional if you own
* the snapshot.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withOwnerAccount(String ownerAccount) {
this.ownerAccount = ownerAccount;
return this;
}
/**
* Specifies the name of the HSM client certificate the Amazon Redshift
* cluster uses to retrieve the data encryption keys stored in an HSM.
*
* @return Specifies the name of the HSM client certificate the Amazon Redshift
* cluster uses to retrieve the data encryption keys stored in an HSM.
*/
public String getHsmClientCertificateIdentifier() {
return hsmClientCertificateIdentifier;
}
/**
* Specifies the name of the HSM client certificate the Amazon Redshift
* cluster uses to retrieve the data encryption keys stored in an HSM.
*
* @param hsmClientCertificateIdentifier Specifies the name of the HSM client certificate the Amazon Redshift
* cluster uses to retrieve the data encryption keys stored in an HSM.
*/
public void setHsmClientCertificateIdentifier(String hsmClientCertificateIdentifier) {
this.hsmClientCertificateIdentifier = hsmClientCertificateIdentifier;
}
/**
* Specifies the name of the HSM client certificate the Amazon Redshift
* cluster uses to retrieve the data encryption keys stored in an HSM.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param hsmClientCertificateIdentifier Specifies the name of the HSM client certificate the Amazon Redshift
* cluster uses to retrieve the data encryption keys stored in an HSM.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withHsmClientCertificateIdentifier(String hsmClientCertificateIdentifier) {
this.hsmClientCertificateIdentifier = hsmClientCertificateIdentifier;
return this;
}
/**
* Specifies the name of the HSM configuration that contains the
* information the Amazon Redshift cluster can use to retrieve and store
* keys in an HSM.
*
* @return Specifies the name of the HSM configuration that contains the
* information the Amazon Redshift cluster can use to retrieve and store
* keys in an HSM.
*/
public String getHsmConfigurationIdentifier() {
return hsmConfigurationIdentifier;
}
/**
* Specifies the name of the HSM configuration that contains the
* information the Amazon Redshift cluster can use to retrieve and store
* keys in an HSM.
*
* @param hsmConfigurationIdentifier Specifies the name of the HSM configuration that contains the
* information the Amazon Redshift cluster can use to retrieve and store
* keys in an HSM.
*/
public void setHsmConfigurationIdentifier(String hsmConfigurationIdentifier) {
this.hsmConfigurationIdentifier = hsmConfigurationIdentifier;
}
/**
* Specifies the name of the HSM configuration that contains the
* information the Amazon Redshift cluster can use to retrieve and store
* keys in an HSM.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param hsmConfigurationIdentifier Specifies the name of the HSM configuration that contains the
* information the Amazon Redshift cluster can use to retrieve and store
* keys in an HSM.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withHsmConfigurationIdentifier(String hsmConfigurationIdentifier) {
this.hsmConfigurationIdentifier = hsmConfigurationIdentifier;
return this;
}
/**
* The elastic IP (EIP) address for the cluster.
*
* @return The elastic IP (EIP) address for the cluster.
*/
public String getElasticIp() {
return elasticIp;
}
/**
* The elastic IP (EIP) address for the cluster.
*
* @param elasticIp The elastic IP (EIP) address for the cluster.
*/
public void setElasticIp(String elasticIp) {
this.elasticIp = elasticIp;
}
/**
* The elastic IP (EIP) address for the cluster.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param elasticIp The elastic IP (EIP) address for the cluster.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withElasticIp(String elasticIp) {
this.elasticIp = elasticIp;
return this;
}
/**
* The name of the parameter group to be associated with this cluster.
*
Default: The default Amazon Redshift cluster parameter group. For
* information about the default parameter group, go to Working
* with Amazon Redshift Parameter Groups.
Constraints:
* - Must be 1 to 255 alphanumeric characters or hyphens.
* - First character must be a letter.
- Cannot end with a
* hyphen or contain two consecutive hyphens.
*
* @return The name of the parameter group to be associated with this cluster.
* Default: The default Amazon Redshift cluster parameter group. For
* information about the default parameter group, go to Working
* with Amazon Redshift Parameter Groups.
Constraints:
* - Must be 1 to 255 alphanumeric characters or hyphens.
* - First character must be a letter.
- Cannot end with a
* hyphen or contain two consecutive hyphens.
*/
public String getClusterParameterGroupName() {
return clusterParameterGroupName;
}
/**
* The name of the parameter group to be associated with this cluster.
* Default: The default Amazon Redshift cluster parameter group. For
* information about the default parameter group, go to Working
* with Amazon Redshift Parameter Groups.
Constraints:
* - Must be 1 to 255 alphanumeric characters or hyphens.
* - First character must be a letter.
- Cannot end with a
* hyphen or contain two consecutive hyphens.
*
* @param clusterParameterGroupName The name of the parameter group to be associated with this cluster.
* Default: The default Amazon Redshift cluster parameter group. For
* information about the default parameter group, go to Working
* with Amazon Redshift Parameter Groups.
Constraints:
* - Must be 1 to 255 alphanumeric characters or hyphens.
* - First character must be a letter.
- Cannot end with a
* hyphen or contain two consecutive hyphens.
*/
public void setClusterParameterGroupName(String clusterParameterGroupName) {
this.clusterParameterGroupName = clusterParameterGroupName;
}
/**
* The name of the parameter group to be associated with this cluster.
* Default: The default Amazon Redshift cluster parameter group. For
* information about the default parameter group, go to Working
* with Amazon Redshift Parameter Groups.
Constraints:
* - Must be 1 to 255 alphanumeric characters or hyphens.
* - First character must be a letter.
- Cannot end with a
* hyphen or contain two consecutive hyphens.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param clusterParameterGroupName The name of the parameter group to be associated with this cluster.
*
Default: The default Amazon Redshift cluster parameter group. For
* information about the default parameter group, go to Working
* with Amazon Redshift Parameter Groups.
Constraints:
* - Must be 1 to 255 alphanumeric characters or hyphens.
* - First character must be a letter.
- Cannot end with a
* hyphen or contain two consecutive hyphens.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withClusterParameterGroupName(String clusterParameterGroupName) {
this.clusterParameterGroupName = clusterParameterGroupName;
return this;
}
/**
* A list of security groups to be associated with this cluster.
* Default: The default cluster security group for Amazon Redshift.
*
Cluster security groups only apply to clusters outside of VPCs.
*
* @return A list of security groups to be associated with this cluster.
* Default: The default cluster security group for Amazon Redshift.
*
Cluster security groups only apply to clusters outside of VPCs.
*/
public java.util.List getClusterSecurityGroups() {
if (clusterSecurityGroups == null) {
clusterSecurityGroups = new com.amazonaws.internal.ListWithAutoConstructFlag();
clusterSecurityGroups.setAutoConstruct(true);
}
return clusterSecurityGroups;
}
/**
* A list of security groups to be associated with this cluster.
* Default: The default cluster security group for Amazon Redshift.
*
Cluster security groups only apply to clusters outside of VPCs.
*
* @param clusterSecurityGroups A list of security groups to be associated with this cluster.
* Default: The default cluster security group for Amazon Redshift.
*
Cluster security groups only apply to clusters outside of VPCs.
*/
public void setClusterSecurityGroups(java.util.Collection clusterSecurityGroups) {
if (clusterSecurityGroups == null) {
this.clusterSecurityGroups = null;
return;
}
com.amazonaws.internal.ListWithAutoConstructFlag clusterSecurityGroupsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(clusterSecurityGroups.size());
clusterSecurityGroupsCopy.addAll(clusterSecurityGroups);
this.clusterSecurityGroups = clusterSecurityGroupsCopy;
}
/**
* A list of security groups to be associated with this cluster.
* Default: The default cluster security group for Amazon Redshift.
*
Cluster security groups only apply to clusters outside of VPCs.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param clusterSecurityGroups A list of security groups to be associated with this cluster.
* Default: The default cluster security group for Amazon Redshift.
*
Cluster security groups only apply to clusters outside of VPCs.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withClusterSecurityGroups(String... clusterSecurityGroups) {
if (getClusterSecurityGroups() == null) setClusterSecurityGroups(new java.util.ArrayList(clusterSecurityGroups.length));
for (String value : clusterSecurityGroups) {
getClusterSecurityGroups().add(value);
}
return this;
}
/**
* A list of security groups to be associated with this cluster.
* Default: The default cluster security group for Amazon Redshift.
*
Cluster security groups only apply to clusters outside of VPCs.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param clusterSecurityGroups A list of security groups to be associated with this cluster.
* Default: The default cluster security group for Amazon Redshift.
*
Cluster security groups only apply to clusters outside of VPCs.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withClusterSecurityGroups(java.util.Collection clusterSecurityGroups) {
if (clusterSecurityGroups == null) {
this.clusterSecurityGroups = null;
} else {
com.amazonaws.internal.ListWithAutoConstructFlag clusterSecurityGroupsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(clusterSecurityGroups.size());
clusterSecurityGroupsCopy.addAll(clusterSecurityGroups);
this.clusterSecurityGroups = clusterSecurityGroupsCopy;
}
return this;
}
/**
* A list of Virtual Private Cloud (VPC) security groups to be associated
* with the cluster. Default: The default VPC security group is
* associated with the cluster.
VPC security groups only apply to
* clusters in VPCs.
*
* @return A list of Virtual Private Cloud (VPC) security groups to be associated
* with the cluster.
Default: The default VPC security group is
* associated with the cluster.
VPC security groups only apply to
* clusters in VPCs.
*/
public java.util.List getVpcSecurityGroupIds() {
if (vpcSecurityGroupIds == null) {
vpcSecurityGroupIds = new com.amazonaws.internal.ListWithAutoConstructFlag();
vpcSecurityGroupIds.setAutoConstruct(true);
}
return vpcSecurityGroupIds;
}
/**
* A list of Virtual Private Cloud (VPC) security groups to be associated
* with the cluster. Default: The default VPC security group is
* associated with the cluster.
VPC security groups only apply to
* clusters in VPCs.
*
* @param vpcSecurityGroupIds A list of Virtual Private Cloud (VPC) security groups to be associated
* with the cluster.
Default: The default VPC security group is
* associated with the cluster.
VPC security groups only apply to
* clusters in VPCs.
*/
public void setVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) {
if (vpcSecurityGroupIds == null) {
this.vpcSecurityGroupIds = null;
return;
}
com.amazonaws.internal.ListWithAutoConstructFlag vpcSecurityGroupIdsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(vpcSecurityGroupIds.size());
vpcSecurityGroupIdsCopy.addAll(vpcSecurityGroupIds);
this.vpcSecurityGroupIds = vpcSecurityGroupIdsCopy;
}
/**
* A list of Virtual Private Cloud (VPC) security groups to be associated
* with the cluster. Default: The default VPC security group is
* associated with the cluster.
VPC security groups only apply to
* clusters in VPCs.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param vpcSecurityGroupIds A list of Virtual Private Cloud (VPC) security groups to be associated
* with the cluster.
Default: The default VPC security group is
* associated with the cluster.
VPC security groups only apply to
* clusters in VPCs.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withVpcSecurityGroupIds(String... vpcSecurityGroupIds) {
if (getVpcSecurityGroupIds() == null) setVpcSecurityGroupIds(new java.util.ArrayList(vpcSecurityGroupIds.length));
for (String value : vpcSecurityGroupIds) {
getVpcSecurityGroupIds().add(value);
}
return this;
}
/**
* A list of Virtual Private Cloud (VPC) security groups to be associated
* with the cluster. Default: The default VPC security group is
* associated with the cluster.
VPC security groups only apply to
* clusters in VPCs.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param vpcSecurityGroupIds A list of Virtual Private Cloud (VPC) security groups to be associated
* with the cluster.
Default: The default VPC security group is
* associated with the cluster.
VPC security groups only apply to
* clusters in VPCs.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) {
if (vpcSecurityGroupIds == null) {
this.vpcSecurityGroupIds = null;
} else {
com.amazonaws.internal.ListWithAutoConstructFlag vpcSecurityGroupIdsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(vpcSecurityGroupIds.size());
vpcSecurityGroupIdsCopy.addAll(vpcSecurityGroupIds);
this.vpcSecurityGroupIds = vpcSecurityGroupIdsCopy;
}
return this;
}
/**
* The weekly time range (in UTC) during which automated cluster
* maintenance can occur. Format:
* ddd:hh24:mi-ddd:hh24:mi
Default: The value selected
* for the cluster from which the snapshot was taken. The following list
* shows the time blocks for each region from which the default
* maintenance windows are assigned.
- US-East (Northern
* Virginia) Region: 03:00-11:00 UTC
- US-West (Oregon)
* Region 06:00-14:00 UTC
- EU (Ireland) Region
* 22:00-06:00 UTC
- Asia Pacific (Singapore) Region
* 14:00-22:00 UTC
- Asia Pacific (Sydney) Region
* 12:00-20:00 UTC
- Asia Pacific (Tokyo) Region
* 17:00-03:00 UTC
Valid Days: Mon | Tue | Wed | Thu | Fri
* | Sat | Sun
Constraints: Minimum 30-minute window.
*
* @return The weekly time range (in UTC) during which automated cluster
* maintenance can occur.
Format:
* ddd:hh24:mi-ddd:hh24:mi
Default: The value selected
* for the cluster from which the snapshot was taken. The following list
* shows the time blocks for each region from which the default
* maintenance windows are assigned.
- US-East (Northern
* Virginia) Region: 03:00-11:00 UTC
- US-West (Oregon)
* Region 06:00-14:00 UTC
- EU (Ireland) Region
* 22:00-06:00 UTC
- Asia Pacific (Singapore) Region
* 14:00-22:00 UTC
- Asia Pacific (Sydney) Region
* 12:00-20:00 UTC
- Asia Pacific (Tokyo) Region
* 17:00-03:00 UTC
Valid Days: Mon | Tue | Wed | Thu | Fri
* | Sat | Sun
Constraints: Minimum 30-minute window.
*/
public String getPreferredMaintenanceWindow() {
return preferredMaintenanceWindow;
}
/**
* The weekly time range (in UTC) during which automated cluster
* maintenance can occur.
Format:
* ddd:hh24:mi-ddd:hh24:mi
Default: The value selected
* for the cluster from which the snapshot was taken. The following list
* shows the time blocks for each region from which the default
* maintenance windows are assigned.
- US-East (Northern
* Virginia) Region: 03:00-11:00 UTC
- US-West (Oregon)
* Region 06:00-14:00 UTC
- EU (Ireland) Region
* 22:00-06:00 UTC
- Asia Pacific (Singapore) Region
* 14:00-22:00 UTC
- Asia Pacific (Sydney) Region
* 12:00-20:00 UTC
- Asia Pacific (Tokyo) Region
* 17:00-03:00 UTC
Valid Days: Mon | Tue | Wed | Thu | Fri
* | Sat | Sun
Constraints: Minimum 30-minute window.
*
* @param preferredMaintenanceWindow The weekly time range (in UTC) during which automated cluster
* maintenance can occur.
Format:
* ddd:hh24:mi-ddd:hh24:mi
Default: The value selected
* for the cluster from which the snapshot was taken. The following list
* shows the time blocks for each region from which the default
* maintenance windows are assigned.
- US-East (Northern
* Virginia) Region: 03:00-11:00 UTC
- US-West (Oregon)
* Region 06:00-14:00 UTC
- EU (Ireland) Region
* 22:00-06:00 UTC
- Asia Pacific (Singapore) Region
* 14:00-22:00 UTC
- Asia Pacific (Sydney) Region
* 12:00-20:00 UTC
- Asia Pacific (Tokyo) Region
* 17:00-03:00 UTC
Valid Days: Mon | Tue | Wed | Thu | Fri
* | Sat | Sun
Constraints: Minimum 30-minute window.
*/
public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
}
/**
* The weekly time range (in UTC) during which automated cluster
* maintenance can occur.
Format:
* ddd:hh24:mi-ddd:hh24:mi
Default: The value selected
* for the cluster from which the snapshot was taken. The following list
* shows the time blocks for each region from which the default
* maintenance windows are assigned.
- US-East (Northern
* Virginia) Region: 03:00-11:00 UTC
- US-West (Oregon)
* Region 06:00-14:00 UTC
- EU (Ireland) Region
* 22:00-06:00 UTC
- Asia Pacific (Singapore) Region
* 14:00-22:00 UTC
- Asia Pacific (Sydney) Region
* 12:00-20:00 UTC
- Asia Pacific (Tokyo) Region
* 17:00-03:00 UTC
Valid Days: Mon | Tue | Wed | Thu | Fri
* | Sat | Sun
Constraints: Minimum 30-minute window.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param preferredMaintenanceWindow The weekly time range (in UTC) during which automated cluster
* maintenance can occur.
Format:
* ddd:hh24:mi-ddd:hh24:mi
Default: The value selected
* for the cluster from which the snapshot was taken. The following list
* shows the time blocks for each region from which the default
* maintenance windows are assigned.
- US-East (Northern
* Virginia) Region: 03:00-11:00 UTC
- US-West (Oregon)
* Region 06:00-14:00 UTC
- EU (Ireland) Region
* 22:00-06:00 UTC
- Asia Pacific (Singapore) Region
* 14:00-22:00 UTC
- Asia Pacific (Sydney) Region
* 12:00-20:00 UTC
- Asia Pacific (Tokyo) Region
* 17:00-03:00 UTC
Valid Days: Mon | Tue | Wed | Thu | Fri
* | Sat | Sun
Constraints: Minimum 30-minute window.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
return this;
}
/**
* The number of days that automated snapshots are retained. If the value
* is 0, automated snapshots are disabled. Even if automated snapshots
* are disabled, you can still create manual snapshots when you want with
* CreateClusterSnapshot.
Default: The value selected for the
* cluster from which the snapshot was taken.
Constraints: Must be a
* value from 0 to 35.
*
* @return The number of days that automated snapshots are retained. If the value
* is 0, automated snapshots are disabled. Even if automated snapshots
* are disabled, you can still create manual snapshots when you want with
* CreateClusterSnapshot.
Default: The value selected for the
* cluster from which the snapshot was taken.
Constraints: Must be a
* value from 0 to 35.
*/
public Integer getAutomatedSnapshotRetentionPeriod() {
return automatedSnapshotRetentionPeriod;
}
/**
* The number of days that automated snapshots are retained. If the value
* is 0, automated snapshots are disabled. Even if automated snapshots
* are disabled, you can still create manual snapshots when you want with
* CreateClusterSnapshot.
Default: The value selected for the
* cluster from which the snapshot was taken.
Constraints: Must be a
* value from 0 to 35.
*
* @param automatedSnapshotRetentionPeriod The number of days that automated snapshots are retained. If the value
* is 0, automated snapshots are disabled. Even if automated snapshots
* are disabled, you can still create manual snapshots when you want with
* CreateClusterSnapshot.
Default: The value selected for the
* cluster from which the snapshot was taken.
Constraints: Must be a
* value from 0 to 35.
*/
public void setAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) {
this.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod;
}
/**
* The number of days that automated snapshots are retained. If the value
* is 0, automated snapshots are disabled. Even if automated snapshots
* are disabled, you can still create manual snapshots when you want with
* CreateClusterSnapshot.
Default: The value selected for the
* cluster from which the snapshot was taken.
Constraints: Must be a
* value from 0 to 35.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param automatedSnapshotRetentionPeriod The number of days that automated snapshots are retained. If the value
* is 0, automated snapshots are disabled. Even if automated snapshots
* are disabled, you can still create manual snapshots when you want with
* CreateClusterSnapshot.
Default: The value selected for the
* cluster from which the snapshot was taken.
Constraints: Must be a
* value from 0 to 35.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public RestoreFromClusterSnapshotRequest withAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) {
this.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod;
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 (getSnapshotIdentifier() != null) sb.append("SnapshotIdentifier: " + getSnapshotIdentifier() + ",");
if (getSnapshotClusterIdentifier() != null) sb.append("SnapshotClusterIdentifier: " + getSnapshotClusterIdentifier() + ",");
if (getPort() != null) sb.append("Port: " + getPort() + ",");
if (getAvailabilityZone() != null) sb.append("AvailabilityZone: " + getAvailabilityZone() + ",");
if (isAllowVersionUpgrade() != null) sb.append("AllowVersionUpgrade: " + isAllowVersionUpgrade() + ",");
if (getClusterSubnetGroupName() != null) sb.append("ClusterSubnetGroupName: " + getClusterSubnetGroupName() + ",");
if (isPubliclyAccessible() != null) sb.append("PubliclyAccessible: " + isPubliclyAccessible() + ",");
if (getOwnerAccount() != null) sb.append("OwnerAccount: " + getOwnerAccount() + ",");
if (getHsmClientCertificateIdentifier() != null) sb.append("HsmClientCertificateIdentifier: " + getHsmClientCertificateIdentifier() + ",");
if (getHsmConfigurationIdentifier() != null) sb.append("HsmConfigurationIdentifier: " + getHsmConfigurationIdentifier() + ",");
if (getElasticIp() != null) sb.append("ElasticIp: " + getElasticIp() + ",");
if (getClusterParameterGroupName() != null) sb.append("ClusterParameterGroupName: " + getClusterParameterGroupName() + ",");
if (getClusterSecurityGroups() != null) sb.append("ClusterSecurityGroups: " + getClusterSecurityGroups() + ",");
if (getVpcSecurityGroupIds() != null) sb.append("VpcSecurityGroupIds: " + getVpcSecurityGroupIds() + ",");
if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: " + getPreferredMaintenanceWindow() + ",");
if (getAutomatedSnapshotRetentionPeriod() != null) sb.append("AutomatedSnapshotRetentionPeriod: " + getAutomatedSnapshotRetentionPeriod() );
sb.append("}");
return sb.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getClusterIdentifier() == null) ? 0 : getClusterIdentifier().hashCode());
hashCode = prime * hashCode + ((getSnapshotIdentifier() == null) ? 0 : getSnapshotIdentifier().hashCode());
hashCode = prime * hashCode + ((getSnapshotClusterIdentifier() == null) ? 0 : getSnapshotClusterIdentifier().hashCode());
hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode());
hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone().hashCode());
hashCode = prime * hashCode + ((isAllowVersionUpgrade() == null) ? 0 : isAllowVersionUpgrade().hashCode());
hashCode = prime * hashCode + ((getClusterSubnetGroupName() == null) ? 0 : getClusterSubnetGroupName().hashCode());
hashCode = prime * hashCode + ((isPubliclyAccessible() == null) ? 0 : isPubliclyAccessible().hashCode());
hashCode = prime * hashCode + ((getOwnerAccount() == null) ? 0 : getOwnerAccount().hashCode());
hashCode = prime * hashCode + ((getHsmClientCertificateIdentifier() == null) ? 0 : getHsmClientCertificateIdentifier().hashCode());
hashCode = prime * hashCode + ((getHsmConfigurationIdentifier() == null) ? 0 : getHsmConfigurationIdentifier().hashCode());
hashCode = prime * hashCode + ((getElasticIp() == null) ? 0 : getElasticIp().hashCode());
hashCode = prime * hashCode + ((getClusterParameterGroupName() == null) ? 0 : getClusterParameterGroupName().hashCode());
hashCode = prime * hashCode + ((getClusterSecurityGroups() == null) ? 0 : getClusterSecurityGroups().hashCode());
hashCode = prime * hashCode + ((getVpcSecurityGroupIds() == null) ? 0 : getVpcSecurityGroupIds().hashCode());
hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode());
hashCode = prime * hashCode + ((getAutomatedSnapshotRetentionPeriod() == null) ? 0 : getAutomatedSnapshotRetentionPeriod().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null) return false;
if (obj instanceof RestoreFromClusterSnapshotRequest == false) return false;
RestoreFromClusterSnapshotRequest other = (RestoreFromClusterSnapshotRequest)obj;
if (other.getClusterIdentifier() == null ^ this.getClusterIdentifier() == null) return false;
if (other.getClusterIdentifier() != null && other.getClusterIdentifier().equals(this.getClusterIdentifier()) == false) return false;
if (other.getSnapshotIdentifier() == null ^ this.getSnapshotIdentifier() == null) return false;
if (other.getSnapshotIdentifier() != null && other.getSnapshotIdentifier().equals(this.getSnapshotIdentifier()) == false) return false;
if (other.getSnapshotClusterIdentifier() == null ^ this.getSnapshotClusterIdentifier() == null) return false;
if (other.getSnapshotClusterIdentifier() != null && other.getSnapshotClusterIdentifier().equals(this.getSnapshotClusterIdentifier()) == false) return false;
if (other.getPort() == null ^ this.getPort() == null) return false;
if (other.getPort() != null && other.getPort().equals(this.getPort()) == 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.isAllowVersionUpgrade() == null ^ this.isAllowVersionUpgrade() == null) return false;
if (other.isAllowVersionUpgrade() != null && other.isAllowVersionUpgrade().equals(this.isAllowVersionUpgrade()) == 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.isPubliclyAccessible() == null ^ this.isPubliclyAccessible() == null) return false;
if (other.isPubliclyAccessible() != null && other.isPubliclyAccessible().equals(this.isPubliclyAccessible()) == false) return false;
if (other.getOwnerAccount() == null ^ this.getOwnerAccount() == null) return false;
if (other.getOwnerAccount() != null && other.getOwnerAccount().equals(this.getOwnerAccount()) == false) return false;
if (other.getHsmClientCertificateIdentifier() == null ^ this.getHsmClientCertificateIdentifier() == null) return false;
if (other.getHsmClientCertificateIdentifier() != null && other.getHsmClientCertificateIdentifier().equals(this.getHsmClientCertificateIdentifier()) == false) return false;
if (other.getHsmConfigurationIdentifier() == null ^ this.getHsmConfigurationIdentifier() == null) return false;
if (other.getHsmConfigurationIdentifier() != null && other.getHsmConfigurationIdentifier().equals(this.getHsmConfigurationIdentifier()) == false) return false;
if (other.getElasticIp() == null ^ this.getElasticIp() == null) return false;
if (other.getElasticIp() != null && other.getElasticIp().equals(this.getElasticIp()) == false) return false;
if (other.getClusterParameterGroupName() == null ^ this.getClusterParameterGroupName() == null) return false;
if (other.getClusterParameterGroupName() != null && other.getClusterParameterGroupName().equals(this.getClusterParameterGroupName()) == 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.getVpcSecurityGroupIds() == null ^ this.getVpcSecurityGroupIds() == null) return false;
if (other.getVpcSecurityGroupIds() != null && other.getVpcSecurityGroupIds().equals(this.getVpcSecurityGroupIds()) == 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.getAutomatedSnapshotRetentionPeriod() == null ^ this.getAutomatedSnapshotRetentionPeriod() == null) return false;
if (other.getAutomatedSnapshotRetentionPeriod() != null && other.getAutomatedSnapshotRetentionPeriod().equals(this.getAutomatedSnapshotRetentionPeriod()) == false) return false;
return true;
}
}