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 SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-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