com.amazonaws.services.redshift.model.RestoreFromClusterSnapshotRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-redshift Show documentation
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.redshift.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
*
* @see AWS API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class RestoreFromClusterSnapshotRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* 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 Amazon Web Services account.
*
*
*
*/
private String clusterIdentifier;
/**
*
* The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must
* specify this parameter or snapshotArn
, but not both.
*
*
* Example: my-snapshot-id
*
*/
private String snapshotIdentifier;
/**
*
* The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You must
* specify this parameter or snapshotIdentifier
, but not both.
*
*/
private String snapshotArn;
/**
*
* 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.
*
*
* Valid values: For clusters with DC2 nodes, must be within the range 1150
-65535
. For
* clusters with ra3 nodes, must be within the ranges 5431
-5455
or 8191
-
* 8215
.
*
*/
private Integer port;
/**
*
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-2a
*
*/
private String availabilityZone;
/**
*
* If true
, major version 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 Amazon Web Services 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. Don't specify the Elastic IP address for a publicly accessible
* cluster with availability zone relocation turned on.
*
*/
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.SdkInternalList 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.SdkInternalList 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. For more information about the
* time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.
*
*
* 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.
*
*
* You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days.
*
*
* 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 default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained
* indefinitely. This setting doesn't change the retention period of existing snapshots.
*
*
* The value must be either -1 or an integer between 1 and 3,653.
*
*/
private Integer manualSnapshotRetentionPeriod;
/**
*
* The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored from a
* shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to an encrypted
* cluster in the same account. Additionally, you can specify a new KMS key ID when you restore from an encrypted
* snapshot in the same account in order to change it. In that case, the restored cluster is encrypted with the new
* KMS key ID.
*
*/
private String kmsKeyId;
/**
*
* The node type that the restored cluster will be provisioned with.
*
*
* If you have a DC instance type, you must restore into that same instance type and size. In other words, you can
* only restore a dc2.large node type into another dc2 type. For more information about node types, see
* About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.
*
*/
private String nodeType;
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*/
private Boolean enhancedVpcRouting;
/**
*
* Reserved.
*
*/
private String additionalInfo;
/**
*
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web
* Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the
* Amazon Redshift Cluster Management Guide.
*
*/
private com.amazonaws.internal.SdkInternalList iamRoles;
/**
*
* The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the
* MaintenanceTrack
value from the cluster. The snapshot might be on a different track than the cluster
* that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the
* current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source
* cluster are on different tracks.
*
*/
private String maintenanceTrackName;
/**
*
* A unique identifier for the snapshot schedule.
*
*/
private String snapshotScheduleIdentifier;
/**
*
* The number of nodes specified when provisioning the restored cluster.
*
*/
private Integer numberOfNodes;
/**
*
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is
* restored.
*
*/
private Boolean availabilityZoneRelocation;
/**
*
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
*
*/
private String aquaConfigurationStatus;
/**
*
* The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was last
* modified while it was restored from a snapshot.
*
*/
private String defaultIamRoleArn;
/**
*
* The identifier of the target reserved node offering.
*
*/
private String reservedNodeId;
/**
*
* The identifier of the target reserved node offering.
*
*/
private String targetReservedNodeOfferingId;
/**
*
* Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS)
* and a customer managed key.
*
*/
private Boolean encrypted;
/**
*
* If true
, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin credentials. If
* ManageMasterPassword
is false or not set, Amazon Redshift uses the admin credentials the cluster had
* at the time the snapshot was taken.
*
*/
private Boolean manageMasterPassword;
/**
*
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
* You can only use this parameter if ManageMasterPassword
is true.
*
*/
private String masterPasswordSecretKmsKeyId;
/**
*
* The IP address type for the cluster. Possible values are ipv4
and dualstack
.
*
*/
private String ipAddressType;
/**
*
* If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
*
*/
private Boolean multiAZ;
/**
*
* 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services account.
*
*
*/
public String getClusterIdentifier() {
return this.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 Amazon Web Services 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 Amazon Web Services account.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withClusterIdentifier(String clusterIdentifier) {
setClusterIdentifier(clusterIdentifier);
return this;
}
/**
*
* The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must
* specify this parameter or snapshotArn
, but not both.
*
*
* Example: my-snapshot-id
*
*
* @param snapshotIdentifier
* The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You
* must specify this parameter or snapshotArn
, but not both.
*
* 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. You must
* specify this parameter or snapshotArn
, but not both.
*
*
* Example: my-snapshot-id
*
*
* @return The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You
* must specify this parameter or snapshotArn
, but not both.
*
* Example: my-snapshot-id
*/
public String getSnapshotIdentifier() {
return this.snapshotIdentifier;
}
/**
*
* The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must
* specify this parameter or snapshotArn
, but not both.
*
*
* Example: my-snapshot-id
*
*
* @param snapshotIdentifier
* The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You
* must specify this parameter or snapshotArn
, but not both.
*
* Example: my-snapshot-id
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withSnapshotIdentifier(String snapshotIdentifier) {
setSnapshotIdentifier(snapshotIdentifier);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You must
* specify this parameter or snapshotIdentifier
, but not both.
*
*
* @param snapshotArn
* The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You
* must specify this parameter or snapshotIdentifier
, but not both.
*/
public void setSnapshotArn(String snapshotArn) {
this.snapshotArn = snapshotArn;
}
/**
*
* The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You must
* specify this parameter or snapshotIdentifier
, but not both.
*
*
* @return The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You
* must specify this parameter or snapshotIdentifier
, but not both.
*/
public String getSnapshotArn() {
return this.snapshotArn;
}
/**
*
* The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You must
* specify this parameter or snapshotIdentifier
, but not both.
*
*
* @param snapshotArn
* The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You
* must specify this parameter or snapshotIdentifier
, but not both.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withSnapshotArn(String snapshotArn) {
setSnapshotArn(snapshotArn);
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.
*
*
* @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.
*
*
* @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 this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withSnapshotClusterIdentifier(String snapshotClusterIdentifier) {
setSnapshotClusterIdentifier(snapshotClusterIdentifier);
return this;
}
/**
*
* The port number on which the cluster accepts connections.
*
*
* Default: The same port as the original cluster.
*
*
* Valid values: For clusters with DC2 nodes, must be within the range 1150
-65535
. For
* clusters with ra3 nodes, must be within the ranges 5431
-5455
or 8191
-
* 8215
.
*
*
* @param port
* The port number on which the cluster accepts connections.
*
* Default: The same port as the original cluster.
*
*
* Valid values: For clusters with DC2 nodes, must be within the range 1150
-65535
.
* For clusters with ra3 nodes, must be within the ranges 5431
-5455
or
* 8191
-8215
.
*/
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.
*
*
* Valid values: For clusters with DC2 nodes, must be within the range 1150
-65535
. For
* clusters with ra3 nodes, must be within the ranges 5431
-5455
or 8191
-
* 8215
.
*
*
* @return The port number on which the cluster accepts connections.
*
* Default: The same port as the original cluster.
*
*
* Valid values: For clusters with DC2 nodes, must be within the range 1150
-65535
.
* For clusters with ra3 nodes, must be within the ranges 5431
-5455
or
* 8191
-8215
.
*/
public Integer getPort() {
return this.port;
}
/**
*
* The port number on which the cluster accepts connections.
*
*
* Default: The same port as the original cluster.
*
*
* Valid values: For clusters with DC2 nodes, must be within the range 1150
-65535
. For
* clusters with ra3 nodes, must be within the ranges 5431
-5455
or 8191
-
* 8215
.
*
*
* @param port
* The port number on which the cluster accepts connections.
*
* Default: The same port as the original cluster.
*
*
* Valid values: For clusters with DC2 nodes, must be within the range 1150
-65535
.
* For clusters with ra3 nodes, must be within the ranges 5431
-5455
or
* 8191
-8215
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withPort(Integer port) {
setPort(port);
return this;
}
/**
*
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-2a
*
*
* @param availabilityZone
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-2a
*/
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-2a
*
*
* @return The Amazon EC2 Availability Zone in which to restore the cluster.
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-2a
*/
public String getAvailabilityZone() {
return this.availabilityZone;
}
/**
*
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-2a
*
*
* @param availabilityZone
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-2a
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withAvailabilityZone(String availabilityZone) {
setAvailabilityZone(availabilityZone);
return this;
}
/**
*
* If true
, major version 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
, major version 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
, major version upgrades can be applied during the maintenance window to the Amazon Redshift
* engine that is running on the cluster.
*
*
* Default: true
*
*
* @return If true
, major version 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 this.allowVersionUpgrade;
}
/**
*
* If true
, major version 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
, major version upgrades can be applied during the maintenance window to the Amazon
* Redshift engine that is running on the cluster.
*
* Default: true
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withAllowVersionUpgrade(Boolean allowVersionUpgrade) {
setAllowVersionUpgrade(allowVersionUpgrade);
return this;
}
/**
*
* If true
, major version upgrades can be applied during the maintenance window to the Amazon Redshift
* engine that is running on the cluster.
*
*
* Default: true
*
*
* @return If true
, major version 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 this.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.
*
*
* @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.
*
*
* @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 this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withClusterSubnetGroupName(String clusterSubnetGroupName) {
setClusterSubnetGroupName(clusterSubnetGroupName);
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 RestoreFromClusterSnapshotRequest 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;
}
/**
*
* The Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 this.ownerAccount;
}
/**
*
* The Amazon Web Services 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 Amazon Web Services 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 Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withOwnerAccount(String ownerAccount) {
setOwnerAccount(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.
*
*
* @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.
*
*
* @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 this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withHsmClientCertificateIdentifier(String hsmClientCertificateIdentifier) {
setHsmClientCertificateIdentifier(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.
*
*
* @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.
*
*
* @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 this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withHsmConfigurationIdentifier(String hsmConfigurationIdentifier) {
setHsmConfigurationIdentifier(hsmConfigurationIdentifier);
return this;
}
/**
*
* The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly accessible
* cluster with availability zone relocation turned on.
*
*
* @param elasticIp
* The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly
* accessible cluster with availability zone relocation turned on.
*/
public void setElasticIp(String elasticIp) {
this.elasticIp = elasticIp;
}
/**
*
* The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly accessible
* cluster with availability zone relocation turned on.
*
*
* @return The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly
* accessible cluster with availability zone relocation turned on.
*/
public String getElasticIp() {
return this.elasticIp;
}
/**
*
* The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly accessible
* cluster with availability zone relocation turned on.
*
*
* @param elasticIp
* The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly
* accessible cluster with availability zone relocation turned on.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withElasticIp(String elasticIp) {
setElasticIp(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.
*
*
*
*
* @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.
*
*
*
*
* @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 this.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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withClusterParameterGroupName(String clusterParameterGroupName) {
setClusterParameterGroupName(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.SdkInternalList();
}
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;
}
this.clusterSecurityGroups = new com.amazonaws.internal.SdkInternalList(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.
*
*
* 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 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 Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withClusterSecurityGroups(String... clusterSecurityGroups) {
if (this.clusterSecurityGroups == null) {
setClusterSecurityGroups(new com.amazonaws.internal.SdkInternalList(clusterSecurityGroups.length));
}
for (String ele : clusterSecurityGroups) {
this.clusterSecurityGroups.add(ele);
}
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.
*
*
* @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 Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withClusterSecurityGroups(java.util.Collection clusterSecurityGroups) {
setClusterSecurityGroups(clusterSecurityGroups);
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.SdkInternalList();
}
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;
}
this.vpcSecurityGroupIds = new com.amazonaws.internal.SdkInternalList(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.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setVpcSecurityGroupIds(java.util.Collection)} or {@link #withVpcSecurityGroupIds(java.util.Collection)}
* if you want to override the existing values.
*
*
* @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 Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withVpcSecurityGroupIds(String... vpcSecurityGroupIds) {
if (this.vpcSecurityGroupIds == null) {
setVpcSecurityGroupIds(new com.amazonaws.internal.SdkInternalList(vpcSecurityGroupIds.length));
}
for (String ele : vpcSecurityGroupIds) {
this.vpcSecurityGroupIds.add(ele);
}
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.
*
*
* @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 Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) {
setVpcSecurityGroupIds(vpcSecurityGroupIds);
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. For more information about the
* time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.
*
*
* 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. For more information about
* the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.
*
*
* 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. For more information about the
* time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.
*
*
* 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. For more information about
* the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.
*
*
* Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*
*
* Constraints: Minimum 30-minute window.
*/
public String getPreferredMaintenanceWindow() {
return this.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. For more information about the
* time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.
*
*
* 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. For more information about
* the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.
*
*
* Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*
*
* Constraints: Minimum 30-minute window.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
setPreferredMaintenanceWindow(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.
*
*
* You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days.
*
*
* 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.
*
* You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35
* days.
*
*
* 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.
*
*
* You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days.
*
*
* 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.
*
* You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35
* days.
*
*
* 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 this.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.
*
*
* You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days.
*
*
* 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.
*
* You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35
* days.
*
*
* Default: The value selected for the cluster from which the snapshot was taken.
*
*
* Constraints: Must be a value from 0 to 35.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) {
setAutomatedSnapshotRetentionPeriod(automatedSnapshotRetentionPeriod);
return this;
}
/**
*
* The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained
* indefinitely. This setting doesn't change the retention period of existing snapshots.
*
*
* The value must be either -1 or an integer between 1 and 3,653.
*
*
* @param manualSnapshotRetentionPeriod
* The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained
* indefinitely. This setting doesn't change the retention period of existing snapshots.
*
* The value must be either -1 or an integer between 1 and 3,653.
*/
public void setManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) {
this.manualSnapshotRetentionPeriod = manualSnapshotRetentionPeriod;
}
/**
*
* The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained
* indefinitely. This setting doesn't change the retention period of existing snapshots.
*
*
* The value must be either -1 or an integer between 1 and 3,653.
*
*
* @return The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained
* indefinitely. This setting doesn't change the retention period of existing snapshots.
*
* The value must be either -1 or an integer between 1 and 3,653.
*/
public Integer getManualSnapshotRetentionPeriod() {
return this.manualSnapshotRetentionPeriod;
}
/**
*
* The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained
* indefinitely. This setting doesn't change the retention period of existing snapshots.
*
*
* The value must be either -1 or an integer between 1 and 3,653.
*
*
* @param manualSnapshotRetentionPeriod
* The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained
* indefinitely. This setting doesn't change the retention period of existing snapshots.
*
* The value must be either -1 or an integer between 1 and 3,653.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) {
setManualSnapshotRetentionPeriod(manualSnapshotRetentionPeriod);
return this;
}
/**
*
* The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored from a
* shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to an encrypted
* cluster in the same account. Additionally, you can specify a new KMS key ID when you restore from an encrypted
* snapshot in the same account in order to change it. In that case, the restored cluster is encrypted with the new
* KMS key ID.
*
*
* @param kmsKeyId
* The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored
* from a shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to
* an encrypted cluster in the same account. Additionally, you can specify a new KMS key ID when you restore
* from an encrypted snapshot in the same account in order to change it. In that case, the restored cluster
* is encrypted with the new KMS key ID.
*/
public void setKmsKeyId(String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
}
/**
*
* The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored from a
* shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to an encrypted
* cluster in the same account. Additionally, you can specify a new KMS key ID when you restore from an encrypted
* snapshot in the same account in order to change it. In that case, the restored cluster is encrypted with the new
* KMS key ID.
*
*
* @return The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored
* from a shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to
* an encrypted cluster in the same account. Additionally, you can specify a new KMS key ID when you restore
* from an encrypted snapshot in the same account in order to change it. In that case, the restored cluster
* is encrypted with the new KMS key ID.
*/
public String getKmsKeyId() {
return this.kmsKeyId;
}
/**
*
* The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored from a
* shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to an encrypted
* cluster in the same account. Additionally, you can specify a new KMS key ID when you restore from an encrypted
* snapshot in the same account in order to change it. In that case, the restored cluster is encrypted with the new
* KMS key ID.
*
*
* @param kmsKeyId
* The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored
* from a shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to
* an encrypted cluster in the same account. Additionally, you can specify a new KMS key ID when you restore
* from an encrypted snapshot in the same account in order to change it. In that case, the restored cluster
* is encrypted with the new KMS key ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withKmsKeyId(String kmsKeyId) {
setKmsKeyId(kmsKeyId);
return this;
}
/**
*
* The node type that the restored cluster will be provisioned with.
*
*
* If you have a DC instance type, you must restore into that same instance type and size. In other words, you can
* only restore a dc2.large node type into another dc2 type. For more information about node types, see
* About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.
*
*
* @param nodeType
* The node type that the restored cluster will be provisioned with.
*
* If you have a DC instance type, you must restore into that same instance type and size. In other words,
* you can only restore a dc2.large node type into another dc2 type. For more information about node types,
* see
* About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.
*/
public void setNodeType(String nodeType) {
this.nodeType = nodeType;
}
/**
*
* The node type that the restored cluster will be provisioned with.
*
*
* If you have a DC instance type, you must restore into that same instance type and size. In other words, you can
* only restore a dc2.large node type into another dc2 type. For more information about node types, see
* About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.
*
*
* @return The node type that the restored cluster will be provisioned with.
*
* If you have a DC instance type, you must restore into that same instance type and size. In other words,
* you can only restore a dc2.large node type into another dc2 type. For more information about node types,
* see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.
*/
public String getNodeType() {
return this.nodeType;
}
/**
*
* The node type that the restored cluster will be provisioned with.
*
*
* If you have a DC instance type, you must restore into that same instance type and size. In other words, you can
* only restore a dc2.large node type into another dc2 type. For more information about node types, see
* About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.
*
*
* @param nodeType
* The node type that the restored cluster will be provisioned with.
*
* If you have a DC instance type, you must restore into that same instance type and size. In other words,
* you can only restore a dc2.large node type into another dc2 type. For more information about node types,
* see
* About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withNodeType(String nodeType) {
setNodeType(nodeType);
return this;
}
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*
* @param enhancedVpcRouting
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a
* cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing
* in the Amazon Redshift Cluster Management Guide.
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*/
public void setEnhancedVpcRouting(Boolean enhancedVpcRouting) {
this.enhancedVpcRouting = enhancedVpcRouting;
}
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*
* @return An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a
* cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC
* Routing in the Amazon Redshift Cluster Management Guide.
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*/
public Boolean getEnhancedVpcRouting() {
return this.enhancedVpcRouting;
}
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*
* @param enhancedVpcRouting
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a
* cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing
* in the Amazon Redshift Cluster Management Guide.
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withEnhancedVpcRouting(Boolean enhancedVpcRouting) {
setEnhancedVpcRouting(enhancedVpcRouting);
return this;
}
/**
*
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster
* that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the
* Amazon Redshift Cluster Management Guide.
*
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*
*
* @return An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a
* cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC
* Routing in the Amazon Redshift Cluster Management Guide.
*
* If this option is true
, enhanced VPC routing is enabled.
*
*
* Default: false
*/
public Boolean isEnhancedVpcRouting() {
return this.enhancedVpcRouting;
}
/**
*
* Reserved.
*
*
* @param additionalInfo
* Reserved.
*/
public void setAdditionalInfo(String additionalInfo) {
this.additionalInfo = additionalInfo;
}
/**
*
* Reserved.
*
*
* @return Reserved.
*/
public String getAdditionalInfo() {
return this.additionalInfo;
}
/**
*
* Reserved.
*
*
* @param additionalInfo
* Reserved.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withAdditionalInfo(String additionalInfo) {
setAdditionalInfo(additionalInfo);
return this;
}
/**
*
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web
* Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the
* Amazon Redshift Cluster Management Guide.
*
*
* @return A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other
* Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to
* Quotas and
* limits in the Amazon Redshift Cluster Management Guide.
*/
public java.util.List getIamRoles() {
if (iamRoles == null) {
iamRoles = new com.amazonaws.internal.SdkInternalList();
}
return iamRoles;
}
/**
*
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web
* Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the
* Amazon Redshift Cluster Management Guide.
*
*
* @param iamRoles
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other
* Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to
* Quotas and
* limits in the Amazon Redshift Cluster Management Guide.
*/
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 Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web
* Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the
* Amazon Redshift Cluster Management Guide.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setIamRoles(java.util.Collection)} or {@link #withIamRoles(java.util.Collection)} if you want to override
* the existing values.
*
*
* @param iamRoles
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other
* Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to
* Quotas and
* limits in the Amazon Redshift Cluster Management Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withIamRoles(String... iamRoles) {
if (this.iamRoles == null) {
setIamRoles(new com.amazonaws.internal.SdkInternalList(iamRoles.length));
}
for (String ele : iamRoles) {
this.iamRoles.add(ele);
}
return this;
}
/**
*
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web
* Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the
* Amazon Redshift Cluster Management Guide.
*
*
* @param iamRoles
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other
* Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to
* Quotas and
* limits in the Amazon Redshift Cluster Management Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withIamRoles(java.util.Collection iamRoles) {
setIamRoles(iamRoles);
return this;
}
/**
*
* The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the
* MaintenanceTrack
value from the cluster. The snapshot might be on a different track than the cluster
* that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the
* current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source
* cluster are on different tracks.
*
*
* @param maintenanceTrackName
* The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot
* inherits the MaintenanceTrack
value from the cluster. The snapshot might be on a different
* track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot
* of a cluster that is on the current track and then change the cluster to be on the trailing track. In this
* case, the snapshot and the source cluster are on different tracks.
*/
public void setMaintenanceTrackName(String maintenanceTrackName) {
this.maintenanceTrackName = maintenanceTrackName;
}
/**
*
* The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the
* MaintenanceTrack
value from the cluster. The snapshot might be on a different track than the cluster
* that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the
* current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source
* cluster are on different tracks.
*
*
* @return The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot
* inherits the MaintenanceTrack
value from the cluster. The snapshot might be on a different
* track than the cluster that was the source for the snapshot. For example, suppose that you take a
* snapshot of a cluster that is on the current track and then change the cluster to be on the trailing
* track. In this case, the snapshot and the source cluster are on different tracks.
*/
public String getMaintenanceTrackName() {
return this.maintenanceTrackName;
}
/**
*
* The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the
* MaintenanceTrack
value from the cluster. The snapshot might be on a different track than the cluster
* that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the
* current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source
* cluster are on different tracks.
*
*
* @param maintenanceTrackName
* The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot
* inherits the MaintenanceTrack
value from the cluster. The snapshot might be on a different
* track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot
* of a cluster that is on the current track and then change the cluster to be on the trailing track. In this
* case, the snapshot and the source cluster are on different tracks.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withMaintenanceTrackName(String maintenanceTrackName) {
setMaintenanceTrackName(maintenanceTrackName);
return this;
}
/**
*
* A unique identifier for the snapshot schedule.
*
*
* @param snapshotScheduleIdentifier
* A unique identifier for the snapshot schedule.
*/
public void setSnapshotScheduleIdentifier(String snapshotScheduleIdentifier) {
this.snapshotScheduleIdentifier = snapshotScheduleIdentifier;
}
/**
*
* A unique identifier for the snapshot schedule.
*
*
* @return A unique identifier for the snapshot schedule.
*/
public String getSnapshotScheduleIdentifier() {
return this.snapshotScheduleIdentifier;
}
/**
*
* A unique identifier for the snapshot schedule.
*
*
* @param snapshotScheduleIdentifier
* A unique identifier for the snapshot schedule.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withSnapshotScheduleIdentifier(String snapshotScheduleIdentifier) {
setSnapshotScheduleIdentifier(snapshotScheduleIdentifier);
return this;
}
/**
*
* The number of nodes specified when provisioning the restored cluster.
*
*
* @param numberOfNodes
* The number of nodes specified when provisioning the restored cluster.
*/
public void setNumberOfNodes(Integer numberOfNodes) {
this.numberOfNodes = numberOfNodes;
}
/**
*
* The number of nodes specified when provisioning the restored cluster.
*
*
* @return The number of nodes specified when provisioning the restored cluster.
*/
public Integer getNumberOfNodes() {
return this.numberOfNodes;
}
/**
*
* The number of nodes specified when provisioning the restored cluster.
*
*
* @param numberOfNodes
* The number of nodes specified when provisioning the restored cluster.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withNumberOfNodes(Integer numberOfNodes) {
setNumberOfNodes(numberOfNodes);
return this;
}
/**
*
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is
* restored.
*
*
* @param availabilityZoneRelocation
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the
* cluster is restored.
*/
public void setAvailabilityZoneRelocation(Boolean availabilityZoneRelocation) {
this.availabilityZoneRelocation = availabilityZoneRelocation;
}
/**
*
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is
* restored.
*
*
* @return The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the
* cluster is restored.
*/
public Boolean getAvailabilityZoneRelocation() {
return this.availabilityZoneRelocation;
}
/**
*
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is
* restored.
*
*
* @param availabilityZoneRelocation
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the
* cluster is restored.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withAvailabilityZoneRelocation(Boolean availabilityZoneRelocation) {
setAvailabilityZoneRelocation(availabilityZoneRelocation);
return this;
}
/**
*
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is
* restored.
*
*
* @return The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the
* cluster is restored.
*/
public Boolean isAvailabilityZoneRelocation() {
return this.availabilityZoneRelocation;
}
/**
*
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
*
*
* @param aquaConfigurationStatus
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
* @see AquaConfigurationStatus
*/
public void setAquaConfigurationStatus(String aquaConfigurationStatus) {
this.aquaConfigurationStatus = aquaConfigurationStatus;
}
/**
*
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
*
*
* @return This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
* @see AquaConfigurationStatus
*/
public String getAquaConfigurationStatus() {
return this.aquaConfigurationStatus;
}
/**
*
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
*
*
* @param aquaConfigurationStatus
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
* @return Returns a reference to this object so that method calls can be chained together.
* @see AquaConfigurationStatus
*/
public RestoreFromClusterSnapshotRequest withAquaConfigurationStatus(String aquaConfigurationStatus) {
setAquaConfigurationStatus(aquaConfigurationStatus);
return this;
}
/**
*
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
*
*
* @param aquaConfigurationStatus
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
* @return Returns a reference to this object so that method calls can be chained together.
* @see AquaConfigurationStatus
*/
public RestoreFromClusterSnapshotRequest withAquaConfigurationStatus(AquaConfigurationStatus aquaConfigurationStatus) {
this.aquaConfigurationStatus = aquaConfigurationStatus.toString();
return this;
}
/**
*
* The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was last
* modified while it was restored from a snapshot.
*
*
* @param defaultIamRoleArn
* The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster
* was last modified while it was restored from a snapshot.
*/
public void setDefaultIamRoleArn(String defaultIamRoleArn) {
this.defaultIamRoleArn = defaultIamRoleArn;
}
/**
*
* The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was last
* modified while it was restored from a snapshot.
*
*
* @return The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster
* was last modified while it was restored from a snapshot.
*/
public String getDefaultIamRoleArn() {
return this.defaultIamRoleArn;
}
/**
*
* The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was last
* modified while it was restored from a snapshot.
*
*
* @param defaultIamRoleArn
* The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster
* was last modified while it was restored from a snapshot.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withDefaultIamRoleArn(String defaultIamRoleArn) {
setDefaultIamRoleArn(defaultIamRoleArn);
return this;
}
/**
*
* The identifier of the target reserved node offering.
*
*
* @param reservedNodeId
* The identifier of the target reserved node offering.
*/
public void setReservedNodeId(String reservedNodeId) {
this.reservedNodeId = reservedNodeId;
}
/**
*
* The identifier of the target reserved node offering.
*
*
* @return The identifier of the target reserved node offering.
*/
public String getReservedNodeId() {
return this.reservedNodeId;
}
/**
*
* The identifier of the target reserved node offering.
*
*
* @param reservedNodeId
* The identifier of the target reserved node offering.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withReservedNodeId(String reservedNodeId) {
setReservedNodeId(reservedNodeId);
return this;
}
/**
*
* The identifier of the target reserved node offering.
*
*
* @param targetReservedNodeOfferingId
* The identifier of the target reserved node offering.
*/
public void setTargetReservedNodeOfferingId(String targetReservedNodeOfferingId) {
this.targetReservedNodeOfferingId = targetReservedNodeOfferingId;
}
/**
*
* The identifier of the target reserved node offering.
*
*
* @return The identifier of the target reserved node offering.
*/
public String getTargetReservedNodeOfferingId() {
return this.targetReservedNodeOfferingId;
}
/**
*
* The identifier of the target reserved node offering.
*
*
* @param targetReservedNodeOfferingId
* The identifier of the target reserved node offering.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withTargetReservedNodeOfferingId(String targetReservedNodeOfferingId) {
setTargetReservedNodeOfferingId(targetReservedNodeOfferingId);
return this;
}
/**
*
* Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS)
* and a customer managed key.
*
*
* @param encrypted
* Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service
* (KMS) and a customer managed key.
*/
public void setEncrypted(Boolean encrypted) {
this.encrypted = encrypted;
}
/**
*
* Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS)
* and a customer managed key.
*
*
* @return Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service
* (KMS) and a customer managed key.
*/
public Boolean getEncrypted() {
return this.encrypted;
}
/**
*
* Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS)
* and a customer managed key.
*
*
* @param encrypted
* Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service
* (KMS) and a customer managed key.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withEncrypted(Boolean encrypted) {
setEncrypted(encrypted);
return this;
}
/**
*
* Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS)
* and a customer managed key.
*
*
* @return Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service
* (KMS) and a customer managed key.
*/
public Boolean isEncrypted() {
return this.encrypted;
}
/**
*
* If true
, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin credentials. If
* ManageMasterPassword
is false or not set, Amazon Redshift uses the admin credentials the cluster had
* at the time the snapshot was taken.
*
*
* @param manageMasterPassword
* If true
, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin
* credentials. If ManageMasterPassword
is false or not set, Amazon Redshift uses the admin
* credentials the cluster had at the time the snapshot was taken.
*/
public void setManageMasterPassword(Boolean manageMasterPassword) {
this.manageMasterPassword = manageMasterPassword;
}
/**
*
* If true
, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin credentials. If
* ManageMasterPassword
is false or not set, Amazon Redshift uses the admin credentials the cluster had
* at the time the snapshot was taken.
*
*
* @return If true
, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin
* credentials. If ManageMasterPassword
is false or not set, Amazon Redshift uses the admin
* credentials the cluster had at the time the snapshot was taken.
*/
public Boolean getManageMasterPassword() {
return this.manageMasterPassword;
}
/**
*
* If true
, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin credentials. If
* ManageMasterPassword
is false or not set, Amazon Redshift uses the admin credentials the cluster had
* at the time the snapshot was taken.
*
*
* @param manageMasterPassword
* If true
, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin
* credentials. If ManageMasterPassword
is false or not set, Amazon Redshift uses the admin
* credentials the cluster had at the time the snapshot was taken.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withManageMasterPassword(Boolean manageMasterPassword) {
setManageMasterPassword(manageMasterPassword);
return this;
}
/**
*
* If true
, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin credentials. If
* ManageMasterPassword
is false or not set, Amazon Redshift uses the admin credentials the cluster had
* at the time the snapshot was taken.
*
*
* @return If true
, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin
* credentials. If ManageMasterPassword
is false or not set, Amazon Redshift uses the admin
* credentials the cluster had at the time the snapshot was taken.
*/
public Boolean isManageMasterPassword() {
return this.manageMasterPassword;
}
/**
*
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
* You can only use this parameter if ManageMasterPassword
is true.
*
*
* @param masterPasswordSecretKmsKeyId
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials
* secret. You can only use this parameter if ManageMasterPassword
is true.
*/
public void setMasterPasswordSecretKmsKeyId(String masterPasswordSecretKmsKeyId) {
this.masterPasswordSecretKmsKeyId = masterPasswordSecretKmsKeyId;
}
/**
*
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
* You can only use this parameter if ManageMasterPassword
is true.
*
*
* @return The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials
* secret. You can only use this parameter if ManageMasterPassword
is true.
*/
public String getMasterPasswordSecretKmsKeyId() {
return this.masterPasswordSecretKmsKeyId;
}
/**
*
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
* You can only use this parameter if ManageMasterPassword
is true.
*
*
* @param masterPasswordSecretKmsKeyId
* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials
* secret. You can only use this parameter if ManageMasterPassword
is true.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withMasterPasswordSecretKmsKeyId(String masterPasswordSecretKmsKeyId) {
setMasterPasswordSecretKmsKeyId(masterPasswordSecretKmsKeyId);
return this;
}
/**
*
* The IP address type for the cluster. Possible values are ipv4
and dualstack
.
*
*
* @param ipAddressType
* The IP address type for the cluster. Possible values are ipv4
and dualstack
.
*/
public void setIpAddressType(String ipAddressType) {
this.ipAddressType = ipAddressType;
}
/**
*
* The IP address type for the cluster. Possible values are ipv4
and dualstack
.
*
*
* @return The IP address type for the cluster. Possible values are ipv4
and dualstack
.
*/
public String getIpAddressType() {
return this.ipAddressType;
}
/**
*
* The IP address type for the cluster. Possible values are ipv4
and dualstack
.
*
*
* @param ipAddressType
* The IP address type for the cluster. Possible values are ipv4
and dualstack
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withIpAddressType(String ipAddressType) {
setIpAddressType(ipAddressType);
return this;
}
/**
*
* If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
*
*
* @param multiAZ
* If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
*/
public void setMultiAZ(Boolean multiAZ) {
this.multiAZ = multiAZ;
}
/**
*
* If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
*
*
* @return If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
*/
public Boolean getMultiAZ() {
return this.multiAZ;
}
/**
*
* If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
*
*
* @param multiAZ
* If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreFromClusterSnapshotRequest withMultiAZ(Boolean multiAZ) {
setMultiAZ(multiAZ);
return this;
}
/**
*
* If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
*
*
* @return If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
*/
public Boolean isMultiAZ() {
return this.multiAZ;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getClusterIdentifier() != null)
sb.append("ClusterIdentifier: ").append(getClusterIdentifier()).append(",");
if (getSnapshotIdentifier() != null)
sb.append("SnapshotIdentifier: ").append(getSnapshotIdentifier()).append(",");
if (getSnapshotArn() != null)
sb.append("SnapshotArn: ").append(getSnapshotArn()).append(",");
if (getSnapshotClusterIdentifier() != null)
sb.append("SnapshotClusterIdentifier: ").append(getSnapshotClusterIdentifier()).append(",");
if (getPort() != null)
sb.append("Port: ").append(getPort()).append(",");
if (getAvailabilityZone() != null)
sb.append("AvailabilityZone: ").append(getAvailabilityZone()).append(",");
if (getAllowVersionUpgrade() != null)
sb.append("AllowVersionUpgrade: ").append(getAllowVersionUpgrade()).append(",");
if (getClusterSubnetGroupName() != null)
sb.append("ClusterSubnetGroupName: ").append(getClusterSubnetGroupName()).append(",");
if (getPubliclyAccessible() != null)
sb.append("PubliclyAccessible: ").append(getPubliclyAccessible()).append(",");
if (getOwnerAccount() != null)
sb.append("OwnerAccount: ").append(getOwnerAccount()).append(",");
if (getHsmClientCertificateIdentifier() != null)
sb.append("HsmClientCertificateIdentifier: ").append(getHsmClientCertificateIdentifier()).append(",");
if (getHsmConfigurationIdentifier() != null)
sb.append("HsmConfigurationIdentifier: ").append(getHsmConfigurationIdentifier()).append(",");
if (getElasticIp() != null)
sb.append("ElasticIp: ").append(getElasticIp()).append(",");
if (getClusterParameterGroupName() != null)
sb.append("ClusterParameterGroupName: ").append(getClusterParameterGroupName()).append(",");
if (getClusterSecurityGroups() != null)
sb.append("ClusterSecurityGroups: ").append(getClusterSecurityGroups()).append(",");
if (getVpcSecurityGroupIds() != null)
sb.append("VpcSecurityGroupIds: ").append(getVpcSecurityGroupIds()).append(",");
if (getPreferredMaintenanceWindow() != null)
sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(",");
if (getAutomatedSnapshotRetentionPeriod() != null)
sb.append("AutomatedSnapshotRetentionPeriod: ").append(getAutomatedSnapshotRetentionPeriod()).append(",");
if (getManualSnapshotRetentionPeriod() != null)
sb.append("ManualSnapshotRetentionPeriod: ").append(getManualSnapshotRetentionPeriod()).append(",");
if (getKmsKeyId() != null)
sb.append("KmsKeyId: ").append(getKmsKeyId()).append(",");
if (getNodeType() != null)
sb.append("NodeType: ").append(getNodeType()).append(",");
if (getEnhancedVpcRouting() != null)
sb.append("EnhancedVpcRouting: ").append(getEnhancedVpcRouting()).append(",");
if (getAdditionalInfo() != null)
sb.append("AdditionalInfo: ").append(getAdditionalInfo()).append(",");
if (getIamRoles() != null)
sb.append("IamRoles: ").append(getIamRoles()).append(",");
if (getMaintenanceTrackName() != null)
sb.append("MaintenanceTrackName: ").append(getMaintenanceTrackName()).append(",");
if (getSnapshotScheduleIdentifier() != null)
sb.append("SnapshotScheduleIdentifier: ").append(getSnapshotScheduleIdentifier()).append(",");
if (getNumberOfNodes() != null)
sb.append("NumberOfNodes: ").append(getNumberOfNodes()).append(",");
if (getAvailabilityZoneRelocation() != null)
sb.append("AvailabilityZoneRelocation: ").append(getAvailabilityZoneRelocation()).append(",");
if (getAquaConfigurationStatus() != null)
sb.append("AquaConfigurationStatus: ").append(getAquaConfigurationStatus()).append(",");
if (getDefaultIamRoleArn() != null)
sb.append("DefaultIamRoleArn: ").append(getDefaultIamRoleArn()).append(",");
if (getReservedNodeId() != null)
sb.append("ReservedNodeId: ").append(getReservedNodeId()).append(",");
if (getTargetReservedNodeOfferingId() != null)
sb.append("TargetReservedNodeOfferingId: ").append(getTargetReservedNodeOfferingId()).append(",");
if (getEncrypted() != null)
sb.append("Encrypted: ").append(getEncrypted()).append(",");
if (getManageMasterPassword() != null)
sb.append("ManageMasterPassword: ").append(getManageMasterPassword()).append(",");
if (getMasterPasswordSecretKmsKeyId() != null)
sb.append("MasterPasswordSecretKmsKeyId: ").append(getMasterPasswordSecretKmsKeyId()).append(",");
if (getIpAddressType() != null)
sb.append("IpAddressType: ").append(getIpAddressType()).append(",");
if (getMultiAZ() != null)
sb.append("MultiAZ: ").append(getMultiAZ());
sb.append("}");
return sb.toString();
}
@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.getSnapshotArn() == null ^ this.getSnapshotArn() == null)
return false;
if (other.getSnapshotArn() != null && other.getSnapshotArn().equals(this.getSnapshotArn()) == 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.getAllowVersionUpgrade() == null ^ this.getAllowVersionUpgrade() == null)
return false;
if (other.getAllowVersionUpgrade() != null && other.getAllowVersionUpgrade().equals(this.getAllowVersionUpgrade()) == 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.getPubliclyAccessible() == null ^ this.getPubliclyAccessible() == null)
return false;
if (other.getPubliclyAccessible() != null && other.getPubliclyAccessible().equals(this.getPubliclyAccessible()) == 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;
if (other.getManualSnapshotRetentionPeriod() == null ^ this.getManualSnapshotRetentionPeriod() == null)
return false;
if (other.getManualSnapshotRetentionPeriod() != null
&& other.getManualSnapshotRetentionPeriod().equals(this.getManualSnapshotRetentionPeriod()) == 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.getNodeType() == null ^ this.getNodeType() == null)
return false;
if (other.getNodeType() != null && other.getNodeType().equals(this.getNodeType()) == false)
return false;
if (other.getEnhancedVpcRouting() == null ^ this.getEnhancedVpcRouting() == null)
return false;
if (other.getEnhancedVpcRouting() != null && other.getEnhancedVpcRouting().equals(this.getEnhancedVpcRouting()) == false)
return false;
if (other.getAdditionalInfo() == null ^ this.getAdditionalInfo() == null)
return false;
if (other.getAdditionalInfo() != null && other.getAdditionalInfo().equals(this.getAdditionalInfo()) == false)
return false;
if (other.getIamRoles() == null ^ this.getIamRoles() == null)
return false;
if (other.getIamRoles() != null && other.getIamRoles().equals(this.getIamRoles()) == false)
return false;
if (other.getMaintenanceTrackName() == null ^ this.getMaintenanceTrackName() == null)
return false;
if (other.getMaintenanceTrackName() != null && other.getMaintenanceTrackName().equals(this.getMaintenanceTrackName()) == false)
return false;
if (other.getSnapshotScheduleIdentifier() == null ^ this.getSnapshotScheduleIdentifier() == null)
return false;
if (other.getSnapshotScheduleIdentifier() != null && other.getSnapshotScheduleIdentifier().equals(this.getSnapshotScheduleIdentifier()) == false)
return false;
if (other.getNumberOfNodes() == null ^ this.getNumberOfNodes() == null)
return false;
if (other.getNumberOfNodes() != null && other.getNumberOfNodes().equals(this.getNumberOfNodes()) == false)
return false;
if (other.getAvailabilityZoneRelocation() == null ^ this.getAvailabilityZoneRelocation() == null)
return false;
if (other.getAvailabilityZoneRelocation() != null && other.getAvailabilityZoneRelocation().equals(this.getAvailabilityZoneRelocation()) == false)
return false;
if (other.getAquaConfigurationStatus() == null ^ this.getAquaConfigurationStatus() == null)
return false;
if (other.getAquaConfigurationStatus() != null && other.getAquaConfigurationStatus().equals(this.getAquaConfigurationStatus()) == false)
return false;
if (other.getDefaultIamRoleArn() == null ^ this.getDefaultIamRoleArn() == null)
return false;
if (other.getDefaultIamRoleArn() != null && other.getDefaultIamRoleArn().equals(this.getDefaultIamRoleArn()) == false)
return false;
if (other.getReservedNodeId() == null ^ this.getReservedNodeId() == null)
return false;
if (other.getReservedNodeId() != null && other.getReservedNodeId().equals(this.getReservedNodeId()) == false)
return false;
if (other.getTargetReservedNodeOfferingId() == null ^ this.getTargetReservedNodeOfferingId() == null)
return false;
if (other.getTargetReservedNodeOfferingId() != null && other.getTargetReservedNodeOfferingId().equals(this.getTargetReservedNodeOfferingId()) == 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.getManageMasterPassword() == null ^ this.getManageMasterPassword() == null)
return false;
if (other.getManageMasterPassword() != null && other.getManageMasterPassword().equals(this.getManageMasterPassword()) == false)
return false;
if (other.getMasterPasswordSecretKmsKeyId() == null ^ this.getMasterPasswordSecretKmsKeyId() == null)
return false;
if (other.getMasterPasswordSecretKmsKeyId() != null && other.getMasterPasswordSecretKmsKeyId().equals(this.getMasterPasswordSecretKmsKeyId()) == false)
return false;
if (other.getIpAddressType() == null ^ this.getIpAddressType() == null)
return false;
if (other.getIpAddressType() != null && other.getIpAddressType().equals(this.getIpAddressType()) == false)
return false;
if (other.getMultiAZ() == null ^ this.getMultiAZ() == null)
return false;
if (other.getMultiAZ() != null && other.getMultiAZ().equals(this.getMultiAZ()) == 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 + ((getSnapshotIdentifier() == null) ? 0 : getSnapshotIdentifier().hashCode());
hashCode = prime * hashCode + ((getSnapshotArn() == null) ? 0 : getSnapshotArn().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 + ((getAllowVersionUpgrade() == null) ? 0 : getAllowVersionUpgrade().hashCode());
hashCode = prime * hashCode + ((getClusterSubnetGroupName() == null) ? 0 : getClusterSubnetGroupName().hashCode());
hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().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());
hashCode = prime * hashCode + ((getManualSnapshotRetentionPeriod() == null) ? 0 : getManualSnapshotRetentionPeriod().hashCode());
hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode());
hashCode = prime * hashCode + ((getNodeType() == null) ? 0 : getNodeType().hashCode());
hashCode = prime * hashCode + ((getEnhancedVpcRouting() == null) ? 0 : getEnhancedVpcRouting().hashCode());
hashCode = prime * hashCode + ((getAdditionalInfo() == null) ? 0 : getAdditionalInfo().hashCode());
hashCode = prime * hashCode + ((getIamRoles() == null) ? 0 : getIamRoles().hashCode());
hashCode = prime * hashCode + ((getMaintenanceTrackName() == null) ? 0 : getMaintenanceTrackName().hashCode());
hashCode = prime * hashCode + ((getSnapshotScheduleIdentifier() == null) ? 0 : getSnapshotScheduleIdentifier().hashCode());
hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes().hashCode());
hashCode = prime * hashCode + ((getAvailabilityZoneRelocation() == null) ? 0 : getAvailabilityZoneRelocation().hashCode());
hashCode = prime * hashCode + ((getAquaConfigurationStatus() == null) ? 0 : getAquaConfigurationStatus().hashCode());
hashCode = prime * hashCode + ((getDefaultIamRoleArn() == null) ? 0 : getDefaultIamRoleArn().hashCode());
hashCode = prime * hashCode + ((getReservedNodeId() == null) ? 0 : getReservedNodeId().hashCode());
hashCode = prime * hashCode + ((getTargetReservedNodeOfferingId() == null) ? 0 : getTargetReservedNodeOfferingId().hashCode());
hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode());
hashCode = prime * hashCode + ((getManageMasterPassword() == null) ? 0 : getManageMasterPassword().hashCode());
hashCode = prime * hashCode + ((getMasterPasswordSecretKmsKeyId() == null) ? 0 : getMasterPasswordSecretKmsKeyId().hashCode());
hashCode = prime * hashCode + ((getIpAddressType() == null) ? 0 : getIpAddressType().hashCode());
hashCode = prime * hashCode + ((getMultiAZ() == null) ? 0 : getMultiAZ().hashCode());
return hashCode;
}
@Override
public RestoreFromClusterSnapshotRequest clone() {
return (RestoreFromClusterSnapshotRequest) super.clone();
}
}