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

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

import java.io.Serializable;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * Container for the parameters to the {@link com.amazonaws.services.redshift.AmazonRedshift#modifyCluster(ModifyClusterRequest) ModifyCluster operation}.
 * 

* Modifies the settings for a cluster. For example, you can add another * security or parameter group, update the preferred maintenance window, * or change the master user password. Resetting a cluster password or * modifying the security groups associated with a cluster do not need a * reboot. However, modifying parameter group requires a reboot for * parameters to take effect. For more information about managing * clusters, go to * Amazon Redshift Clusters * in the Amazon Redshift Management Guide *

*

* You can also change node type and the number of nodes to scale up or * down the cluster. When resizing a cluster, you must specify both the * number of nodes and the node type even if one of the parameters does * not change. If you specify the same number of nodes and node type that * are already configured for the cluster, an error is returned. *

* * @see com.amazonaws.services.redshift.AmazonRedshift#modifyCluster(ModifyClusterRequest) */ public class ModifyClusterRequest extends AmazonWebServiceRequest implements Serializable { /** * 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 also.

When you * submit your request to resize a cluster, Amazon Redshift sets access * permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use the DescribeResize to track the progress * of the resize request.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.8xlarge. */ private String nodeType; /** * The new number of nodes of the cluster. If you specify a new number of * nodes, you must also specify the node type parameter also.

When * you submit your request to resize a cluster, Amazon Redshift sets * access permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use DescribeResize to track the progress of * the resize request.

Valid Values: Integer greater than * 0. */ private Integer numberOfNodes; /** * A list of cluster security groups to be authorized on this cluster. * This change is asynchronously applied as soon as possible.

Security * groups currently associated with the cluster and not in the list of * groups to apply, will be revoked from the cluster.

Constraints: *

  • Must be 1 to 255 alphanumeric characters or hyphens
  • *
  • First character must be a letter
  • Cannot end with a hyphen * or contain two consecutive hyphens
*/ private com.amazonaws.internal.ListWithAutoConstructFlag clusterSecurityGroups; /** * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. */ private com.amazonaws.internal.ListWithAutoConstructFlag vpcSecurityGroupIds; /** * The new password for the cluster master user. This change is * asynchronously applied as soon as possible. Between the time of the * request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response. * Operations never return the password, so this operation * provides a way to regain access to the master user account for a * cluster if the password is lost.

Default: Uses existing * setting.

Constraints:

  • Must be between 8 and 64 characters * in length.
  • Must contain at least one uppercase letter.
  • *
  • Must contain at least one lowercase letter.
  • Must contain * one number.
  • Can be any printable ASCII character (ASCII code * 33 to 126) except ' (single quote), " (double quote), \, /, @, or * space.
*/ private String masterUserPassword; /** * The name of the cluster parameter group to apply to this cluster. This * change is applied only after the cluster is rebooted. To reboot a * cluster use RebootCluster.

Default: Uses existing setting. *

Constraints: The cluster parameter group must be in the same * parameter group family that matches the cluster version. */ private String clusterParameterGroupName; /** * The number of days that automated snapshots are retained. If the value * is 0, automated snapshots are disabled. Even if automated snapshots * are disabled, you can still create manual snapshots when you want with * CreateClusterSnapshot.

If you decrease the automated * snapshot retention period from its current value, existing automated * snapshots which fall outside of the new retention period will be * immediately deleted.

Default: Uses existing setting. *

Constraints: Must be a value from 0 to 35. */ private Integer automatedSnapshotRetentionPeriod; /** * The weekly time range (in UTC) during which system maintenance can * occur, if necessary. If system maintenance is necessary during the * window, it may result in an outage.

This maintenance window change * is made immediately. If the new maintenance window indicates the * current time, there must be at least 120 minutes between the current * time and end of the window in order to ensure that pending changes are * applied.

Default: Uses existing setting.

Format: * ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00. *

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: * Must be at least 30 minutes. */ private String preferredMaintenanceWindow; /** * The new version number of the Amazon Redshift engine to upgrade to. *

For major version upgrades, if a non-default cluster parameter * group is currently in use, a new cluster parameter group in the * cluster parameter group family for the new version must be specified. * The new cluster parameter group can be the default for that cluster * parameter group family. For more information about managing parameter * groups, go to Amazon * Redshift Parameter Groups in the Amazon Redshift Management * Guide.

Example: 1.0 */ private String clusterVersion; /** * If true, 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 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 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 */ public void setClusterIdentifier(String clusterIdentifier) { this.clusterIdentifier = clusterIdentifier; } /** * The unique identifier of the cluster to be modified.

Example: * examplecluster *

* Returns a reference to this object so that method calls can be chained together. * * @param clusterIdentifier The unique identifier of the cluster to be modified.

Example: * examplecluster * * @return A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withClusterIdentifier(String clusterIdentifier) { this.clusterIdentifier = 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 * * @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 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 */ 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 *

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withClusterType(String clusterType) { this.clusterType = 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 also.

When you * submit your request to resize a cluster, Amazon Redshift sets access * permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use the DescribeResize to track the progress * of the resize request.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.8xlarge. * * @return The new node type of the cluster. If you specify a new node type, you * must also specify the number of nodes parameter also.

When you * submit your request to resize a cluster, Amazon Redshift sets access * permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use the DescribeResize to track the progress * of the resize request.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.8xlarge. */ public String getNodeType() { return nodeType; } /** * The new node type of the cluster. If you specify a new node type, you * must also specify the number of nodes parameter also.

When you * submit your request to resize a cluster, Amazon Redshift sets access * permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use the DescribeResize to track the progress * of the resize request.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.8xlarge. * * @param nodeType The new node type of the cluster. If you specify a new node type, you * must also specify the number of nodes parameter also.

When you * submit your request to resize a cluster, Amazon Redshift sets access * permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use the DescribeResize to track the progress * of the resize request.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.8xlarge. */ public void setNodeType(String nodeType) { this.nodeType = nodeType; } /** * The new node type of the cluster. If you specify a new node type, you * must also specify the number of nodes parameter also.

When you * submit your request to resize a cluster, Amazon Redshift sets access * permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use the DescribeResize to track the progress * of the resize request.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.8xlarge. *

* Returns a reference to this object so that method calls can be chained together. * * @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 also.

When you * submit your request to resize a cluster, Amazon Redshift sets access * permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use the DescribeResize to track the progress * of the resize request.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.8xlarge. * * @return A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withNodeType(String nodeType) { this.nodeType = 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 also.

When * you submit your request to resize a cluster, Amazon Redshift sets * access permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use DescribeResize to track the progress of * the resize request.

Valid Values: Integer greater than * 0. * * @return The new number of nodes of the cluster. If you specify a new number of * nodes, you must also specify the node type parameter also.

When * you submit your request to resize a cluster, Amazon Redshift sets * access permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use DescribeResize to track the progress of * the resize request.

Valid Values: Integer greater than * 0. */ public Integer getNumberOfNodes() { return 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 also.

When * you submit your request to resize a cluster, Amazon Redshift sets * access permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use DescribeResize to track the progress of * the resize request.

Valid Values: Integer greater than * 0. * * @param numberOfNodes The new number of nodes of the cluster. If you specify a new number of * nodes, you must also specify the node type parameter also.

When * you submit your request to resize a cluster, Amazon Redshift sets * access permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use DescribeResize to track the progress of * the resize request.

Valid Values: Integer greater than * 0. */ public void setNumberOfNodes(Integer numberOfNodes) { this.numberOfNodes = numberOfNodes; } /** * The new number of nodes of the cluster. If you specify a new number of * nodes, you must also specify the node type parameter also.

When * you submit your request to resize a cluster, Amazon Redshift sets * access permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use DescribeResize to track the progress of * the resize request.

Valid Values: Integer greater than * 0. *

* Returns a reference to this object so that method calls can be chained together. * * @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 also.

When * you submit your request to resize a cluster, Amazon Redshift sets * access permissions for the cluster to read-only. After Amazon Redshift * provisions a new cluster according to your resize requirements, there * will be a temporary outage while the old cluster is deleted and your * connection is switched to the new cluster. When the new connection is * complete, the original access permissions for the cluster are * restored. You can use DescribeResize to track the progress of * the resize request.

Valid Values: Integer greater than * 0. * * @return A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withNumberOfNodes(Integer numberOfNodes) { this.numberOfNodes = 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.ListWithAutoConstructFlag(); clusterSecurityGroups.setAutoConstruct(true); } 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; } com.amazonaws.internal.ListWithAutoConstructFlag clusterSecurityGroupsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(clusterSecurityGroups.size()); clusterSecurityGroupsCopy.addAll(clusterSecurityGroups); this.clusterSecurityGroups = clusterSecurityGroupsCopy; } /** * 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
*

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withClusterSecurityGroups(String... clusterSecurityGroups) { if (getClusterSecurityGroups() == null) setClusterSecurityGroups(new java.util.ArrayList(clusterSecurityGroups.length)); for (String value : clusterSecurityGroups) { getClusterSecurityGroups().add(value); } 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
*

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withClusterSecurityGroups(java.util.Collection clusterSecurityGroups) { if (clusterSecurityGroups == null) { this.clusterSecurityGroups = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag clusterSecurityGroupsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(clusterSecurityGroups.size()); clusterSecurityGroupsCopy.addAll(clusterSecurityGroups); this.clusterSecurityGroups = clusterSecurityGroupsCopy; } return this; } /** * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. * * @return A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. */ public java.util.List getVpcSecurityGroupIds() { if (vpcSecurityGroupIds == null) { vpcSecurityGroupIds = new com.amazonaws.internal.ListWithAutoConstructFlag(); vpcSecurityGroupIds.setAutoConstruct(true); } return vpcSecurityGroupIds; } /** * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. * * @param vpcSecurityGroupIds A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. */ public void setVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) { if (vpcSecurityGroupIds == null) { this.vpcSecurityGroupIds = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag vpcSecurityGroupIdsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(vpcSecurityGroupIds.size()); vpcSecurityGroupIdsCopy.addAll(vpcSecurityGroupIds); this.vpcSecurityGroupIds = vpcSecurityGroupIdsCopy; } /** * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. *

* Returns a reference to this object so that method calls can be chained together. * * @param vpcSecurityGroupIds A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. * * @return A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withVpcSecurityGroupIds(String... vpcSecurityGroupIds) { if (getVpcSecurityGroupIds() == null) setVpcSecurityGroupIds(new java.util.ArrayList(vpcSecurityGroupIds.length)); for (String value : vpcSecurityGroupIds) { getVpcSecurityGroupIds().add(value); } return this; } /** * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. *

* Returns a reference to this object so that method calls can be chained together. * * @param vpcSecurityGroupIds A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. * * @return A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) { if (vpcSecurityGroupIds == null) { this.vpcSecurityGroupIds = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag vpcSecurityGroupIdsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(vpcSecurityGroupIds.size()); vpcSecurityGroupIdsCopy.addAll(vpcSecurityGroupIds); this.vpcSecurityGroupIds = vpcSecurityGroupIdsCopy; } return this; } /** * The new password for the cluster master user. This change is * asynchronously applied as soon as possible. Between the time of the * request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response. * Operations never return the password, so this operation * provides a way to regain access to the master user account for a * cluster if the password is lost.

Default: Uses existing * setting.

Constraints:

  • Must be between 8 and 64 characters * in length.
  • Must contain at least one uppercase letter.
  • *
  • Must contain at least one lowercase letter.
  • Must contain * one number.
  • Can be any printable ASCII character (ASCII code * 33 to 126) except ' (single quote), " (double quote), \, /, @, or * space.
* * @return The new password for the cluster master user. This change is * asynchronously applied as soon as possible. Between the time of the * request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response. * Operations never return the password, so this operation * provides a way to regain access to the master user account for a * cluster if the password is lost.

Default: Uses existing * setting.

Constraints:

  • Must be between 8 and 64 characters * in length.
  • Must contain at least one uppercase letter.
  • *
  • Must contain at least one lowercase letter.
  • Must contain * one number.
  • Can be any printable ASCII character (ASCII code * 33 to 126) except ' (single quote), " (double quote), \, /, @, or * space.
*/ public String getMasterUserPassword() { return masterUserPassword; } /** * The new password for the cluster master user. This change is * asynchronously applied as soon as possible. Between the time of the * request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response. * Operations never return the password, so this operation * provides a way to regain access to the master user account for a * cluster if the password is lost.

Default: Uses existing * setting.

Constraints:

  • Must be between 8 and 64 characters * in length.
  • Must contain at least one uppercase letter.
  • *
  • Must contain at least one lowercase letter.
  • Must contain * one number.
  • Can be any printable ASCII character (ASCII code * 33 to 126) except ' (single quote), " (double quote), \, /, @, or * space.
* * @param masterUserPassword The new password for the cluster master user. This change is * asynchronously applied as soon as possible. Between the time of the * request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response. * Operations never return the password, so this operation * provides a way to regain access to the master user account for a * cluster if the password is lost.

Default: Uses existing * setting.

Constraints:

  • Must be between 8 and 64 characters * in length.
  • Must contain at least one uppercase letter.
  • *
  • Must contain at least one lowercase letter.
  • Must contain * one number.
  • Can be any printable ASCII character (ASCII code * 33 to 126) except ' (single quote), " (double quote), \, /, @, or * space.
*/ public void setMasterUserPassword(String masterUserPassword) { this.masterUserPassword = masterUserPassword; } /** * The new password for the cluster master user. This change is * asynchronously applied as soon as possible. Between the time of the * request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response. * Operations never return the password, so this operation * provides a way to regain access to the master user account for a * cluster if the password is lost.

Default: Uses existing * setting.

Constraints:

  • Must be between 8 and 64 characters * in length.
  • Must contain at least one uppercase letter.
  • *
  • Must contain at least one lowercase letter.
  • Must contain * one number.
  • Can be any printable ASCII character (ASCII code * 33 to 126) except ' (single quote), " (double quote), \, /, @, or * space.
*

* Returns a reference to this object so that method calls can be chained together. * * @param masterUserPassword The new password for the cluster master user. This change is * asynchronously applied as soon as possible. Between the time of the * request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response. * Operations never return the password, so this operation * provides a way to regain access to the master user account for a * cluster if the password is lost.

Default: Uses existing * setting.

Constraints:

  • Must be between 8 and 64 characters * in length.
  • Must contain at least one uppercase letter.
  • *
  • Must contain at least one lowercase letter.
  • Must contain * one number.
  • Can be any printable ASCII character (ASCII code * 33 to 126) except ' (single quote), " (double quote), \, /, @, or * space.
* * @return A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withMasterUserPassword(String masterUserPassword) { this.masterUserPassword = 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. * * @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 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. */ 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. *

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withClusterParameterGroupName(String clusterParameterGroupName) { this.clusterParameterGroupName = 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 which fall outside of the new retention period will be * immediately deleted.

Default: Uses existing setting. *

Constraints: Must be a value from 0 to 35. * * @return The number of days that automated snapshots are retained. If the value * is 0, automated snapshots are disabled. Even if automated snapshots * are disabled, you can still create manual snapshots when you want with * CreateClusterSnapshot.

If you decrease the automated * snapshot retention period from its current value, existing automated * snapshots which fall outside of the new retention period will be * immediately deleted.

Default: Uses existing setting. *

Constraints: Must be a value from 0 to 35. */ public Integer getAutomatedSnapshotRetentionPeriod() { return 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 which fall outside of the new retention period will be * immediately deleted.

Default: Uses existing setting. *

Constraints: Must be a value from 0 to 35. * * @param automatedSnapshotRetentionPeriod The number of days that automated snapshots are retained. If the value * is 0, automated snapshots are disabled. Even if automated snapshots * are disabled, you can still create manual snapshots when you want with * CreateClusterSnapshot.

If you decrease the automated * snapshot retention period from its current value, existing automated * snapshots which fall outside of the new retention period will be * immediately deleted.

Default: Uses existing setting. *

Constraints: Must be a value from 0 to 35. */ public void setAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) { this.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod; } /** * The number of days that automated snapshots are retained. If the value * is 0, automated snapshots are disabled. Even if automated snapshots * are disabled, you can still create manual snapshots when you want with * CreateClusterSnapshot.

If you decrease the automated * snapshot retention period from its current value, existing automated * snapshots which fall outside of the new retention period will be * immediately deleted.

Default: Uses existing setting. *

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

* Returns a reference to this object so that method calls can be chained together. * * @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 which fall outside of the new retention period will be * immediately deleted.

Default: Uses existing setting. *

Constraints: Must be a value from 0 to 35. * * @return A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) { this.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod; return this; } /** * The weekly time range (in UTC) during which system maintenance can * occur, if necessary. If system maintenance is necessary during the * window, it may result in an outage.

This maintenance window change * is made immediately. If the new maintenance window indicates the * current time, there must be at least 120 minutes between the current * time and end of the window in order to ensure that pending changes are * applied.

Default: Uses existing setting.

Format: * ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00. *

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: * Must be at least 30 minutes. * * @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 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. */ 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. *

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = 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 managing parameter * groups, go to Amazon * Redshift Parameter Groups in the Amazon Redshift 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 managing parameter * groups, go to Amazon * Redshift Parameter Groups in the Amazon Redshift Management * Guide.

Example: 1.0 */ public String getClusterVersion() { return 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 managing parameter * groups, go to Amazon * Redshift Parameter Groups in the Amazon Redshift 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 managing parameter * groups, go to Amazon * Redshift Parameter Groups in the Amazon Redshift 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 managing parameter * groups, go to Amazon * Redshift Parameter Groups in the Amazon Redshift Management * Guide.

Example: 1.0 *

* Returns a reference to this object so that method calls can be chained together. * * @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 managing parameter * groups, go to Amazon * Redshift Parameter Groups in the Amazon Redshift Management * Guide.

Example: 1.0 * * @return A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withClusterVersion(String clusterVersion) { this.clusterVersion = clusterVersion; return this; } /** * If true, upgrades will be applied automatically to the * cluster during the maintenance window.

Default: false * * @return If true, upgrades will be applied automatically to the * cluster during the maintenance window.

Default: false */ public Boolean isAllowVersionUpgrade() { return allowVersionUpgrade; } /** * If true, upgrades will be applied automatically to the * cluster during the maintenance window.

Default: false * * @param allowVersionUpgrade If true, upgrades will be applied automatically to the * cluster during the maintenance window.

Default: false */ public void setAllowVersionUpgrade(Boolean allowVersionUpgrade) { this.allowVersionUpgrade = allowVersionUpgrade; } /** * If true, upgrades will be applied automatically to the * cluster during the maintenance window.

Default: false *

* Returns a reference to this object so that method calls can be chained together. * * @param allowVersionUpgrade If true, upgrades will be applied automatically to the * cluster during the maintenance window.

Default: false * * @return A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withAllowVersionUpgrade(Boolean allowVersionUpgrade) { this.allowVersionUpgrade = allowVersionUpgrade; return this; } /** * If true, upgrades will be applied automatically to the * cluster during the maintenance window.

Default: false * * @return If true, upgrades will be applied automatically to the * cluster during the maintenance window.

Default: false */ public Boolean getAllowVersionUpgrade() { return allowVersionUpgrade; } /** * 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 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. */ 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. *

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withHsmClientCertificateIdentifier(String hsmClientCertificateIdentifier) { this.hsmClientCertificateIdentifier = 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. * * @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 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. */ 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. *

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public ModifyClusterRequest withHsmConfigurationIdentifier(String hsmConfigurationIdentifier) { this.hsmConfigurationIdentifier = hsmConfigurationIdentifier; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getClusterIdentifier() != null) sb.append("ClusterIdentifier: " + getClusterIdentifier() + ","); if (getClusterType() != null) sb.append("ClusterType: " + getClusterType() + ","); if (getNodeType() != null) sb.append("NodeType: " + getNodeType() + ","); if (getNumberOfNodes() != null) sb.append("NumberOfNodes: " + getNumberOfNodes() + ","); if (getClusterSecurityGroups() != null) sb.append("ClusterSecurityGroups: " + getClusterSecurityGroups() + ","); if (getVpcSecurityGroupIds() != null) sb.append("VpcSecurityGroupIds: " + getVpcSecurityGroupIds() + ","); if (getMasterUserPassword() != null) sb.append("MasterUserPassword: " + getMasterUserPassword() + ","); if (getClusterParameterGroupName() != null) sb.append("ClusterParameterGroupName: " + getClusterParameterGroupName() + ","); if (getAutomatedSnapshotRetentionPeriod() != null) sb.append("AutomatedSnapshotRetentionPeriod: " + getAutomatedSnapshotRetentionPeriod() + ","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: " + getPreferredMaintenanceWindow() + ","); if (getClusterVersion() != null) sb.append("ClusterVersion: " + getClusterVersion() + ","); if (isAllowVersionUpgrade() != null) sb.append("AllowVersionUpgrade: " + isAllowVersionUpgrade() + ","); if (getHsmClientCertificateIdentifier() != null) sb.append("HsmClientCertificateIdentifier: " + getHsmClientCertificateIdentifier() + ","); if (getHsmConfigurationIdentifier() != null) sb.append("HsmConfigurationIdentifier: " + getHsmConfigurationIdentifier() ); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getClusterIdentifier() == null) ? 0 : getClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getClusterType() == null) ? 0 : getClusterType().hashCode()); hashCode = prime * hashCode + ((getNodeType() == null) ? 0 : getNodeType().hashCode()); hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes().hashCode()); hashCode = prime * hashCode + ((getClusterSecurityGroups() == null) ? 0 : getClusterSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getVpcSecurityGroupIds() == null) ? 0 : getVpcSecurityGroupIds().hashCode()); hashCode = prime * hashCode + ((getMasterUserPassword() == null) ? 0 : getMasterUserPassword().hashCode()); hashCode = prime * hashCode + ((getClusterParameterGroupName() == null) ? 0 : getClusterParameterGroupName().hashCode()); hashCode = prime * hashCode + ((getAutomatedSnapshotRetentionPeriod() == null) ? 0 : getAutomatedSnapshotRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getClusterVersion() == null) ? 0 : getClusterVersion().hashCode()); hashCode = prime * hashCode + ((isAllowVersionUpgrade() == null) ? 0 : isAllowVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getHsmClientCertificateIdentifier() == null) ? 0 : getHsmClientCertificateIdentifier().hashCode()); hashCode = prime * hashCode + ((getHsmConfigurationIdentifier() == null) ? 0 : getHsmConfigurationIdentifier().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ModifyClusterRequest == false) return false; ModifyClusterRequest other = (ModifyClusterRequest)obj; if (other.getClusterIdentifier() == null ^ this.getClusterIdentifier() == null) return false; if (other.getClusterIdentifier() != null && other.getClusterIdentifier().equals(this.getClusterIdentifier()) == false) return false; if (other.getClusterType() == null ^ this.getClusterType() == null) return false; if (other.getClusterType() != null && other.getClusterType().equals(this.getClusterType()) == false) return false; if (other.getNodeType() == null ^ this.getNodeType() == null) return false; if (other.getNodeType() != null && other.getNodeType().equals(this.getNodeType()) == false) return false; if (other.getNumberOfNodes() == null ^ this.getNumberOfNodes() == null) return false; if (other.getNumberOfNodes() != null && other.getNumberOfNodes().equals(this.getNumberOfNodes()) == false) return false; if (other.getClusterSecurityGroups() == null ^ this.getClusterSecurityGroups() == null) return false; if (other.getClusterSecurityGroups() != null && other.getClusterSecurityGroups().equals(this.getClusterSecurityGroups()) == false) return false; if (other.getVpcSecurityGroupIds() == null ^ this.getVpcSecurityGroupIds() == null) return false; if (other.getVpcSecurityGroupIds() != null && other.getVpcSecurityGroupIds().equals(this.getVpcSecurityGroupIds()) == false) return false; if (other.getMasterUserPassword() == null ^ this.getMasterUserPassword() == null) return false; if (other.getMasterUserPassword() != null && other.getMasterUserPassword().equals(this.getMasterUserPassword()) == false) return false; if (other.getClusterParameterGroupName() == null ^ this.getClusterParameterGroupName() == null) return false; if (other.getClusterParameterGroupName() != null && other.getClusterParameterGroupName().equals(this.getClusterParameterGroupName()) == false) return false; if (other.getAutomatedSnapshotRetentionPeriod() == null ^ this.getAutomatedSnapshotRetentionPeriod() == null) return false; if (other.getAutomatedSnapshotRetentionPeriod() != null && other.getAutomatedSnapshotRetentionPeriod().equals(this.getAutomatedSnapshotRetentionPeriod()) == false) return false; if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == false) return false; if (other.getClusterVersion() == null ^ this.getClusterVersion() == null) return false; if (other.getClusterVersion() != null && other.getClusterVersion().equals(this.getClusterVersion()) == false) return false; if (other.isAllowVersionUpgrade() == null ^ this.isAllowVersionUpgrade() == null) return false; if (other.isAllowVersionUpgrade() != null && other.isAllowVersionUpgrade().equals(this.isAllowVersionUpgrade()) == 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; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy