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

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

Go to download

The AWS Java SDK for Amazon Redshift module holds the client classes that are used for communicating with Amazon Redshift Service

There is a newer version: 1.12.780
Show newest version
/*
 * 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 ModifyClusterRequest extends 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; /** *

* 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; } /** * 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 (getClusterType() != null) sb.append("ClusterType: " + getClusterType() + ","); if (getNodeType() != null) sb.append("NodeType: " + getNodeType() + ","); if (getNumberOfNodes() != null) sb.append("NumberOfNodes: " + getNumberOfNodes() + ","); if (getClusterSecurityGroups() != null) sb.append("ClusterSecurityGroups: " + getClusterSecurityGroups() + ","); if (getVpcSecurityGroupIds() != null) sb.append("VpcSecurityGroupIds: " + getVpcSecurityGroupIds() + ","); if (getMasterUserPassword() != null) sb.append("MasterUserPassword: " + getMasterUserPassword() + ","); if (getClusterParameterGroupName() != null) sb.append("ClusterParameterGroupName: " + getClusterParameterGroupName() + ","); if (getAutomatedSnapshotRetentionPeriod() != null) sb.append("AutomatedSnapshotRetentionPeriod: " + getAutomatedSnapshotRetentionPeriod() + ","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: " + getPreferredMaintenanceWindow() + ","); if (getClusterVersion() != null) sb.append("ClusterVersion: " + getClusterVersion() + ","); if (getAllowVersionUpgrade() != null) sb.append("AllowVersionUpgrade: " + getAllowVersionUpgrade() + ","); if (getHsmClientCertificateIdentifier() != null) sb.append("HsmClientCertificateIdentifier: " + getHsmClientCertificateIdentifier() + ","); if (getHsmConfigurationIdentifier() != null) sb.append("HsmConfigurationIdentifier: " + getHsmConfigurationIdentifier() + ","); if (getNewClusterIdentifier() != null) sb.append("NewClusterIdentifier: " + getNewClusterIdentifier() + ","); if (getPubliclyAccessible() != null) sb.append("PubliclyAccessible: " + getPubliclyAccessible() + ","); if (getElasticIp() != null) sb.append("ElasticIp: " + getElasticIp()); 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; 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()); return hashCode; } @Override public ModifyClusterRequest clone() { return (ModifyClusterRequest) super.clone(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy