com.amazonaws.services.redshift.model.ModifyClusterRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-redshift Show documentation
/*
* Copyright 2012-2017 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 ModifyClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The unique identifier of the cluster to be modified.
*
*
* Example: examplecluster
*
*/
private String clusterIdentifier;
/**
*
* The new cluster type.
*
*
* When you submit your cluster resize request, your existing cluster goes into a read-only mode. After Amazon
* Redshift provisions a new cluster based on your resize requirements, there will be outage for a period while the
* old cluster is deleted and your connection is switched to the new cluster. You can use DescribeResize to
* track the progress of the resize request.
*
*
* Valid Values: multi-node | single-node
*
*/
private String clusterType;
/**
*
* The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes
* parameter.
*
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to
* read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a
* temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the
* new connection is complete, the original access permissions for the cluster are restored. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: ds1.xlarge
| ds1.8xlarge
| ds2.xlarge
|
* ds2.8xlarge
| dc1.large
| dc1.8xlarge
.
*
*/
private String nodeType;
/**
*
* The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the node type
* parameter.
*
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to
* read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a
* temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the
* new connection is complete, the original access permissions for the cluster are restored. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: Integer greater than 0
.
*
*/
private Integer numberOfNodes;
/**
*
* A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied as soon
* as possible.
*
*
* Security groups currently associated with the cluster, and not in the list of groups to apply, will be revoked
* from the cluster.
*
*
* 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 com.amazonaws.internal.SdkInternalList clusterSecurityGroups;
/**
*
* A list of virtual private cloud (VPC) security groups to be associated with the cluster.
*
*/
private com.amazonaws.internal.SdkInternalList vpcSecurityGroupIds;
/**
*
* The new password for the cluster master user. This change is asynchronously applied as soon as possible. Between
* the time of the request and the completion of the request, the MasterUserPassword
element exists in
* the PendingModifiedValues
element of the operation response.
*
*
*
* Operations never return the password, so this operation provides a way to regain access to the master user
* account for a cluster if the password is lost.
*
*
*
* Default: Uses existing setting.
*
*
* Constraints:
*
*
* -
*
* Must be between 8 and 64 characters in length.
*
*
* -
*
* Must contain at least one uppercase letter.
*
*
* -
*
* Must contain at least one lowercase letter.
*
*
* -
*
* Must contain one number.
*
*
* -
*
* Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), " (double quote), \, /, @,
* or space.
*
*
*
*/
private String masterUserPassword;
/**
*
* The name of the cluster parameter group to apply to this cluster. This change is applied only after the cluster
* is rebooted. To reboot a cluster use RebootCluster.
*
*
* Default: Uses existing setting.
*
*
* Constraints: The cluster parameter group must be in the same parameter group family that matches the cluster
* version.
*
*/
private String clusterParameterGroupName;
/**
*
* 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.
*
*
* If you decrease the automated snapshot retention period from its current value, existing automated snapshots that
* fall outside of the new retention period will be immediately deleted.
*
*
* Default: Uses existing setting.
*
*
* Constraints: Must be a value from 0 to 35.
*
*/
private Integer automatedSnapshotRetentionPeriod;
/**
*
* The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system maintenance is
* necessary during the window, it may result in an outage.
*
*
* This maintenance window change is made immediately. If the new maintenance window indicates the current time,
* there must be at least 120 minutes between the current time and end of the window in order to ensure that pending
* changes are applied.
*
*
* Default: Uses existing setting.
*
*
* Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00
.
*
*
* Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*
*
* Constraints: Must be at least 30 minutes.
*
*/
private String preferredMaintenanceWindow;
/**
*
* The new version number of the Amazon Redshift engine to upgrade to.
*
*
* For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter
* group in the cluster parameter group family for the new version must be specified. The new cluster parameter
* group can be the default for that cluster parameter group family. For more information about parameters and
* parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* Example: 1.0
*
*/
private String clusterVersion;
/**
*
* If true
, major version upgrades will be applied automatically to the cluster during the maintenance
* window.
*
*
* Default: false
*
*/
private Boolean allowVersionUpgrade;
/**
*
* 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 new identifier for the cluster.
*
*
* 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.
*
*
*
*
* Example: examplecluster
*
*/
private String newClusterIdentifier;
/**
*
* If true
, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be
* publicly available.
*
*/
private Boolean publiclyAccessible;
/**
*
* The Elastic IP (EIP) address for the cluster.
*
*
* Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For
* more information about provisioning clusters in EC2-VPC, go to Supported
* Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.
*
*/
private String elasticIp;
/**
*
* 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;
/**
*
* The unique identifier of the cluster to be modified.
*
*
* Example: examplecluster
*
*
* @param clusterIdentifier
* The unique identifier of the cluster to be modified.
*
* Example: examplecluster
*/
public void setClusterIdentifier(String clusterIdentifier) {
this.clusterIdentifier = clusterIdentifier;
}
/**
*
* The unique identifier of the cluster to be modified.
*
*
* Example: examplecluster
*
*
* @return The unique identifier of the cluster to be modified.
*
* Example: examplecluster
*/
public String getClusterIdentifier() {
return this.clusterIdentifier;
}
/**
*
* The unique identifier of the cluster to be modified.
*
*
* Example: examplecluster
*
*
* @param clusterIdentifier
* The unique identifier of the cluster to be modified.
*
* Example: examplecluster
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withClusterIdentifier(String clusterIdentifier) {
setClusterIdentifier(clusterIdentifier);
return this;
}
/**
*
* The new cluster type.
*
*
* When you submit your cluster resize request, your existing cluster goes into a read-only mode. After Amazon
* Redshift provisions a new cluster based on your resize requirements, there will be outage for a period while the
* old cluster is deleted and your connection is switched to the new cluster. You can use DescribeResize to
* track the progress of the resize request.
*
*
* Valid Values: multi-node | single-node
*
*
* @param clusterType
* The new cluster type.
*
* When you submit your cluster resize request, your existing cluster goes into a read-only mode. After
* Amazon Redshift provisions a new cluster based on your resize requirements, there will be outage for a
* period while the old cluster is deleted and your connection is switched to the new cluster. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: multi-node | single-node
*/
public void setClusterType(String clusterType) {
this.clusterType = clusterType;
}
/**
*
* The new cluster type.
*
*
* When you submit your cluster resize request, your existing cluster goes into a read-only mode. After Amazon
* Redshift provisions a new cluster based on your resize requirements, there will be outage for a period while the
* old cluster is deleted and your connection is switched to the new cluster. You can use DescribeResize to
* track the progress of the resize request.
*
*
* Valid Values: multi-node | single-node
*
*
* @return The new cluster type.
*
* When you submit your cluster resize request, your existing cluster goes into a read-only mode. After
* Amazon Redshift provisions a new cluster based on your resize requirements, there will be outage for a
* period while the old cluster is deleted and your connection is switched to the new cluster. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: multi-node | single-node
*/
public String getClusterType() {
return this.clusterType;
}
/**
*
* The new cluster type.
*
*
* When you submit your cluster resize request, your existing cluster goes into a read-only mode. After Amazon
* Redshift provisions a new cluster based on your resize requirements, there will be outage for a period while the
* old cluster is deleted and your connection is switched to the new cluster. You can use DescribeResize to
* track the progress of the resize request.
*
*
* Valid Values: multi-node | single-node
*
*
* @param clusterType
* The new cluster type.
*
* When you submit your cluster resize request, your existing cluster goes into a read-only mode. After
* Amazon Redshift provisions a new cluster based on your resize requirements, there will be outage for a
* period while the old cluster is deleted and your connection is switched to the new cluster. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: multi-node | single-node
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withClusterType(String clusterType) {
setClusterType(clusterType);
return this;
}
/**
*
* The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes
* parameter.
*
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to
* read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a
* temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the
* new connection is complete, the original access permissions for the cluster are restored. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: ds1.xlarge
| ds1.8xlarge
| ds2.xlarge
|
* ds2.8xlarge
| dc1.large
| dc1.8xlarge
.
*
*
* @param nodeType
* The new node type of the cluster. If you specify a new node type, you must also specify the number of
* nodes parameter.
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster
* to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there
* will be a temporary outage while the old cluster is deleted and your connection is switched to the new
* cluster. When the new connection is complete, the original access permissions for the cluster are
* restored. You can use DescribeResize to track the progress of the resize request.
*
*
* Valid Values: ds1.xlarge
| ds1.8xlarge
| ds2.xlarge
|
* ds2.8xlarge
| dc1.large
| dc1.8xlarge
.
*/
public void setNodeType(String nodeType) {
this.nodeType = nodeType;
}
/**
*
* The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes
* parameter.
*
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to
* read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a
* temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the
* new connection is complete, the original access permissions for the cluster are restored. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: ds1.xlarge
| ds1.8xlarge
| ds2.xlarge
|
* ds2.8xlarge
| dc1.large
| dc1.8xlarge
.
*
*
* @return The new node type of the cluster. If you specify a new node type, you must also specify the number of
* nodes parameter.
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster
* to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there
* will be a temporary outage while the old cluster is deleted and your connection is switched to the new
* cluster. When the new connection is complete, the original access permissions for the cluster are
* restored. You can use DescribeResize to track the progress of the resize request.
*
*
* Valid Values: ds1.xlarge
| ds1.8xlarge
| ds2.xlarge
|
* ds2.8xlarge
| dc1.large
| dc1.8xlarge
.
*/
public String getNodeType() {
return this.nodeType;
}
/**
*
* The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes
* parameter.
*
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to
* read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a
* temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the
* new connection is complete, the original access permissions for the cluster are restored. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: ds1.xlarge
| ds1.8xlarge
| ds2.xlarge
|
* ds2.8xlarge
| dc1.large
| dc1.8xlarge
.
*
*
* @param nodeType
* The new node type of the cluster. If you specify a new node type, you must also specify the number of
* nodes parameter.
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster
* to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there
* will be a temporary outage while the old cluster is deleted and your connection is switched to the new
* cluster. When the new connection is complete, the original access permissions for the cluster are
* restored. You can use DescribeResize to track the progress of the resize request.
*
*
* Valid Values: ds1.xlarge
| ds1.8xlarge
| ds2.xlarge
|
* ds2.8xlarge
| dc1.large
| dc1.8xlarge
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withNodeType(String nodeType) {
setNodeType(nodeType);
return this;
}
/**
*
* The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the node type
* parameter.
*
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to
* read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a
* temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the
* new connection is complete, the original access permissions for the cluster are restored. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: Integer greater than 0
.
*
*
* @param numberOfNodes
* The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the
* node type parameter.
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster
* to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there
* will be a temporary outage while the old cluster is deleted and your connection is switched to the new
* cluster. When the new connection is complete, the original access permissions for the cluster are
* restored. You can use DescribeResize to track the progress of the resize request.
*
*
* Valid Values: Integer greater than 0
.
*/
public void setNumberOfNodes(Integer numberOfNodes) {
this.numberOfNodes = numberOfNodes;
}
/**
*
* The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the node type
* parameter.
*
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to
* read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a
* temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the
* new connection is complete, the original access permissions for the cluster are restored. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: Integer greater than 0
.
*
*
* @return The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the
* node type parameter.
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster
* to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there
* will be a temporary outage while the old cluster is deleted and your connection is switched to the new
* cluster. When the new connection is complete, the original access permissions for the cluster are
* restored. You can use DescribeResize to track the progress of the resize request.
*
*
* Valid Values: Integer greater than 0
.
*/
public Integer getNumberOfNodes() {
return this.numberOfNodes;
}
/**
*
* The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the node type
* parameter.
*
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to
* read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a
* temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the
* new connection is complete, the original access permissions for the cluster are restored. You can use
* DescribeResize to track the progress of the resize request.
*
*
* Valid Values: Integer greater than 0
.
*
*
* @param numberOfNodes
* The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the
* node type parameter.
*
* When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster
* to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there
* will be a temporary outage while the old cluster is deleted and your connection is switched to the new
* cluster. When the new connection is complete, the original access permissions for the cluster are
* restored. You can use DescribeResize to track the progress of the resize request.
*
*
* Valid Values: Integer greater than 0
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withNumberOfNodes(Integer numberOfNodes) {
setNumberOfNodes(numberOfNodes);
return this;
}
/**
*
* A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied as soon
* as possible.
*
*
* Security groups currently associated with the cluster, and not in the list of groups to apply, will be revoked
* from the cluster.
*
*
* Constraints:
*
*
* -
*
* Must be 1 to 255 alphanumeric characters or hyphens
*
*
* -
*
* First character must be a letter
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens
*
*
*
*
* @return A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied
* as soon as possible.
*
* Security groups currently associated with the cluster, and not in the list of groups to apply, will be
* revoked from the cluster.
*
*
* 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 java.util.List getClusterSecurityGroups() {
if (clusterSecurityGroups == null) {
clusterSecurityGroups = new com.amazonaws.internal.SdkInternalList();
}
return clusterSecurityGroups;
}
/**
*
* A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied as soon
* as possible.
*
*
* Security groups currently associated with the cluster, and not in the list of groups to apply, will be revoked
* from the cluster.
*
*
* 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 clusterSecurityGroups
* A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied
* as soon as possible.
*
* Security groups currently associated with the cluster, and not in the list of groups to apply, will be
* revoked from the cluster.
*
*
* 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 setClusterSecurityGroups(java.util.Collection clusterSecurityGroups) {
if (clusterSecurityGroups == null) {
this.clusterSecurityGroups = null;
return;
}
this.clusterSecurityGroups = new com.amazonaws.internal.SdkInternalList(clusterSecurityGroups);
}
/**
*
* A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied as soon
* as possible.
*
*
* Security groups currently associated with the cluster, and not in the list of groups to apply, will be revoked
* from the cluster.
*
*
* 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
*
*
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setClusterSecurityGroups(java.util.Collection)} or
* {@link #withClusterSecurityGroups(java.util.Collection)} if you want to override the existing values.
*
*
* @param clusterSecurityGroups
* A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied
* as soon as possible.
*
* Security groups currently associated with the cluster, and not in the list of groups to apply, will be
* revoked from the cluster.
*
*
* 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 ModifyClusterRequest 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 cluster security groups to be authorized on this cluster. This change is asynchronously applied as soon
* as possible.
*
*
* Security groups currently associated with the cluster, and not in the list of groups to apply, will be revoked
* from the cluster.
*
*
* 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 clusterSecurityGroups
* A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied
* as soon as possible.
*
* Security groups currently associated with the cluster, and not in the list of groups to apply, will be
* revoked from the cluster.
*
*
* 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 ModifyClusterRequest withClusterSecurityGroups(java.util.Collection clusterSecurityGroups) {
setClusterSecurityGroups(clusterSecurityGroups);
return this;
}
/**
*
* A list of virtual private cloud (VPC) security groups to be associated with the cluster.
*
*
* @return A list of virtual private cloud (VPC) security groups to be associated with the cluster.
*/
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.
*
*
* @param vpcSecurityGroupIds
* A list of virtual private cloud (VPC) security groups to be associated with the cluster.
*/
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.
*
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest 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.
*
*
* @param vpcSecurityGroupIds
* A list of virtual private cloud (VPC) security groups to be associated with the cluster.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) {
setVpcSecurityGroupIds(vpcSecurityGroupIds);
return this;
}
/**
*
* The new password for the cluster master user. This change is asynchronously applied as soon as possible. Between
* the time of the request and the completion of the request, the MasterUserPassword
element exists in
* the PendingModifiedValues
element of the operation response.
*
*
*
* Operations never return the password, so this operation provides a way to regain access to the master user
* account for a cluster if the password is lost.
*
*
*
* Default: Uses existing setting.
*
*
* Constraints:
*
*
* -
*
* Must be between 8 and 64 characters in length.
*
*
* -
*
* Must contain at least one uppercase letter.
*
*
* -
*
* Must contain at least one lowercase letter.
*
*
* -
*
* Must contain one number.
*
*
* -
*
* Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), " (double quote), \, /, @,
* or space.
*
*
*
*
* @param masterUserPassword
* The new password for the cluster master user. This change is asynchronously applied as soon as possible.
* Between the time of the request and the completion of the request, the MasterUserPassword
* element exists in the PendingModifiedValues
element of the operation response.
*
* Operations never return the password, so this operation provides a way to regain access to the master user
* account for a cluster if the password is lost.
*
*
*
* Default: Uses existing setting.
*
*
* Constraints:
*
*
* -
*
* Must be between 8 and 64 characters in length.
*
*
* -
*
* Must contain at least one uppercase letter.
*
*
* -
*
* Must contain at least one lowercase letter.
*
*
* -
*
* Must contain one number.
*
*
* -
*
* Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), " (double quote), \,
* /, @, or space.
*
*
*/
public void setMasterUserPassword(String masterUserPassword) {
this.masterUserPassword = masterUserPassword;
}
/**
*
* The new password for the cluster master user. This change is asynchronously applied as soon as possible. Between
* the time of the request and the completion of the request, the MasterUserPassword
element exists in
* the PendingModifiedValues
element of the operation response.
*
*
*
* Operations never return the password, so this operation provides a way to regain access to the master user
* account for a cluster if the password is lost.
*
*
*
* Default: Uses existing setting.
*
*
* Constraints:
*
*
* -
*
* Must be between 8 and 64 characters in length.
*
*
* -
*
* Must contain at least one uppercase letter.
*
*
* -
*
* Must contain at least one lowercase letter.
*
*
* -
*
* Must contain one number.
*
*
* -
*
* Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), " (double quote), \, /, @,
* or space.
*
*
*
*
* @return The new password for the cluster master user. This change is asynchronously applied as soon as possible.
* Between the time of the request and the completion of the request, the MasterUserPassword
* element exists in the PendingModifiedValues
element of the operation response.
*
* Operations never return the password, so this operation provides a way to regain access to the master
* user account for a cluster if the password is lost.
*
*
*
* Default: Uses existing setting.
*
*
* Constraints:
*
*
* -
*
* Must be between 8 and 64 characters in length.
*
*
* -
*
* Must contain at least one uppercase letter.
*
*
* -
*
* Must contain at least one lowercase letter.
*
*
* -
*
* Must contain one number.
*
*
* -
*
* Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), " (double quote), \,
* /, @, or space.
*
*
*/
public String getMasterUserPassword() {
return this.masterUserPassword;
}
/**
*
* The new password for the cluster master user. This change is asynchronously applied as soon as possible. Between
* the time of the request and the completion of the request, the MasterUserPassword
element exists in
* the PendingModifiedValues
element of the operation response.
*
*
*
* Operations never return the password, so this operation provides a way to regain access to the master user
* account for a cluster if the password is lost.
*
*
*
* Default: Uses existing setting.
*
*
* Constraints:
*
*
* -
*
* Must be between 8 and 64 characters in length.
*
*
* -
*
* Must contain at least one uppercase letter.
*
*
* -
*
* Must contain at least one lowercase letter.
*
*
* -
*
* Must contain one number.
*
*
* -
*
* Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), " (double quote), \, /, @,
* or space.
*
*
*
*
* @param masterUserPassword
* The new password for the cluster master user. This change is asynchronously applied as soon as possible.
* Between the time of the request and the completion of the request, the MasterUserPassword
* element exists in the PendingModifiedValues
element of the operation response.
*
* Operations never return the password, so this operation provides a way to regain access to the master user
* account for a cluster if the password is lost.
*
*
*
* Default: Uses existing setting.
*
*
* Constraints:
*
*
* -
*
* Must be between 8 and 64 characters in length.
*
*
* -
*
* Must contain at least one uppercase letter.
*
*
* -
*
* Must contain at least one lowercase letter.
*
*
* -
*
* Must contain one number.
*
*
* -
*
* Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), " (double quote), \,
* /, @, or space.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withMasterUserPassword(String masterUserPassword) {
setMasterUserPassword(masterUserPassword);
return this;
}
/**
*
* The name of the cluster parameter group to apply to this cluster. This change is applied only after the cluster
* is rebooted. To reboot a cluster use RebootCluster.
*
*
* Default: Uses existing setting.
*
*
* Constraints: The cluster parameter group must be in the same parameter group family that matches the cluster
* version.
*
*
* @param clusterParameterGroupName
* The name of the cluster parameter group to apply to this cluster. This change is applied only after the
* cluster is rebooted. To reboot a cluster use RebootCluster.
*
* Default: Uses existing setting.
*
*
* Constraints: The cluster parameter group must be in the same parameter group family that matches the
* cluster version.
*/
public void setClusterParameterGroupName(String clusterParameterGroupName) {
this.clusterParameterGroupName = clusterParameterGroupName;
}
/**
*
* The name of the cluster parameter group to apply to this cluster. This change is applied only after the cluster
* is rebooted. To reboot a cluster use RebootCluster.
*
*
* Default: Uses existing setting.
*
*
* Constraints: The cluster parameter group must be in the same parameter group family that matches the cluster
* version.
*
*
* @return The name of the cluster parameter group to apply to this cluster. This change is applied only after the
* cluster is rebooted. To reboot a cluster use RebootCluster.
*
* Default: Uses existing setting.
*
*
* Constraints: The cluster parameter group must be in the same parameter group family that matches the
* cluster version.
*/
public String getClusterParameterGroupName() {
return this.clusterParameterGroupName;
}
/**
*
* The name of the cluster parameter group to apply to this cluster. This change is applied only after the cluster
* is rebooted. To reboot a cluster use RebootCluster.
*
*
* Default: Uses existing setting.
*
*
* Constraints: The cluster parameter group must be in the same parameter group family that matches the cluster
* version.
*
*
* @param clusterParameterGroupName
* The name of the cluster parameter group to apply to this cluster. This change is applied only after the
* cluster is rebooted. To reboot a cluster use RebootCluster.
*
* Default: Uses existing setting.
*
*
* Constraints: The cluster parameter group must be in the same parameter group family that matches the
* cluster version.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withClusterParameterGroupName(String clusterParameterGroupName) {
setClusterParameterGroupName(clusterParameterGroupName);
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.
*
*
* If you decrease the automated snapshot retention period from its current value, existing automated snapshots that
* fall outside of the new retention period will be immediately deleted.
*
*
* Default: Uses existing setting.
*
*
* 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.
*
* If you decrease the automated snapshot retention period from its current value, existing automated
* snapshots that fall outside of the new retention period will be immediately deleted.
*
*
* Default: Uses existing setting.
*
*
* 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.
*
*
* If you decrease the automated snapshot retention period from its current value, existing automated snapshots that
* fall outside of the new retention period will be immediately deleted.
*
*
* Default: Uses existing setting.
*
*
* 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.
*
* If you decrease the automated snapshot retention period from its current value, existing automated
* snapshots that fall outside of the new retention period will be immediately deleted.
*
*
* Default: Uses existing setting.
*
*
* 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.
*
*
* If you decrease the automated snapshot retention period from its current value, existing automated snapshots that
* fall outside of the new retention period will be immediately deleted.
*
*
* Default: Uses existing setting.
*
*
* 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.
*
* If you decrease the automated snapshot retention period from its current value, existing automated
* snapshots that fall outside of the new retention period will be immediately deleted.
*
*
* Default: Uses existing setting.
*
*
* 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 ModifyClusterRequest withAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) {
setAutomatedSnapshotRetentionPeriod(automatedSnapshotRetentionPeriod);
return this;
}
/**
*
* The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system maintenance is
* necessary during the window, it may result in an outage.
*
*
* This maintenance window change is made immediately. If the new maintenance window indicates the current time,
* there must be at least 120 minutes between the current time and end of the window in order to ensure that pending
* changes are applied.
*
*
* Default: Uses existing setting.
*
*
* Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00
.
*
*
* Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*
*
* Constraints: Must be at least 30 minutes.
*
*
* @param preferredMaintenanceWindow
* The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system
* maintenance is necessary during the window, it may result in an outage.
*
* This maintenance window change is made immediately. If the new maintenance window indicates the current
* time, there must be at least 120 minutes between the current time and end of the window in order to ensure
* that pending changes are applied.
*
*
* Default: Uses existing setting.
*
*
* Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00
.
*
*
* Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*
*
* Constraints: Must be at least 30 minutes.
*/
public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
}
/**
*
* The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system maintenance is
* necessary during the window, it may result in an outage.
*
*
* This maintenance window change is made immediately. If the new maintenance window indicates the current time,
* there must be at least 120 minutes between the current time and end of the window in order to ensure that pending
* changes are applied.
*
*
* Default: Uses existing setting.
*
*
* Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00
.
*
*
* Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*
*
* Constraints: Must be at least 30 minutes.
*
*
* @return The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system
* maintenance is necessary during the window, it may result in an outage.
*
* This maintenance window change is made immediately. If the new maintenance window indicates the current
* time, there must be at least 120 minutes between the current time and end of the window in order to
* ensure that pending changes are applied.
*
*
* Default: Uses existing setting.
*
*
* Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00
.
*
*
* Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*
*
* Constraints: Must be at least 30 minutes.
*/
public String getPreferredMaintenanceWindow() {
return this.preferredMaintenanceWindow;
}
/**
*
* The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system maintenance is
* necessary during the window, it may result in an outage.
*
*
* This maintenance window change is made immediately. If the new maintenance window indicates the current time,
* there must be at least 120 minutes between the current time and end of the window in order to ensure that pending
* changes are applied.
*
*
* Default: Uses existing setting.
*
*
* Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00
.
*
*
* Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*
*
* Constraints: Must be at least 30 minutes.
*
*
* @param preferredMaintenanceWindow
* The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system
* maintenance is necessary during the window, it may result in an outage.
*
* This maintenance window change is made immediately. If the new maintenance window indicates the current
* time, there must be at least 120 minutes between the current time and end of the window in order to ensure
* that pending changes are applied.
*
*
* Default: Uses existing setting.
*
*
* Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00
.
*
*
* Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*
*
* Constraints: Must be at least 30 minutes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
setPreferredMaintenanceWindow(preferredMaintenanceWindow);
return this;
}
/**
*
* The new version number of the Amazon Redshift engine to upgrade to.
*
*
* For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter
* group in the cluster parameter group family for the new version must be specified. The new cluster parameter
* group can be the default for that cluster parameter group family. For more information about parameters and
* parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* Example: 1.0
*
*
* @param clusterVersion
* The new version number of the Amazon Redshift engine to upgrade to.
*
* For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster
* parameter group in the cluster parameter group family for the new version must be specified. The new
* cluster parameter group can be the default for that cluster parameter group family. For more information
* about parameters and parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* Example: 1.0
*/
public void setClusterVersion(String clusterVersion) {
this.clusterVersion = clusterVersion;
}
/**
*
* The new version number of the Amazon Redshift engine to upgrade to.
*
*
* For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter
* group in the cluster parameter group family for the new version must be specified. The new cluster parameter
* group can be the default for that cluster parameter group family. For more information about parameters and
* parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* Example: 1.0
*
*
* @return The new version number of the Amazon Redshift engine to upgrade to.
*
* For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster
* parameter group in the cluster parameter group family for the new version must be specified. The new
* cluster parameter group can be the default for that cluster parameter group family. For more information
* about parameters and parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* Example: 1.0
*/
public String getClusterVersion() {
return this.clusterVersion;
}
/**
*
* The new version number of the Amazon Redshift engine to upgrade to.
*
*
* For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter
* group in the cluster parameter group family for the new version must be specified. The new cluster parameter
* group can be the default for that cluster parameter group family. For more information about parameters and
* parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* Example: 1.0
*
*
* @param clusterVersion
* The new version number of the Amazon Redshift engine to upgrade to.
*
* For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster
* parameter group in the cluster parameter group family for the new version must be specified. The new
* cluster parameter group can be the default for that cluster parameter group family. For more information
* about parameters and parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* Example: 1.0
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withClusterVersion(String clusterVersion) {
setClusterVersion(clusterVersion);
return this;
}
/**
*
* If true
, major version upgrades will be applied automatically to the cluster during the maintenance
* window.
*
*
* Default: false
*
*
* @param allowVersionUpgrade
* If true
, major version upgrades will be applied automatically to the cluster during the
* maintenance window.
*
* Default: false
*/
public void setAllowVersionUpgrade(Boolean allowVersionUpgrade) {
this.allowVersionUpgrade = allowVersionUpgrade;
}
/**
*
* If true
, major version upgrades will be applied automatically to the cluster during the maintenance
* window.
*
*
* Default: false
*
*
* @return If true
, major version upgrades will be applied automatically to the cluster during the
* maintenance window.
*
* Default: false
*/
public Boolean getAllowVersionUpgrade() {
return this.allowVersionUpgrade;
}
/**
*
* If true
, major version upgrades will be applied automatically to the cluster during the maintenance
* window.
*
*
* Default: false
*
*
* @param allowVersionUpgrade
* If true
, major version upgrades will be applied automatically to the cluster during the
* maintenance window.
*
* Default: false
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withAllowVersionUpgrade(Boolean allowVersionUpgrade) {
setAllowVersionUpgrade(allowVersionUpgrade);
return this;
}
/**
*
* If true
, major version upgrades will be applied automatically to the cluster during the maintenance
* window.
*
*
* Default: false
*
*
* @return If true
, major version upgrades will be applied automatically to the cluster during the
* maintenance window.
*
* Default: false
*/
public Boolean isAllowVersionUpgrade() {
return this.allowVersionUpgrade;
}
/**
*
* 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 ModifyClusterRequest 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 ModifyClusterRequest withHsmConfigurationIdentifier(String hsmConfigurationIdentifier) {
setHsmConfigurationIdentifier(hsmConfigurationIdentifier);
return this;
}
/**
*
* The new identifier for the cluster.
*
*
* 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.
*
*
*
*
* Example: examplecluster
*
*
* @param newClusterIdentifier
* The new identifier for the cluster.
*
* 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.
*
*
*
*
* Example: examplecluster
*/
public void setNewClusterIdentifier(String newClusterIdentifier) {
this.newClusterIdentifier = newClusterIdentifier;
}
/**
*
* The new identifier for the cluster.
*
*
* 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.
*
*
*
*
* Example: examplecluster
*
*
* @return The new identifier for the cluster.
*
* 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.
*
*
*
*
* Example: examplecluster
*/
public String getNewClusterIdentifier() {
return this.newClusterIdentifier;
}
/**
*
* The new identifier for the cluster.
*
*
* 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.
*
*
*
*
* Example: examplecluster
*
*
* @param newClusterIdentifier
* The new identifier for the cluster.
*
* 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.
*
*
*
*
* Example: examplecluster
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withNewClusterIdentifier(String newClusterIdentifier) {
setNewClusterIdentifier(newClusterIdentifier);
return this;
}
/**
*
* If true
, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be
* publicly available.
*
*
* @param publiclyAccessible
* If true
, the cluster can be accessed from a public network. Only clusters in VPCs can be set
* to be publicly available.
*/
public void setPubliclyAccessible(Boolean publiclyAccessible) {
this.publiclyAccessible = publiclyAccessible;
}
/**
*
* If true
, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be
* publicly available.
*
*
* @return If true
, the cluster can be accessed from a public network. Only clusters in VPCs can be set
* to be publicly available.
*/
public Boolean getPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
*
* If true
, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be
* publicly available.
*
*
* @param publiclyAccessible
* If true
, the cluster can be accessed from a public network. Only clusters in VPCs can be set
* to be publicly available.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withPubliclyAccessible(Boolean publiclyAccessible) {
setPubliclyAccessible(publiclyAccessible);
return this;
}
/**
*
* If true
, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be
* publicly available.
*
*
* @return If true
, the cluster can be accessed from a public network. Only clusters in VPCs can be set
* to be publicly available.
*/
public Boolean isPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
*
* The Elastic IP (EIP) address for the cluster.
*
*
* Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For
* more information about provisioning clusters in EC2-VPC, go to Supported
* Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.
*
*
* @param elasticIp
* The Elastic IP (EIP) address for the cluster.
*
* Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet
* gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.
*/
public void setElasticIp(String elasticIp) {
this.elasticIp = elasticIp;
}
/**
*
* The Elastic IP (EIP) address for the cluster.
*
*
* Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For
* more information about provisioning clusters in EC2-VPC, go to Supported
* Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.
*
*
* @return The Elastic IP (EIP) address for the cluster.
*
* Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet
* gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.
*/
public String getElasticIp() {
return this.elasticIp;
}
/**
*
* The Elastic IP (EIP) address for the cluster.
*
*
* Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For
* more information about provisioning clusters in EC2-VPC, go to Supported
* Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.
*
*
* @param elasticIp
* The Elastic IP (EIP) address for the cluster.
*
* Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet
* gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClusterRequest withElasticIp(String elasticIp) {
setElasticIp(elasticIp);
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 ModifyClusterRequest 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;
}
/**
* 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: ").append(getClusterIdentifier()).append(",");
if (getClusterType() != null)
sb.append("ClusterType: ").append(getClusterType()).append(",");
if (getNodeType() != null)
sb.append("NodeType: ").append(getNodeType()).append(",");
if (getNumberOfNodes() != null)
sb.append("NumberOfNodes: ").append(getNumberOfNodes()).append(",");
if (getClusterSecurityGroups() != null)
sb.append("ClusterSecurityGroups: ").append(getClusterSecurityGroups()).append(",");
if (getVpcSecurityGroupIds() != null)
sb.append("VpcSecurityGroupIds: ").append(getVpcSecurityGroupIds()).append(",");
if (getMasterUserPassword() != null)
sb.append("MasterUserPassword: ").append(getMasterUserPassword()).append(",");
if (getClusterParameterGroupName() != null)
sb.append("ClusterParameterGroupName: ").append(getClusterParameterGroupName()).append(",");
if (getAutomatedSnapshotRetentionPeriod() != null)
sb.append("AutomatedSnapshotRetentionPeriod: ").append(getAutomatedSnapshotRetentionPeriod()).append(",");
if (getPreferredMaintenanceWindow() != null)
sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(",");
if (getClusterVersion() != null)
sb.append("ClusterVersion: ").append(getClusterVersion()).append(",");
if (getAllowVersionUpgrade() != null)
sb.append("AllowVersionUpgrade: ").append(getAllowVersionUpgrade()).append(",");
if (getHsmClientCertificateIdentifier() != null)
sb.append("HsmClientCertificateIdentifier: ").append(getHsmClientCertificateIdentifier()).append(",");
if (getHsmConfigurationIdentifier() != null)
sb.append("HsmConfigurationIdentifier: ").append(getHsmConfigurationIdentifier()).append(",");
if (getNewClusterIdentifier() != null)
sb.append("NewClusterIdentifier: ").append(getNewClusterIdentifier()).append(",");
if (getPubliclyAccessible() != null)
sb.append("PubliclyAccessible: ").append(getPubliclyAccessible()).append(",");
if (getElasticIp() != null)
sb.append("ElasticIp: ").append(getElasticIp()).append(",");
if (getEnhancedVpcRouting() != null)
sb.append("EnhancedVpcRouting: ").append(getEnhancedVpcRouting());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ModifyClusterRequest == false)
return false;
ModifyClusterRequest other = (ModifyClusterRequest) obj;
if (other.getClusterIdentifier() == null ^ this.getClusterIdentifier() == null)
return false;
if (other.getClusterIdentifier() != null && other.getClusterIdentifier().equals(this.getClusterIdentifier()) == false)
return false;
if (other.getClusterType() == null ^ this.getClusterType() == null)
return false;
if (other.getClusterType() != null && other.getClusterType().equals(this.getClusterType()) == false)
return false;
if (other.getNodeType() == null ^ this.getNodeType() == null)
return false;
if (other.getNodeType() != null && other.getNodeType().equals(this.getNodeType()) == false)
return false;
if (other.getNumberOfNodes() == null ^ this.getNumberOfNodes() == null)
return false;
if (other.getNumberOfNodes() != null && other.getNumberOfNodes().equals(this.getNumberOfNodes()) == false)
return false;
if (other.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.getMasterUserPassword() == null ^ this.getMasterUserPassword() == null)
return false;
if (other.getMasterUserPassword() != null && other.getMasterUserPassword().equals(this.getMasterUserPassword()) == 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.getAutomatedSnapshotRetentionPeriod() == null ^ this.getAutomatedSnapshotRetentionPeriod() == null)
return false;
if (other.getAutomatedSnapshotRetentionPeriod() != null
&& other.getAutomatedSnapshotRetentionPeriod().equals(this.getAutomatedSnapshotRetentionPeriod()) == 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.getClusterVersion() == null ^ this.getClusterVersion() == null)
return false;
if (other.getClusterVersion() != null && other.getClusterVersion().equals(this.getClusterVersion()) == false)
return false;
if (other.getAllowVersionUpgrade() == null ^ this.getAllowVersionUpgrade() == null)
return false;
if (other.getAllowVersionUpgrade() != null && other.getAllowVersionUpgrade().equals(this.getAllowVersionUpgrade()) == false)
return false;
if (other.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.getNewClusterIdentifier() == null ^ this.getNewClusterIdentifier() == null)
return false;
if (other.getNewClusterIdentifier() != null && other.getNewClusterIdentifier().equals(this.getNewClusterIdentifier()) == 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.getElasticIp() == null ^ this.getElasticIp() == null)
return false;
if (other.getElasticIp() != null && other.getElasticIp().equals(this.getElasticIp()) == false)
return false;
if (other.getEnhancedVpcRouting() == null ^ this.getEnhancedVpcRouting() == null)
return false;
if (other.getEnhancedVpcRouting() != null && other.getEnhancedVpcRouting().equals(this.getEnhancedVpcRouting()) == 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 + ((getClusterType() == null) ? 0 : getClusterType().hashCode());
hashCode = prime * hashCode + ((getNodeType() == null) ? 0 : getNodeType().hashCode());
hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes().hashCode());
hashCode = prime * hashCode + ((getClusterSecurityGroups() == null) ? 0 : getClusterSecurityGroups().hashCode());
hashCode = prime * hashCode + ((getVpcSecurityGroupIds() == null) ? 0 : getVpcSecurityGroupIds().hashCode());
hashCode = prime * hashCode + ((getMasterUserPassword() == null) ? 0 : getMasterUserPassword().hashCode());
hashCode = prime * hashCode + ((getClusterParameterGroupName() == null) ? 0 : getClusterParameterGroupName().hashCode());
hashCode = prime * hashCode + ((getAutomatedSnapshotRetentionPeriod() == null) ? 0 : getAutomatedSnapshotRetentionPeriod().hashCode());
hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode());
hashCode = prime * hashCode + ((getClusterVersion() == null) ? 0 : getClusterVersion().hashCode());
hashCode = prime * hashCode + ((getAllowVersionUpgrade() == null) ? 0 : getAllowVersionUpgrade().hashCode());
hashCode = prime * hashCode + ((getHsmClientCertificateIdentifier() == null) ? 0 : getHsmClientCertificateIdentifier().hashCode());
hashCode = prime * hashCode + ((getHsmConfigurationIdentifier() == null) ? 0 : getHsmConfigurationIdentifier().hashCode());
hashCode = prime * hashCode + ((getNewClusterIdentifier() == null) ? 0 : getNewClusterIdentifier().hashCode());
hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode());
hashCode = prime * hashCode + ((getElasticIp() == null) ? 0 : getElasticIp().hashCode());
hashCode = prime * hashCode + ((getEnhancedVpcRouting() == null) ? 0 : getEnhancedVpcRouting().hashCode());
return hashCode;
}
@Override
public ModifyClusterRequest clone() {
return (ModifyClusterRequest) super.clone();
}
}