com.amazonaws.services.redshift.model.RestoreFromClusterSnapshotRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-redshift Show documentation
/*
* Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights
* Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.redshift.model;
import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
*/
public class RestoreFromClusterSnapshotRequest extends 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 AWS account.
*
*
*/
private String clusterIdentifier;
/**
*
* The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive.
*
*
* Example: my-snapshot-id
*
*/
private String snapshotIdentifier;
/**
*
* The name of the cluster the source snapshot was created from. This
* parameter is required if your IAM user has a policy containing a snapshot
* resource element that specifies anything other than * for the cluster
* name.
*
*/
private String snapshotClusterIdentifier;
/**
*
* The port number on which the cluster accepts connections.
*
*
* Default: The same port as the original cluster.
*
*
* Constraints: Must be between 1115
and 65535
.
*
*/
private Integer port;
/**
*
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-1a
*
*/
private String availabilityZone;
/**
*
* If true
, 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 AWS customer account used to create or copy the snapshot. Required if
* you are restoring a snapshot you do not own, optional if you own the
* snapshot.
*
*/
private String ownerAccount;
/**
*
* Specifies the name of the HSM client certificate the Amazon Redshift
* cluster uses to retrieve the data encryption keys stored in an HSM.
*
*/
private String hsmClientCertificateIdentifier;
/**
*
* Specifies the name of the HSM configuration that contains the information
* the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
*
*/
private String hsmConfigurationIdentifier;
/**
*
* The elastic IP (EIP) address for the cluster.
*
*/
private String elasticIp;
/**
*
* The name of the parameter group to be associated with this cluster.
*
*
* Default: The default Amazon Redshift cluster parameter group. For
* information about the default parameter group, go to Working with Amazon Redshift Parameter Groups.
*
*
* Constraints:
*
*
* - Must be 1 to 255 alphanumeric characters or hyphens.
* - First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
*
*/
private String clusterParameterGroupName;
/**
*
* A list of security groups to be associated with this cluster.
*
*
* Default: The default cluster security group for Amazon Redshift.
*
*
* Cluster security groups only apply to clusters outside of VPCs.
*
*/
private com.amazonaws.internal.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.
*
*
* 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 AWS Key Management Service (KMS) key ID of the encryption key that
* you want to use to encrypt data in the cluster that you restore from a
* shared snapshot.
*
*/
private String kmsKeyId;
/**
*
* The node type that the restored cluster will be provisioned with.
*
*
* Default: The node type of the cluster from which the snapshot was taken.
* You can modify this if you are using any DS node type. In that case, you
* can choose to restore into another DS node type of the same size. For
* example, you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge into
* ds1.xlarge. 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
* dc1.large instance type into another dc1.large instance type. For more
* information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster
* Management Guide
*
*/
private String nodeType;
/**
*
* Reserved.
*
*/
private String additionalInfo;
/**
*
* A list of AWS Identity and Access Management (IAM) roles that can be used
* by the cluster to access other AWS services. You must supply the IAM
* roles in their Amazon Resource Name (ARN) format. You can supply up to 10
* IAM roles in a single request.
*
*
* A cluster can have up to 10 IAM roles associated at any time.
*
*/
private com.amazonaws.internal.SdkInternalList iamRoles;
/**
*
* The identifier of the cluster that will be created from restoring the
* snapshot.
*
*
*
* Constraints:
*
*
* - Must contain from 1 to 63 alphanumeric characters or hyphens.
* - Alphabetic characters must be lowercase.
* - First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*
*
*
* @param clusterIdentifier
* The identifier of the cluster that will be created from restoring
* the snapshot.
*
*
* Constraints:
*
*
* - Must contain from 1 to 63 alphanumeric characters or hyphens.
* - Alphabetic characters must be lowercase.
* - First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*
*/
public void setClusterIdentifier(String clusterIdentifier) {
this.clusterIdentifier = clusterIdentifier;
}
/**
*
* The identifier of the cluster that will be created from restoring the
* snapshot.
*
*
*
* Constraints:
*
*
* - Must contain from 1 to 63 alphanumeric characters or hyphens.
* - Alphabetic characters must be lowercase.
* - First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*
*
*
* @return The identifier of the cluster that will be created from restoring
* the snapshot.
*
*
* Constraints:
*
*
* - Must contain from 1 to 63 alphanumeric characters or hyphens.
*
* - Alphabetic characters must be lowercase.
* - First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*
*/
public String getClusterIdentifier() {
return 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 AWS account.
*
*
*
* @param clusterIdentifier
* The identifier of the cluster that will be created from restoring
* the snapshot.
*
*
* Constraints:
*
*
* - Must contain from 1 to 63 alphanumeric characters or hyphens.
* - Alphabetic characters must be lowercase.
* - First character must be a letter.
* - Cannot end with a hyphen or contain two consecutive hyphens.
* - Must be unique for all clusters within an AWS account.
*
* @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.
*
*
* Example: my-snapshot-id
*
*
* @param snapshotIdentifier
* The name of the snapshot from which to create the new cluster.
* This parameter isn't case sensitive.
*
* Example: my-snapshot-id
*/
public void setSnapshotIdentifier(String snapshotIdentifier) {
this.snapshotIdentifier = snapshotIdentifier;
}
/**
*
* The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive.
*
*
* Example: my-snapshot-id
*
*
* @return The name of the snapshot from which to create the new cluster.
* This parameter isn't case sensitive.
*
* Example: my-snapshot-id
*/
public String getSnapshotIdentifier() {
return this.snapshotIdentifier;
}
/**
*
* The name of the snapshot from which to create the new cluster. This
* parameter isn't case sensitive.
*
*
* Example: my-snapshot-id
*
*
* @param snapshotIdentifier
* The name of the snapshot from which to create the new cluster.
* This parameter isn't case sensitive.
*
* Example: my-snapshot-id
* @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 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.
*
*
* Constraints: Must be between 1115
and 65535
.
*
*
* @param port
* The port number on which the cluster accepts connections.
*
* Default: The same port as the original cluster.
*
*
* Constraints: Must be between 1115
and
* 65535
.
*/
public void setPort(Integer port) {
this.port = port;
}
/**
*
* The port number on which the cluster accepts connections.
*
*
* Default: The same port as the original cluster.
*
*
* Constraints: Must be between 1115
and 65535
.
*
*
* @return The port number on which the cluster accepts connections.
*
* Default: The same port as the original cluster.
*
*
* Constraints: Must be between 1115
and
* 65535
.
*/
public Integer getPort() {
return this.port;
}
/**
*
* The port number on which the cluster accepts connections.
*
*
* Default: The same port as the original cluster.
*
*
* Constraints: Must be between 1115
and 65535
.
*
*
* @param port
* The port number on which the cluster accepts connections.
*
* Default: The same port as the original cluster.
*
*
* Constraints: Must be between 1115
and
* 65535
.
* @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-1a
*
*
* @param availabilityZone
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-1a
*/
public void setAvailabilityZone(String availabilityZone) {
this.availabilityZone = availabilityZone;
}
/**
*
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-1a
*
*
* @return The Amazon EC2 Availability Zone in which to restore the cluster.
*
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-1a
*/
public String getAvailabilityZone() {
return this.availabilityZone;
}
/**
*
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-1a
*
*
* @param availabilityZone
* The Amazon EC2 Availability Zone in which to restore the cluster.
*
*
* Default: A random, system-chosen Availability Zone.
*
*
* Example: us-east-1a
* @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 AWS customer account used to create or copy the snapshot. Required if
* you are restoring a snapshot you do not own, optional if you own the
* snapshot.
*
*
* @param ownerAccount
* The AWS customer account used to create or copy the snapshot.
* Required if you are restoring a snapshot you do not own, optional
* if you own the snapshot.
*/
public void setOwnerAccount(String ownerAccount) {
this.ownerAccount = ownerAccount;
}
/**
*
* The AWS customer account used to create or copy the snapshot. Required if
* you are restoring a snapshot you do not own, optional if you own the
* snapshot.
*
*
* @return The AWS customer account used to create or copy the snapshot.
* Required if you are restoring a snapshot you do not own, optional
* if you own the snapshot.
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
*
* The AWS customer account used to create or copy the snapshot. Required if
* you are restoring a snapshot you do not own, optional if you own the
* snapshot.
*
*
* @param ownerAccount
* The AWS customer account used to create or copy the snapshot.
* Required if you are restoring a snapshot you do not own, optional
* if you own the snapshot.
* @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.
*
*
* @param elasticIp
* The elastic IP (EIP) address for the cluster.
*/
public void setElasticIp(String elasticIp) {
this.elasticIp = elasticIp;
}
/**
*
* The elastic IP (EIP) address for the cluster.
*
*
* @return The elastic IP (EIP) address for the cluster.
*/
public String getElasticIp() {
return this.elasticIp;
}
/**
*
* The elastic IP (EIP) address for the cluster.
*
*
* @param elasticIp
* The elastic IP (EIP) address for the cluster.
* @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.
*
*
* Default: The value selected for the cluster from which the snapshot was
* taken.
*
*
* Constraints: Must be a value from 0 to 35.
*
*
* @param automatedSnapshotRetentionPeriod
* The number of days that automated snapshots are retained. If the
* value is 0, automated snapshots are disabled. Even if automated
* snapshots are disabled, you can still create manual snapshots when
* you want with CreateClusterSnapshot.
*
* Default: The value selected for the cluster from which the
* snapshot was taken.
*
*
* Constraints: Must be a value from 0 to 35.
*/
public void setAutomatedSnapshotRetentionPeriod(
Integer automatedSnapshotRetentionPeriod) {
this.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod;
}
/**
*
* The number of days that automated snapshots are retained. If the value is
* 0, automated snapshots are disabled. Even if automated snapshots are
* disabled, you can still create manual snapshots when you want with
* CreateClusterSnapshot.
*
*
* Default: The value selected for the cluster from which the snapshot was
* taken.
*
*
* Constraints: Must be a value from 0 to 35.
*
*
* @return The number of days that automated snapshots are retained. If the
* value is 0, automated snapshots are disabled. Even if automated
* snapshots are disabled, you can still create manual snapshots
* when you want with CreateClusterSnapshot.
*
* Default: The value selected for the cluster from which the
* snapshot was taken.
*
*
* Constraints: Must be a value from 0 to 35.
*/
public Integer getAutomatedSnapshotRetentionPeriod() {
return 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.
*
*
* Default: The value selected for the cluster from which the snapshot was
* taken.
*
*
* Constraints: Must be a value from 0 to 35.
*
*
* @param automatedSnapshotRetentionPeriod
* The number of days that automated snapshots are retained. If the
* value is 0, automated snapshots are disabled. Even if automated
* snapshots are disabled, you can still create manual snapshots when
* you want with CreateClusterSnapshot.
*
* Default: The value selected for the cluster from which the
* snapshot was taken.
*
*
* Constraints: Must be a value from 0 to 35.
* @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 AWS Key Management Service (KMS) key ID of the encryption key that
* you want to use to encrypt data in the cluster that you restore from a
* shared snapshot.
*
*
* @param kmsKeyId
* The AWS Key Management Service (KMS) key ID of the encryption key
* that you want to use to encrypt data in the cluster that you
* restore from a shared snapshot.
*/
public void setKmsKeyId(String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
}
/**
*
* The AWS Key Management Service (KMS) key ID of the encryption key that
* you want to use to encrypt data in the cluster that you restore from a
* shared snapshot.
*
*
* @return The AWS Key Management Service (KMS) key ID of the encryption key
* that you want to use to encrypt data in the cluster that you
* restore from a shared snapshot.
*/
public String getKmsKeyId() {
return this.kmsKeyId;
}
/**
*
* The AWS Key Management Service (KMS) key ID of the encryption key that
* you want to use to encrypt data in the cluster that you restore from a
* shared snapshot.
*
*
* @param kmsKeyId
* The AWS Key Management Service (KMS) key ID of the encryption key
* that you want to use to encrypt data in the cluster that you
* restore from a shared snapshot.
* @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.
*
*
* Default: The node type of the cluster from which the snapshot was taken.
* You can modify this if you are using any DS node type. In that case, you
* can choose to restore into another DS node type of the same size. For
* example, you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge into
* ds1.xlarge. 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
* dc1.large instance type into another dc1.large instance 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.
*
* Default: The node type of the cluster from which the snapshot was
* taken. You can modify this if you are using any DS node type. In
* that case, you can choose to restore into another DS node type of
* the same size. For example, you can restore ds1.8xlarge into
* ds2.8xlarge, or ds2.xlarge into ds1.xlarge. 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 dc1.large instance
* type into another dc1.large instance 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.
*
*
* Default: The node type of the cluster from which the snapshot was taken.
* You can modify this if you are using any DS node type. In that case, you
* can choose to restore into another DS node type of the same size. For
* example, you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge into
* ds1.xlarge. 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
* dc1.large instance type into another dc1.large instance 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.
*
* Default: The node type of the cluster from which the snapshot was
* taken. You can modify this if you are using any DS node type. In
* that case, you can choose to restore into another DS node type of
* the same size. For example, you can restore ds1.8xlarge into
* ds2.8xlarge, or ds2.xlarge into ds1.xlarge. 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 dc1.large instance
* type into another dc1.large instance 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.
*
*
* Default: The node type of the cluster from which the snapshot was taken.
* You can modify this if you are using any DS node type. In that case, you
* can choose to restore into another DS node type of the same size. For
* example, you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge into
* ds1.xlarge. 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
* dc1.large instance type into another dc1.large instance 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.
*
* Default: The node type of the cluster from which the snapshot was
* taken. You can modify this if you are using any DS node type. In
* that case, you can choose to restore into another DS node type of
* the same size. For example, you can restore ds1.8xlarge into
* ds2.8xlarge, or ds2.xlarge into ds1.xlarge. 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 dc1.large instance
* type into another dc1.large instance 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;
}
/**
*
* 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 AWS Identity and Access Management (IAM) roles that can be used
* by the cluster to access other AWS services. You must supply the IAM
* roles in their Amazon Resource Name (ARN) format. You can supply up to 10
* IAM roles in a single request.
*
*
* A cluster can have up to 10 IAM roles associated at any time.
*
*
* @return A list of AWS Identity and Access Management (IAM) roles that can
* be used by the cluster to access other AWS services. You must
* supply the IAM roles in their Amazon Resource Name (ARN) format.
* You can supply up to 10 IAM roles in a single request.
*
* A cluster can have up to 10 IAM roles associated at any time.
*/
public java.util.List getIamRoles() {
if (iamRoles == null) {
iamRoles = new com.amazonaws.internal.SdkInternalList();
}
return iamRoles;
}
/**
*
* A list of AWS Identity and Access Management (IAM) roles that can be used
* by the cluster to access other AWS services. You must supply the IAM
* roles in their Amazon Resource Name (ARN) format. You can supply up to 10
* IAM roles in a single request.
*
*
* A cluster can have up to 10 IAM roles associated at any time.
*
*
* @param iamRoles
* A list of AWS Identity and Access Management (IAM) roles that can
* be used by the cluster to access other AWS services. You must
* supply the IAM roles in their Amazon Resource Name (ARN) format.
* You can supply up to 10 IAM roles in a single request.
*
* A cluster can have up to 10 IAM roles associated at any time.
*/
public void setIamRoles(java.util.Collection iamRoles) {
if (iamRoles == null) {
this.iamRoles = null;
return;
}
this.iamRoles = new com.amazonaws.internal.SdkInternalList(
iamRoles);
}
/**
*
* A list of AWS Identity and Access Management (IAM) roles that can be used
* by the cluster to access other AWS services. You must supply the IAM
* roles in their Amazon Resource Name (ARN) format. You can supply up to 10
* IAM roles in a single request.
*
*
* A cluster can have up to 10 IAM roles associated at any time.
*
*
* NOTE: This method appends the values to the existing list (if
* any). Use {@link #setIamRoles(java.util.Collection)} or
* {@link #withIamRoles(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param iamRoles
* A list of AWS Identity and Access Management (IAM) roles that can
* be used by the cluster to access other AWS services. You must
* supply the IAM roles in their Amazon Resource Name (ARN) format.
* You can supply up to 10 IAM roles in a single request.
*
* A cluster can have up to 10 IAM roles associated at any time.
* @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 AWS Identity and Access Management (IAM) roles that can be used
* by the cluster to access other AWS services. You must supply the IAM
* roles in their Amazon Resource Name (ARN) format. You can supply up to 10
* IAM roles in a single request.
*
*
* A cluster can have up to 10 IAM roles associated at any time.
*
*
* @param iamRoles
* A list of AWS Identity and Access Management (IAM) roles that can
* be used by the cluster to access other AWS services. You must
* supply the IAM roles in their Amazon Resource Name (ARN) format.
* You can supply up to 10 IAM roles in a single request.
*
* A cluster can have up to 10 IAM roles associated at any time.
* @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;
}
/**
* Returns a string representation of this object; useful for testing and
* debugging.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getClusterIdentifier() != null)
sb.append("ClusterIdentifier: " + getClusterIdentifier() + ",");
if (getSnapshotIdentifier() != null)
sb.append("SnapshotIdentifier: " + getSnapshotIdentifier() + ",");
if (getSnapshotClusterIdentifier() != null)
sb.append("SnapshotClusterIdentifier: "
+ getSnapshotClusterIdentifier() + ",");
if (getPort() != null)
sb.append("Port: " + getPort() + ",");
if (getAvailabilityZone() != null)
sb.append("AvailabilityZone: " + getAvailabilityZone() + ",");
if (getAllowVersionUpgrade() != null)
sb.append("AllowVersionUpgrade: " + getAllowVersionUpgrade() + ",");
if (getClusterSubnetGroupName() != null)
sb.append("ClusterSubnetGroupName: " + getClusterSubnetGroupName()
+ ",");
if (getPubliclyAccessible() != null)
sb.append("PubliclyAccessible: " + getPubliclyAccessible() + ",");
if (getOwnerAccount() != null)
sb.append("OwnerAccount: " + getOwnerAccount() + ",");
if (getHsmClientCertificateIdentifier() != null)
sb.append("HsmClientCertificateIdentifier: "
+ getHsmClientCertificateIdentifier() + ",");
if (getHsmConfigurationIdentifier() != null)
sb.append("HsmConfigurationIdentifier: "
+ getHsmConfigurationIdentifier() + ",");
if (getElasticIp() != null)
sb.append("ElasticIp: " + getElasticIp() + ",");
if (getClusterParameterGroupName() != null)
sb.append("ClusterParameterGroupName: "
+ getClusterParameterGroupName() + ",");
if (getClusterSecurityGroups() != null)
sb.append("ClusterSecurityGroups: " + getClusterSecurityGroups()
+ ",");
if (getVpcSecurityGroupIds() != null)
sb.append("VpcSecurityGroupIds: " + getVpcSecurityGroupIds() + ",");
if (getPreferredMaintenanceWindow() != null)
sb.append("PreferredMaintenanceWindow: "
+ getPreferredMaintenanceWindow() + ",");
if (getAutomatedSnapshotRetentionPeriod() != null)
sb.append("AutomatedSnapshotRetentionPeriod: "
+ getAutomatedSnapshotRetentionPeriod() + ",");
if (getKmsKeyId() != null)
sb.append("KmsKeyId: " + getKmsKeyId() + ",");
if (getNodeType() != null)
sb.append("NodeType: " + getNodeType() + ",");
if (getAdditionalInfo() != null)
sb.append("AdditionalInfo: " + getAdditionalInfo() + ",");
if (getIamRoles() != null)
sb.append("IamRoles: " + getIamRoles());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof RestoreFromClusterSnapshotRequest == false)
return false;
RestoreFromClusterSnapshotRequest other = (RestoreFromClusterSnapshotRequest) obj;
if (other.getClusterIdentifier() == null
^ this.getClusterIdentifier() == null)
return false;
if (other.getClusterIdentifier() != null
&& other.getClusterIdentifier().equals(
this.getClusterIdentifier()) == false)
return false;
if (other.getSnapshotIdentifier() == null
^ this.getSnapshotIdentifier() == null)
return false;
if (other.getSnapshotIdentifier() != null
&& other.getSnapshotIdentifier().equals(
this.getSnapshotIdentifier()) == false)
return false;
if (other.getSnapshotClusterIdentifier() == null
^ this.getSnapshotClusterIdentifier() == null)
return false;
if (other.getSnapshotClusterIdentifier() != null
&& other.getSnapshotClusterIdentifier().equals(
this.getSnapshotClusterIdentifier()) == false)
return false;
if (other.getPort() == null ^ this.getPort() == null)
return false;
if (other.getPort() != null
&& other.getPort().equals(this.getPort()) == false)
return false;
if (other.getAvailabilityZone() == null
^ this.getAvailabilityZone() == null)
return false;
if (other.getAvailabilityZone() != null
&& other.getAvailabilityZone().equals(
this.getAvailabilityZone()) == false)
return false;
if (other.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.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.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;
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
+ ((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
+ ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode());
hashCode = prime * hashCode
+ ((getNodeType() == null) ? 0 : getNodeType().hashCode());
hashCode = prime
* hashCode
+ ((getAdditionalInfo() == null) ? 0 : getAdditionalInfo()
.hashCode());
hashCode = prime * hashCode
+ ((getIamRoles() == null) ? 0 : getIamRoles().hashCode());
return hashCode;
}
@Override
public RestoreFromClusterSnapshotRequest clone() {
return (RestoreFromClusterSnapshotRequest) super.clone();
}
}