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

The newest version!
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.redshift.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ModifyClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The unique identifier of the cluster to be modified. *

*

* Example: examplecluster *

*/ private String clusterIdentifier; /** *

* The new cluster type. *

*

* When you submit your cluster resize request, your existing cluster goes into a read-only mode. After Amazon * Redshift provisions a new cluster based on your resize requirements, there will be outage for a period while the * old cluster is deleted and your connection is switched to the new cluster. You can use DescribeResize to * track the progress of the resize request. *

*

* Valid Values: multi-node | single-node *

*/ private String clusterType; /** *

* The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes * parameter. *

*

* For more information about resizing clusters, go to Resizing Clusters in Amazon * Redshift in the Amazon Redshift Cluster Management Guide. *

*

* Valid Values: dc2.large | dc2.8xlarge | ra3.xlplus | * ra3.4xlarge | ra3.16xlarge *

*/ 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. *

*

* For more information about resizing clusters, go to Resizing Clusters in Amazon * Redshift in the Amazon Redshift Cluster Management Guide. *

*

* 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. This change is * asynchronously applied as soon as possible. *

*/ private com.amazonaws.internal.SdkInternalList vpcSecurityGroupIds; /** *

* The new password for the cluster admin 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. *

*

* You can't use MasterUserPassword if ManageMasterPassword is true. *

* *

* Operations never return the password, so this operation provides a way to regain access to the admin 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-126) except ' (single quote), " * (double quote), \, /, or @. *

    *
  • *
*/ 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. *

*

* You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days. *

*

* Default: Uses existing setting. *

*

* Constraints: Must be a value from 0 to 35. *

*/ private Integer automatedSnapshotRetentionPeriod; /** *

* The default for number of days that a newly created manual snapshot is retained. If the value is -1, the manual * snapshot is retained indefinitely. This value doesn't retroactively change the retention periods of existing * manual snapshots. *

*

* The value must be either -1 or an integer between 1 and 3,653. *

*

* The default value is -1. *

*/ private Integer manualSnapshotRetentionPeriod; /** *

* 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 Amazon Web Services account. *

    *
  • *
*

* Example: examplecluster *

*/ private String newClusterIdentifier; /** *

* If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be * publicly available. *

*/ private Boolean publiclyAccessible; /** *

* The Elastic IP (EIP) address for the cluster. *

*

* Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For * more information about provisioning clusters in EC2-VPC, go to Supported * Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide. *

*/ private String elasticIp; /** *

* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *

*

* If this option is true, enhanced VPC routing is enabled. *

*

* Default: false *

*/ private Boolean enhancedVpcRouting; /** *

* The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The * new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. * When the maintenance track changes, the cluster is switched to the latest cluster release available for the * maintenance track. At this point, the maintenance track name is applied. *

*/ private String maintenanceTrackName; /** *

* Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for the * KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If you don't * provide a KmsKeyId, we encrypt with the default key. *

*

* If the value is not encrypted (false), then the cluster is decrypted. *

*/ private Boolean encrypted; /** *

* The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. *

*/ private String kmsKeyId; /** *

* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster * modification is complete. *

*/ private Boolean availabilityZoneRelocation; /** *

* The option to initiate relocation for an Amazon Redshift cluster to the target Availability Zone. *

*/ private String availabilityZone; /** *

* The option to change the port of an Amazon Redshift cluster. *

*

* Valid Values: *

*
    *
  • *

    * For clusters with ra3 nodes - Select a port within the ranges 5431-5455 or 8191-8215. * (If you have an existing cluster with ra3 nodes, it isn't required that you change the port to these ranges.) *

    *
  • *
  • *

    * For clusters with dc2 nodes - Select a port within the range 1150-65535. *

    *
  • *
*/ private Integer port; /** *

* If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. You can't * use MasterUserPassword if ManageMasterPassword is true. If * ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for * the admin user account's password. *

*/ private Boolean manageMasterPassword; /** *

* The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. * You can only use this parameter if ManageMasterPassword is true. *

*/ private String masterPasswordSecretKmsKeyId; /** *

* The IP address types that the cluster supports. Possible values are ipv4 and dualstack. *

*/ private String ipAddressType; /** *

* If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be modified to * be deployed in two Availability Zones. *

*/ private Boolean multiAZ; /** *

* 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. *

*

* For more information about resizing clusters, go to Resizing Clusters in Amazon * Redshift in the Amazon Redshift Cluster Management Guide. *

*

* Valid Values: dc2.large | dc2.8xlarge | ra3.xlplus | * ra3.4xlarge | ra3.16xlarge *

* * @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.

*

* For more information about resizing clusters, go to Resizing Clusters in * Amazon Redshift in the Amazon Redshift Cluster Management Guide. *

*

* Valid Values: dc2.large | dc2.8xlarge | ra3.xlplus | * ra3.4xlarge | ra3.16xlarge */ 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. *

*

* For more information about resizing clusters, go to Resizing Clusters in Amazon * Redshift in the Amazon Redshift Cluster Management Guide. *

*

* Valid Values: dc2.large | dc2.8xlarge | ra3.xlplus | * ra3.4xlarge | ra3.16xlarge *

* * @return The new node type of the cluster. If you specify a new node type, you must also specify the number of * nodes parameter.

*

* For more information about resizing clusters, go to Resizing Clusters in * Amazon Redshift in the Amazon Redshift Cluster Management Guide. *

*

* Valid Values: dc2.large | dc2.8xlarge | ra3.xlplus | * ra3.4xlarge | ra3.16xlarge */ 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. *

*

* For more information about resizing clusters, go to Resizing Clusters in Amazon * Redshift in the Amazon Redshift Cluster Management Guide. *

*

* Valid Values: dc2.large | dc2.8xlarge | ra3.xlplus | * ra3.4xlarge | ra3.16xlarge *

* * @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.

*

* For more information about resizing clusters, go to Resizing Clusters in * Amazon Redshift in the Amazon Redshift Cluster Management Guide. *

*

* Valid Values: dc2.large | dc2.8xlarge | ra3.xlplus | * ra3.4xlarge | ra3.16xlarge * @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. *

*

* For more information about resizing clusters, go to Resizing Clusters in Amazon * Redshift in the Amazon Redshift Cluster Management Guide. *

*

* 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.

*

* For more information about resizing clusters, go to Resizing Clusters in * Amazon Redshift in the Amazon Redshift Cluster Management Guide. *

*

* 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. *

*

* For more information about resizing clusters, go to Resizing Clusters in Amazon * Redshift in the Amazon Redshift Cluster Management Guide. *

*

* 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.

*

* For more information about resizing clusters, go to Resizing Clusters in * Amazon Redshift in the Amazon Redshift Cluster Management Guide. *

*

* 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. *

*

* For more information about resizing clusters, go to Resizing Clusters in Amazon * Redshift in the Amazon Redshift Cluster Management Guide. *

*

* 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.

*

* For more information about resizing clusters, go to Resizing Clusters in * Amazon Redshift in the Amazon Redshift Cluster Management Guide. *

*

* 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. This change is * asynchronously applied as soon as possible. *

          * * @return A list of virtual private cloud (VPC) security groups to be associated with the cluster. This change is * asynchronously applied as soon as possible. */ 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. This change is * asynchronously applied as soon as possible. *

          * * @param vpcSecurityGroupIds * A list of virtual private cloud (VPC) security groups to be associated with the cluster. This change is * asynchronously applied as soon as possible. */ 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. This change is * asynchronously applied as soon as possible. *

          *

          * 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. This change is * asynchronously applied as soon as possible. * @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. This change is * asynchronously applied as soon as possible. *

          * * @param vpcSecurityGroupIds * A list of virtual private cloud (VPC) security groups to be associated with the cluster. This change is * asynchronously applied as soon as possible. * @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 admin 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. *

          *

          * You can't use MasterUserPassword if ManageMasterPassword is true. *

          * *

          * Operations never return the password, so this operation provides a way to regain access to the admin 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-126) except ' (single quote), " * (double quote), \, /, or @. *

            *
          • *
          * * @param masterUserPassword * The new password for the cluster admin 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.

          *

          * You can't use MasterUserPassword if ManageMasterPassword is true. *

          * *

          * Operations never return the password, so this operation provides a way to regain access to the admin 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-126) except ' (single quote), * " (double quote), \, /, or @. *

            *
          • */ public void setMasterUserPassword(String masterUserPassword) { this.masterUserPassword = masterUserPassword; } /** *

            * The new password for the cluster admin 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. *

            *

            * You can't use MasterUserPassword if ManageMasterPassword is true. *

            * *

            * Operations never return the password, so this operation provides a way to regain access to the admin 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-126) except ' (single quote), " * (double quote), \, /, or @. *

              *
            • *
            * * @return The new password for the cluster admin 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.

            *

            * You can't use MasterUserPassword if ManageMasterPassword is true. *

            * *

            * Operations never return the password, so this operation provides a way to regain access to the admin 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-126) except ' (single quote), * " (double quote), \, /, or @. *

              *
            • */ public String getMasterUserPassword() { return this.masterUserPassword; } /** *

              * The new password for the cluster admin 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. *

              *

              * You can't use MasterUserPassword if ManageMasterPassword is true. *

              * *

              * Operations never return the password, so this operation provides a way to regain access to the admin 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-126) except ' (single quote), " * (double quote), \, /, or @. *

                *
              • *
              * * @param masterUserPassword * The new password for the cluster admin 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.

              *

              * You can't use MasterUserPassword if ManageMasterPassword is true. *

              * *

              * Operations never return the password, so this operation provides a way to regain access to the admin 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-126) except ' (single quote), * " (double quote), \, /, or @. *

                *
              • * @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. *

                *

                * You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days. *

                *

                * 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. *

                *

                * You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 * days. *

                *

                * 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. *

                *

                * You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days. *

                *

                * 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. *

                *

                * You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 * days. *

                *

                * 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. *

                *

                * You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days. *

                *

                * 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. *

                *

                * You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 * days. *

                *

                * 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 default for number of days that a newly created manual snapshot is retained. If the value is -1, the manual * snapshot is retained indefinitely. This value doesn't retroactively change the retention periods of existing * manual snapshots. *

                *

                * The value must be either -1 or an integer between 1 and 3,653. *

                *

                * The default value is -1. *

                * * @param manualSnapshotRetentionPeriod * The default for number of days that a newly created manual snapshot is retained. If the value is -1, the * manual snapshot is retained indefinitely. This value doesn't retroactively change the retention periods of * existing manual snapshots.

                *

                * The value must be either -1 or an integer between 1 and 3,653. *

                *

                * The default value is -1. */ public void setManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) { this.manualSnapshotRetentionPeriod = manualSnapshotRetentionPeriod; } /** *

                * The default for number of days that a newly created manual snapshot is retained. If the value is -1, the manual * snapshot is retained indefinitely. This value doesn't retroactively change the retention periods of existing * manual snapshots. *

                *

                * The value must be either -1 or an integer between 1 and 3,653. *

                *

                * The default value is -1. *

                * * @return The default for number of days that a newly created manual snapshot is retained. If the value is -1, the * manual snapshot is retained indefinitely. This value doesn't retroactively change the retention periods * of existing manual snapshots.

                *

                * The value must be either -1 or an integer between 1 and 3,653. *

                *

                * The default value is -1. */ public Integer getManualSnapshotRetentionPeriod() { return this.manualSnapshotRetentionPeriod; } /** *

                * The default for number of days that a newly created manual snapshot is retained. If the value is -1, the manual * snapshot is retained indefinitely. This value doesn't retroactively change the retention periods of existing * manual snapshots. *

                *

                * The value must be either -1 or an integer between 1 and 3,653. *

                *

                * The default value is -1. *

                * * @param manualSnapshotRetentionPeriod * The default for number of days that a newly created manual snapshot is retained. If the value is -1, the * manual snapshot is retained indefinitely. This value doesn't retroactively change the retention periods of * existing manual snapshots.

                *

                * The value must be either -1 or an integer between 1 and 3,653. *

                *

                * The default value is -1. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) { setManualSnapshotRetentionPeriod(manualSnapshotRetentionPeriod); 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services account. *

                  *
                • *
                *

                * Example: examplecluster * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withNewClusterIdentifier(String newClusterIdentifier) { setNewClusterIdentifier(newClusterIdentifier); return this; } /** *

                * If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be * publicly available. *

                * * @param publiclyAccessible * If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set * to be publicly available. */ public void setPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; } /** *

                * If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be * publicly available. *

                * * @return If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set * to be publicly available. */ public Boolean getPubliclyAccessible() { return this.publiclyAccessible; } /** *

                * If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be * publicly available. *

                * * @param publiclyAccessible * If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set * to be publicly available. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withPubliclyAccessible(Boolean publiclyAccessible) { setPubliclyAccessible(publiclyAccessible); return this; } /** *

                * If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be * publicly available. *

                * * @return If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set * to be publicly available. */ public Boolean isPubliclyAccessible() { return this.publiclyAccessible; } /** *

                * The Elastic IP (EIP) address for the cluster. *

                *

                * Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For * more information about provisioning clusters in EC2-VPC, go to Supported * Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide. *

                * * @param elasticIp * The Elastic IP (EIP) address for the cluster.

                *

                * Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet * gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide. */ public void setElasticIp(String elasticIp) { this.elasticIp = elasticIp; } /** *

                * The Elastic IP (EIP) address for the cluster. *

                *

                * Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For * more information about provisioning clusters in EC2-VPC, go to Supported * Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide. *

                * * @return The Elastic IP (EIP) address for the cluster.

                *

                * Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet * gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide. */ public String getElasticIp() { return this.elasticIp; } /** *

                * The Elastic IP (EIP) address for the cluster. *

                *

                * Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For * more information about provisioning clusters in EC2-VPC, go to Supported * Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide. *

                * * @param elasticIp * The Elastic IP (EIP) address for the cluster.

                *

                * Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet * gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withElasticIp(String elasticIp) { setElasticIp(elasticIp); return this; } /** *

                * An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *

                *

                * If this option is true, enhanced VPC routing is enabled. *

                *

                * Default: false *

                * * @param enhancedVpcRouting * An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a * cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing * in the Amazon Redshift Cluster Management Guide.

                *

                * If this option is true, enhanced VPC routing is enabled. *

                *

                * Default: false */ public void setEnhancedVpcRouting(Boolean enhancedVpcRouting) { this.enhancedVpcRouting = enhancedVpcRouting; } /** *

                * An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *

                *

                * If this option is true, enhanced VPC routing is enabled. *

                *

                * Default: false *

                * * @return An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a * cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC * Routing in the Amazon Redshift Cluster Management Guide.

                *

                * If this option is true, enhanced VPC routing is enabled. *

                *

                * Default: false */ public Boolean getEnhancedVpcRouting() { return this.enhancedVpcRouting; } /** *

                * An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *

                *

                * If this option is true, enhanced VPC routing is enabled. *

                *

                * Default: false *

                * * @param enhancedVpcRouting * An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a * cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing * in the Amazon Redshift Cluster Management Guide.

                *

                * If this option is true, enhanced VPC routing is enabled. *

                *

                * Default: false * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withEnhancedVpcRouting(Boolean enhancedVpcRouting) { setEnhancedVpcRouting(enhancedVpcRouting); return this; } /** *

                * An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *

                *

                * If this option is true, enhanced VPC routing is enabled. *

                *

                * Default: false *

                * * @return An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a * cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC * Routing in the Amazon Redshift Cluster Management Guide.

                *

                * If this option is true, enhanced VPC routing is enabled. *

                *

                * Default: false */ public Boolean isEnhancedVpcRouting() { return this.enhancedVpcRouting; } /** *

                * The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The * new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. * When the maintenance track changes, the cluster is switched to the latest cluster release available for the * maintenance track. At this point, the maintenance track name is applied. *

                * * @param maintenanceTrackName * The name for the maintenance track that you want to assign for the cluster. This name change is * asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the * next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster * release available for the maintenance track. At this point, the maintenance track name is applied. */ public void setMaintenanceTrackName(String maintenanceTrackName) { this.maintenanceTrackName = maintenanceTrackName; } /** *

                * The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The * new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. * When the maintenance track changes, the cluster is switched to the latest cluster release available for the * maintenance track. At this point, the maintenance track name is applied. *

                * * @return The name for the maintenance track that you want to assign for the cluster. This name change is * asynchronous. The new track name stays in the PendingModifiedValues for the cluster until * the next maintenance window. When the maintenance track changes, the cluster is switched to the latest * cluster release available for the maintenance track. At this point, the maintenance track name is * applied. */ public String getMaintenanceTrackName() { return this.maintenanceTrackName; } /** *

                * The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The * new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. * When the maintenance track changes, the cluster is switched to the latest cluster release available for the * maintenance track. At this point, the maintenance track name is applied. *

                * * @param maintenanceTrackName * The name for the maintenance track that you want to assign for the cluster. This name change is * asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the * next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster * release available for the maintenance track. At this point, the maintenance track name is applied. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withMaintenanceTrackName(String maintenanceTrackName) { setMaintenanceTrackName(maintenanceTrackName); return this; } /** *

                * Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for the * KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If you don't * provide a KmsKeyId, we encrypt with the default key. *

                *

                * If the value is not encrypted (false), then the cluster is decrypted. *

                * * @param encrypted * Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for * the KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If * you don't provide a KmsKeyId, we encrypt with the default key.

                *

                * If the value is not encrypted (false), then the cluster is decrypted. */ public void setEncrypted(Boolean encrypted) { this.encrypted = encrypted; } /** *

                * Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for the * KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If you don't * provide a KmsKeyId, we encrypt with the default key. *

                *

                * If the value is not encrypted (false), then the cluster is decrypted. *

                * * @return Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for * the KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If * you don't provide a KmsKeyId, we encrypt with the default key.

                *

                * If the value is not encrypted (false), then the cluster is decrypted. */ public Boolean getEncrypted() { return this.encrypted; } /** *

                * Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for the * KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If you don't * provide a KmsKeyId, we encrypt with the default key. *

                *

                * If the value is not encrypted (false), then the cluster is decrypted. *

                * * @param encrypted * Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for * the KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If * you don't provide a KmsKeyId, we encrypt with the default key.

                *

                * If the value is not encrypted (false), then the cluster is decrypted. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withEncrypted(Boolean encrypted) { setEncrypted(encrypted); return this; } /** *

                * Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for the * KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If you don't * provide a KmsKeyId, we encrypt with the default key. *

                *

                * If the value is not encrypted (false), then the cluster is decrypted. *

                * * @return Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for * the KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If * you don't provide a KmsKeyId, we encrypt with the default key.

                *

                * If the value is not encrypted (false), then the cluster is decrypted. */ public Boolean isEncrypted() { return this.encrypted; } /** *

                * The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. *

                * * @param kmsKeyId * The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *

                * The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. *

                * * @return The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *

                * The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. *

                * * @param kmsKeyId * The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** *

                * The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster * modification is complete. *

                * * @param availabilityZoneRelocation * The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the * cluster modification is complete. */ public void setAvailabilityZoneRelocation(Boolean availabilityZoneRelocation) { this.availabilityZoneRelocation = availabilityZoneRelocation; } /** *

                * The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster * modification is complete. *

                * * @return The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the * cluster modification is complete. */ public Boolean getAvailabilityZoneRelocation() { return this.availabilityZoneRelocation; } /** *

                * The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster * modification is complete. *

                * * @param availabilityZoneRelocation * The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the * cluster modification is complete. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withAvailabilityZoneRelocation(Boolean availabilityZoneRelocation) { setAvailabilityZoneRelocation(availabilityZoneRelocation); return this; } /** *

                * The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster * modification is complete. *

                * * @return The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the * cluster modification is complete. */ public Boolean isAvailabilityZoneRelocation() { return this.availabilityZoneRelocation; } /** *

                * The option to initiate relocation for an Amazon Redshift cluster to the target Availability Zone. *

                * * @param availabilityZone * The option to initiate relocation for an Amazon Redshift cluster to the target Availability Zone. */ public void setAvailabilityZone(String availabilityZone) { this.availabilityZone = availabilityZone; } /** *

                * The option to initiate relocation for an Amazon Redshift cluster to the target Availability Zone. *

                * * @return The option to initiate relocation for an Amazon Redshift cluster to the target Availability Zone. */ public String getAvailabilityZone() { return this.availabilityZone; } /** *

                * The option to initiate relocation for an Amazon Redshift cluster to the target Availability Zone. *

                * * @param availabilityZone * The option to initiate relocation for an Amazon Redshift cluster to the target Availability Zone. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withAvailabilityZone(String availabilityZone) { setAvailabilityZone(availabilityZone); return this; } /** *

                * The option to change the port of an Amazon Redshift cluster. *

                *

                * Valid Values: *

                *
                  *
                • *

                  * For clusters with ra3 nodes - Select a port within the ranges 5431-5455 or 8191-8215. * (If you have an existing cluster with ra3 nodes, it isn't required that you change the port to these ranges.) *

                  *
                • *
                • *

                  * For clusters with dc2 nodes - Select a port within the range 1150-65535. *

                  *
                • *
                * * @param port * The option to change the port of an Amazon Redshift cluster.

                *

                * Valid Values: *

                *
                  *
                • *

                  * For clusters with ra3 nodes - Select a port within the ranges 5431-5455 or * 8191-8215. (If you have an existing cluster with ra3 nodes, it isn't required that you change * the port to these ranges.) *

                  *
                • *
                • *

                  * For clusters with dc2 nodes - Select a port within the range 1150-65535. *

                  *
                • */ public void setPort(Integer port) { this.port = port; } /** *

                  * The option to change the port of an Amazon Redshift cluster. *

                  *

                  * Valid Values: *

                  *
                    *
                  • *

                    * For clusters with ra3 nodes - Select a port within the ranges 5431-5455 or 8191-8215. * (If you have an existing cluster with ra3 nodes, it isn't required that you change the port to these ranges.) *

                    *
                  • *
                  • *

                    * For clusters with dc2 nodes - Select a port within the range 1150-65535. *

                    *
                  • *
                  * * @return The option to change the port of an Amazon Redshift cluster.

                  *

                  * Valid Values: *

                  *
                    *
                  • *

                    * For clusters with ra3 nodes - Select a port within the ranges 5431-5455 or * 8191-8215. (If you have an existing cluster with ra3 nodes, it isn't required that you * change the port to these ranges.) *

                    *
                  • *
                  • *

                    * For clusters with dc2 nodes - Select a port within the range 1150-65535. *

                    *
                  • */ public Integer getPort() { return this.port; } /** *

                    * The option to change the port of an Amazon Redshift cluster. *

                    *

                    * Valid Values: *

                    *
                      *
                    • *

                      * For clusters with ra3 nodes - Select a port within the ranges 5431-5455 or 8191-8215. * (If you have an existing cluster with ra3 nodes, it isn't required that you change the port to these ranges.) *

                      *
                    • *
                    • *

                      * For clusters with dc2 nodes - Select a port within the range 1150-65535. *

                      *
                    • *
                    * * @param port * The option to change the port of an Amazon Redshift cluster.

                    *

                    * Valid Values: *

                    *
                      *
                    • *

                      * For clusters with ra3 nodes - Select a port within the ranges 5431-5455 or * 8191-8215. (If you have an existing cluster with ra3 nodes, it isn't required that you change * the port to these ranges.) *

                      *
                    • *
                    • *

                      * For clusters with dc2 nodes - Select a port within the range 1150-65535. *

                      *
                    • * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withPort(Integer port) { setPort(port); return this; } /** *

                      * If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. You can't * use MasterUserPassword if ManageMasterPassword is true. If * ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for * the admin user account's password. *

                      * * @param manageMasterPassword * If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. You * can't use MasterUserPassword if ManageMasterPassword is true. If * ManageMasterPassword is false or not set, Amazon Redshift uses * MasterUserPassword for the admin user account's password. */ public void setManageMasterPassword(Boolean manageMasterPassword) { this.manageMasterPassword = manageMasterPassword; } /** *

                      * If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. You can't * use MasterUserPassword if ManageMasterPassword is true. If * ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for * the admin user account's password. *

                      * * @return If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. * You can't use MasterUserPassword if ManageMasterPassword is true. If * ManageMasterPassword is false or not set, Amazon Redshift uses * MasterUserPassword for the admin user account's password. */ public Boolean getManageMasterPassword() { return this.manageMasterPassword; } /** *

                      * If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. You can't * use MasterUserPassword if ManageMasterPassword is true. If * ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for * the admin user account's password. *

                      * * @param manageMasterPassword * If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. You * can't use MasterUserPassword if ManageMasterPassword is true. If * ManageMasterPassword is false or not set, Amazon Redshift uses * MasterUserPassword for the admin user account's password. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withManageMasterPassword(Boolean manageMasterPassword) { setManageMasterPassword(manageMasterPassword); return this; } /** *

                      * If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. You can't * use MasterUserPassword if ManageMasterPassword is true. If * ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for * the admin user account's password. *

                      * * @return If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. * You can't use MasterUserPassword if ManageMasterPassword is true. If * ManageMasterPassword is false or not set, Amazon Redshift uses * MasterUserPassword for the admin user account's password. */ public Boolean isManageMasterPassword() { return this.manageMasterPassword; } /** *

                      * The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. * You can only use this parameter if ManageMasterPassword is true. *

                      * * @param masterPasswordSecretKmsKeyId * The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials * secret. You can only use this parameter if ManageMasterPassword is true. */ public void setMasterPasswordSecretKmsKeyId(String masterPasswordSecretKmsKeyId) { this.masterPasswordSecretKmsKeyId = masterPasswordSecretKmsKeyId; } /** *

                      * The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. * You can only use this parameter if ManageMasterPassword is true. *

                      * * @return The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials * secret. You can only use this parameter if ManageMasterPassword is true. */ public String getMasterPasswordSecretKmsKeyId() { return this.masterPasswordSecretKmsKeyId; } /** *

                      * The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. * You can only use this parameter if ManageMasterPassword is true. *

                      * * @param masterPasswordSecretKmsKeyId * The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials * secret. You can only use this parameter if ManageMasterPassword is true. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withMasterPasswordSecretKmsKeyId(String masterPasswordSecretKmsKeyId) { setMasterPasswordSecretKmsKeyId(masterPasswordSecretKmsKeyId); return this; } /** *

                      * The IP address types that the cluster supports. Possible values are ipv4 and dualstack. *

                      * * @param ipAddressType * The IP address types that the cluster supports. Possible values are ipv4 and * dualstack. */ public void setIpAddressType(String ipAddressType) { this.ipAddressType = ipAddressType; } /** *

                      * The IP address types that the cluster supports. Possible values are ipv4 and dualstack. *

                      * * @return The IP address types that the cluster supports. Possible values are ipv4 and * dualstack. */ public String getIpAddressType() { return this.ipAddressType; } /** *

                      * The IP address types that the cluster supports. Possible values are ipv4 and dualstack. *

                      * * @param ipAddressType * The IP address types that the cluster supports. Possible values are ipv4 and * dualstack. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withIpAddressType(String ipAddressType) { setIpAddressType(ipAddressType); return this; } /** *

                      * If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be modified to * be deployed in two Availability Zones. *

                      * * @param multiAZ * If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be * modified to be deployed in two Availability Zones. */ public void setMultiAZ(Boolean multiAZ) { this.multiAZ = multiAZ; } /** *

                      * If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be modified to * be deployed in two Availability Zones. *

                      * * @return If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be * modified to be deployed in two Availability Zones. */ public Boolean getMultiAZ() { return this.multiAZ; } /** *

                      * If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be modified to * be deployed in two Availability Zones. *

                      * * @param multiAZ * If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be * modified to be deployed in two Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClusterRequest withMultiAZ(Boolean multiAZ) { setMultiAZ(multiAZ); return this; } /** *

                      * If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be modified to * be deployed in two Availability Zones. *

                      * * @return If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be * modified to be deployed in two Availability Zones. */ public Boolean isMultiAZ() { return this.multiAZ; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getClusterIdentifier() != null) sb.append("ClusterIdentifier: ").append(getClusterIdentifier()).append(","); if (getClusterType() != null) sb.append("ClusterType: ").append(getClusterType()).append(","); if (getNodeType() != null) sb.append("NodeType: ").append(getNodeType()).append(","); if (getNumberOfNodes() != null) sb.append("NumberOfNodes: ").append(getNumberOfNodes()).append(","); if (getClusterSecurityGroups() != null) sb.append("ClusterSecurityGroups: ").append(getClusterSecurityGroups()).append(","); if (getVpcSecurityGroupIds() != null) sb.append("VpcSecurityGroupIds: ").append(getVpcSecurityGroupIds()).append(","); if (getMasterUserPassword() != null) sb.append("MasterUserPassword: ").append("***Sensitive Data Redacted***").append(","); if (getClusterParameterGroupName() != null) sb.append("ClusterParameterGroupName: ").append(getClusterParameterGroupName()).append(","); if (getAutomatedSnapshotRetentionPeriod() != null) sb.append("AutomatedSnapshotRetentionPeriod: ").append(getAutomatedSnapshotRetentionPeriod()).append(","); if (getManualSnapshotRetentionPeriod() != null) sb.append("ManualSnapshotRetentionPeriod: ").append(getManualSnapshotRetentionPeriod()).append(","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(","); if (getClusterVersion() != null) sb.append("ClusterVersion: ").append(getClusterVersion()).append(","); if (getAllowVersionUpgrade() != null) sb.append("AllowVersionUpgrade: ").append(getAllowVersionUpgrade()).append(","); if (getHsmClientCertificateIdentifier() != null) sb.append("HsmClientCertificateIdentifier: ").append(getHsmClientCertificateIdentifier()).append(","); if (getHsmConfigurationIdentifier() != null) sb.append("HsmConfigurationIdentifier: ").append(getHsmConfigurationIdentifier()).append(","); if (getNewClusterIdentifier() != null) sb.append("NewClusterIdentifier: ").append(getNewClusterIdentifier()).append(","); if (getPubliclyAccessible() != null) sb.append("PubliclyAccessible: ").append(getPubliclyAccessible()).append(","); if (getElasticIp() != null) sb.append("ElasticIp: ").append(getElasticIp()).append(","); if (getEnhancedVpcRouting() != null) sb.append("EnhancedVpcRouting: ").append(getEnhancedVpcRouting()).append(","); if (getMaintenanceTrackName() != null) sb.append("MaintenanceTrackName: ").append(getMaintenanceTrackName()).append(","); if (getEncrypted() != null) sb.append("Encrypted: ").append(getEncrypted()).append(","); if (getKmsKeyId() != null) sb.append("KmsKeyId: ").append(getKmsKeyId()).append(","); if (getAvailabilityZoneRelocation() != null) sb.append("AvailabilityZoneRelocation: ").append(getAvailabilityZoneRelocation()).append(","); if (getAvailabilityZone() != null) sb.append("AvailabilityZone: ").append(getAvailabilityZone()).append(","); if (getPort() != null) sb.append("Port: ").append(getPort()).append(","); if (getManageMasterPassword() != null) sb.append("ManageMasterPassword: ").append(getManageMasterPassword()).append(","); if (getMasterPasswordSecretKmsKeyId() != null) sb.append("MasterPasswordSecretKmsKeyId: ").append(getMasterPasswordSecretKmsKeyId()).append(","); if (getIpAddressType() != null) sb.append("IpAddressType: ").append(getIpAddressType()).append(","); if (getMultiAZ() != null) sb.append("MultiAZ: ").append(getMultiAZ()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof 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.getManualSnapshotRetentionPeriod() == null ^ this.getManualSnapshotRetentionPeriod() == null) return false; if (other.getManualSnapshotRetentionPeriod() != null && other.getManualSnapshotRetentionPeriod().equals(this.getManualSnapshotRetentionPeriod()) == false) return false; if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == false) return false; if (other.getClusterVersion() == null ^ this.getClusterVersion() == null) return false; if (other.getClusterVersion() != null && other.getClusterVersion().equals(this.getClusterVersion()) == false) return false; if (other.getAllowVersionUpgrade() == null ^ this.getAllowVersionUpgrade() == null) return false; if (other.getAllowVersionUpgrade() != null && other.getAllowVersionUpgrade().equals(this.getAllowVersionUpgrade()) == false) return false; if (other.getHsmClientCertificateIdentifier() == null ^ this.getHsmClientCertificateIdentifier() == null) return false; if (other.getHsmClientCertificateIdentifier() != null && other.getHsmClientCertificateIdentifier().equals(this.getHsmClientCertificateIdentifier()) == false) return false; if (other.getHsmConfigurationIdentifier() == null ^ this.getHsmConfigurationIdentifier() == null) return false; if (other.getHsmConfigurationIdentifier() != null && other.getHsmConfigurationIdentifier().equals(this.getHsmConfigurationIdentifier()) == false) return false; if (other.getNewClusterIdentifier() == null ^ this.getNewClusterIdentifier() == null) return false; if (other.getNewClusterIdentifier() != null && other.getNewClusterIdentifier().equals(this.getNewClusterIdentifier()) == false) return false; if (other.getPubliclyAccessible() == null ^ this.getPubliclyAccessible() == null) return false; if (other.getPubliclyAccessible() != null && other.getPubliclyAccessible().equals(this.getPubliclyAccessible()) == false) return false; if (other.getElasticIp() == null ^ this.getElasticIp() == null) return false; if (other.getElasticIp() != null && other.getElasticIp().equals(this.getElasticIp()) == false) return false; if (other.getEnhancedVpcRouting() == null ^ this.getEnhancedVpcRouting() == null) return false; if (other.getEnhancedVpcRouting() != null && other.getEnhancedVpcRouting().equals(this.getEnhancedVpcRouting()) == false) return false; if (other.getMaintenanceTrackName() == null ^ this.getMaintenanceTrackName() == null) return false; if (other.getMaintenanceTrackName() != null && other.getMaintenanceTrackName().equals(this.getMaintenanceTrackName()) == false) return false; if (other.getEncrypted() == null ^ this.getEncrypted() == null) return false; if (other.getEncrypted() != null && other.getEncrypted().equals(this.getEncrypted()) == false) return false; if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null) return false; if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false) return false; if (other.getAvailabilityZoneRelocation() == null ^ this.getAvailabilityZoneRelocation() == null) return false; if (other.getAvailabilityZoneRelocation() != null && other.getAvailabilityZoneRelocation().equals(this.getAvailabilityZoneRelocation()) == false) return false; if (other.getAvailabilityZone() == null ^ this.getAvailabilityZone() == null) return false; if (other.getAvailabilityZone() != null && other.getAvailabilityZone().equals(this.getAvailabilityZone()) == false) return false; if (other.getPort() == null ^ this.getPort() == null) return false; if (other.getPort() != null && other.getPort().equals(this.getPort()) == false) return false; if (other.getManageMasterPassword() == null ^ this.getManageMasterPassword() == null) return false; if (other.getManageMasterPassword() != null && other.getManageMasterPassword().equals(this.getManageMasterPassword()) == false) return false; if (other.getMasterPasswordSecretKmsKeyId() == null ^ this.getMasterPasswordSecretKmsKeyId() == null) return false; if (other.getMasterPasswordSecretKmsKeyId() != null && other.getMasterPasswordSecretKmsKeyId().equals(this.getMasterPasswordSecretKmsKeyId()) == false) return false; if (other.getIpAddressType() == null ^ this.getIpAddressType() == null) return false; if (other.getIpAddressType() != null && other.getIpAddressType().equals(this.getIpAddressType()) == false) return false; if (other.getMultiAZ() == null ^ this.getMultiAZ() == null) return false; if (other.getMultiAZ() != null && other.getMultiAZ().equals(this.getMultiAZ()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getClusterIdentifier() == null) ? 0 : getClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((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 + ((getManualSnapshotRetentionPeriod() == null) ? 0 : getManualSnapshotRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getClusterVersion() == null) ? 0 : getClusterVersion().hashCode()); hashCode = prime * hashCode + ((getAllowVersionUpgrade() == null) ? 0 : getAllowVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getHsmClientCertificateIdentifier() == null) ? 0 : getHsmClientCertificateIdentifier().hashCode()); hashCode = prime * hashCode + ((getHsmConfigurationIdentifier() == null) ? 0 : getHsmConfigurationIdentifier().hashCode()); hashCode = prime * hashCode + ((getNewClusterIdentifier() == null) ? 0 : getNewClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode()); hashCode = prime * hashCode + ((getElasticIp() == null) ? 0 : getElasticIp().hashCode()); hashCode = prime * hashCode + ((getEnhancedVpcRouting() == null) ? 0 : getEnhancedVpcRouting().hashCode()); hashCode = prime * hashCode + ((getMaintenanceTrackName() == null) ? 0 : getMaintenanceTrackName().hashCode()); hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZoneRelocation() == null) ? 0 : getAvailabilityZoneRelocation().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone().hashCode()); hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode()); hashCode = prime * hashCode + ((getManageMasterPassword() == null) ? 0 : getManageMasterPassword().hashCode()); hashCode = prime * hashCode + ((getMasterPasswordSecretKmsKeyId() == null) ? 0 : getMasterPasswordSecretKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getIpAddressType() == null) ? 0 : getIpAddressType().hashCode()); hashCode = prime * hashCode + ((getMultiAZ() == null) ? 0 : getMultiAZ().hashCode()); return hashCode; } @Override public ModifyClusterRequest clone() { return (ModifyClusterRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy